summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_search.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/test_search.vim')
-rw-r--r--src/testdir/test_search.vim80
1 files changed, 50 insertions, 30 deletions
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 69d007354e..9567aa468b 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1457,42 +1457,62 @@ func Test_search_special()
endfunc
" Test for command failures when the last search pattern is not set.
+" Need to run this in a new vim instance where last search pattern is not set.
func Test_search_with_no_last_pat()
- call test_clear_search_pat()
- call assert_fails("normal i\<C-R>/\e", 'E35:')
- call assert_fails("exe '/'", 'E35:')
- call assert_fails("exe '?'", 'E35:')
- call assert_fails("/", 'E35:')
- call assert_fails("?", 'E35:')
- call assert_fails("normal n", 'E35:')
- call assert_fails("normal N", 'E35:')
- call assert_fails("normal gn", 'E35:')
- call assert_fails("normal gN", 'E35:')
- call assert_fails("normal cgn", 'E35:')
- call assert_fails("normal cgN", 'E35:')
- let p = []
- let p = @/
- call assert_equal('', p)
- call assert_fails("normal :\<C-R>/", 'E35:')
- call assert_fails("//p", 'E35:')
- call assert_fails(";//p", 'E35:')
- call assert_fails("??p", 'E35:')
- call assert_fails(";??p", 'E35:')
- call assert_fails('g//p', 'E476:')
- call assert_fails('v//p', 'E476:')
+ let lines =<< trim [SCRIPT]
+ call assert_fails("normal i\<C-R>/\e", 'E35:')
+ call assert_fails("exe '/'", 'E35:')
+ call assert_fails("exe '?'", 'E35:')
+ call assert_fails("/", 'E35:')
+ call assert_fails("?", 'E35:')
+ call assert_fails("normal n", 'E35:')
+ call assert_fails("normal N", 'E35:')
+ call assert_fails("normal gn", 'E35:')
+ call assert_fails("normal gN", 'E35:')
+ call assert_fails("normal cgn", 'E35:')
+ call assert_fails("normal cgN", 'E35:')
+ let p = []
+ let p = @/
+ call assert_equal('', p)
+ call assert_fails("normal :\<C-R>/", 'E35:')
+ call assert_fails("//p", 'E35:')
+ call assert_fails(";//p", 'E35:')
+ call assert_fails("??p", 'E35:')
+ call assert_fails(";??p", 'E35:')
+ call assert_fails('g//p', 'E476:')
+ call assert_fails('v//p', 'E476:')
+ call writefile(v:errors, 'Xresult')
+ qall!
+ [SCRIPT]
+ call writefile(lines, 'Xscript')
+
+ if RunVim([], [], '--clean -S Xscript')
+ call assert_equal([], readfile('Xresult'))
+ endif
+ call delete('Xscript')
+ call delete('Xresult')
endfunc
" Test for using tilde (~) atom in search. This should use the last used
" substitute pattern
func Test_search_tilde_pat()
- call test_clear_search_pat()
- set regexpengine=1
- call assert_fails('exe "normal /~\<CR>"', 'E33:')
- call assert_fails('exe "normal ?~\<CR>"', 'E33:')
- set regexpengine=2
- call assert_fails('exe "normal /~\<CR>"', 'E383:')
- call assert_fails('exe "normal ?~\<CR>"', 'E383:')
- set regexpengine&
+ let lines =<< trim [SCRIPT]
+ set regexpengine=1
+ call assert_fails('exe "normal /~\<CR>"', 'E33:')
+ call assert_fails('exe "normal ?~\<CR>"', 'E33:')
+ set regexpengine=2
+ call assert_fails('exe "normal /~\<CR>"', 'E383:')
+ call assert_fails('exe "normal ?~\<CR>"', 'E383:')
+ set regexpengine&
+ call writefile(v:errors, 'Xresult')
+ qall!
+ [SCRIPT]
+ call writefile(lines, 'Xscript')
+ if RunVim([], [], '--clean -S Xscript')
+ call assert_equal([], readfile('Xresult'))
+ endif
+ call delete('Xscript')
+ call delete('Xresult')
endfunc
" vim: shiftwidth=2 sts=2 expandtab