]> granicus.if.org Git - vim/commitdiff
patch 8.1.1214: old style tests v8.1.1214
authorBram Moolenaar <Bram@vim.org>
Sat, 27 Apr 2019 16:00:34 +0000 (18:00 +0200)
committerBram Moolenaar <Bram@vim.org>
Sat, 27 Apr 2019 16:00:34 +0000 (18:00 +0200)
Problem:    Old style tests.
Solution:   Move tests from test14 to new style test files. (Yegappan
            Lakshmanan, closes #4308)

src/Makefile
src/testdir/Make_all.mak
src/testdir/Make_vms.mms
src/testdir/test14.in [deleted file]
src/testdir/test14.ok [deleted file]
src/testdir/test_edit.vim
src/testdir/test_normal.vim
src/testdir/test_search.vim
src/testdir/test_substitute.vim
src/testdir/test_visual.vim
src/version.c

index 0e719ea12f46fe77211c3fe12c5b2f163f09489f..3692e18d63f6436fe4bb8b29dcf3034f62d4acdd 100644 (file)
@@ -2175,7 +2175,7 @@ test_libvterm:
 # These do not depend on the executable, compile it when needed.
 test1 \
        test_eval \
-       test3 test14 test17 \
+       test3 test17 \
        test29 test30 test37 test39 \
        test42 test44 test48 test49 \
        test52 test59 \
index 276bbeec527a21b635f5741af3e6e8492b16fc44..91db070fd3a7c5755fdfbf79a662db9c497dca88 100644 (file)
@@ -14,7 +14,6 @@ SCRIPTS_FIRST = \
 # Tests that run on all systems.
 SCRIPTS_ALL = \
        test3.out \
-       test14.out \
        test29.out \
        test37.out \
        test39.out \
index 4155923d5e4bd1e77d6498e8001a1b4eea1ac830..8a92b4af288852b42f8e49c3b51eeba2435157a5 100644 (file)
@@ -74,7 +74,6 @@ VIMPROG = <->vim.exe
 .SUFFIXES : .out .in
 
 SCRIPT = test1.out test3.out \
-       test14.out \
        test29.out \
        test30.out test37.out test39.out \
        test42.out test44.out test48.out test49.out \
diff --git a/src/testdir/test14.in b/src/testdir/test14.in
deleted file mode 100644 (file)
index 3fc39fe..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-Tests for "vaBiB", end could be wrong.
-Also test ":s/pat/sub/" with different ~s in sub.
-Also test for ^Vxff and ^Vo123 in Insert mode.
-Also test "[m", "]m", "[M" and "]M"
-Also test search()
-
-STARTTEST
-:so small.vim
-:set belloff=all
-/Start cursor here
-vaBiBD:?Bug?,/Piece/-2w! test.out
-/^- Bug
-:s/u/~u~/
-:s/i/~u~/
-:s/o/~~~/
-:.w >>test.out
-:if has("ebcdic")
-: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"
-:else
-: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"
-:endif
-:exe "normal " . tt
-:unlet tt
-:.w >>test.out
-:set vb
-/^Piece
-2]maA\e:.w >>test.out
-j]maB\e:.w >>test.out
-]maC\e:.w >>test.out
-[maD\e:.w >>test.out
-k2[maE\e:.w >>test.out
-3[maF\e:.w >>test.out
-]MaG\e:.w >>test.out
-j2]MaH\e:.w >>test.out
-]M]MaI\e:.w >>test.out
-2[MaJ\e:.w >>test.out
-k[MaK\e:.w >>test.out
-3[MaL\e:.w >>test.out
-:"
-/^foobar
-:let startline = line('.')
-:call search('foobar', 'c')
-:call append(line('$'), line('.') - startline)
-j:call search('^$', 'c')
-:call append(line('$'), line('.') - startline)
-:call search('^$', 'bc')
-:call append(line('$'), line('.') - startline)
-/two
-:call search('.', 'c')
-:call append(line('$'), getline('.')[col('.') - 1:])
-:"
-/^substitute
-:s/foo/bar/
-:$put =@/
-/^substitute
-:keeppatterns s/asdf/xyz/
-:$put =@/
-/^substitute
-Y:$put =@0
-/bar /e
-:$put =@0
--:keeppatterns /xyz
-0dn:/^search()/,$w >>test.out
-:qa!
-ENDTEST
-
-- Bug in "vPPPP" on this text (Webb):
-       {
-               cmd;
-               {
-                       cmd;    /* <-- Start cursor here */
-                       {
-                       }
-               }
-       }
-
-Piece of Java
-{
-       tt m1 {
-               t1;
-       } e1
-
-       tt m2 {
-               t2;
-       } e2
-
-       tt m3 {
-               if (x)
-               {
-                       t3;
-               }
-       } e3
-}
-
-foobar
-
-substitute foo asdf
-
-one two
-search()
diff --git a/src/testdir/test14.ok b/src/testdir/test14.ok
deleted file mode 100644 (file)
index 0aa2db3..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-- Bug in "vPPPP" on this text (Webb):
-       {
-       }
-- Bug uuun "vPPPP" uuuuuuuuun this text (Webb):
-ABC !a\ fg\a8
-       tt m1 {A
-       tt m2 {B
-       tt m3 {C
-       tt m3 {DC
-       tt m1 {EA
-{F
-       }G e1
-       }H e3
-}I
-       }JH e3
-       }K e2
-{LF
-search()
-0
-1
-1
-two
-foo
-^substitute
-substitute bar xyz
-xyz
index b35497fc2aa586997d5b58769a4f4d5c017502e9..381e09cb48201455ee618cfa907b0cba69ac7abc 100644 (file)
@@ -1447,3 +1447,19 @@ func Test_leave_insert_autocmd()
   au! InsertLeave
   iunmap x
 endfunc
+
+" Test for inserting characters using CTRL-V followed by a number.
+func Test_edit_special_chars()
+  new
+
+  if has("ebcdic")
+    let t = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"
+  else
+    let t = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"
+  endif
+
+  exe "normal " . t
+  call assert_equal("ABC !a\<C-O>g\<C-G>8", getline(2))
+
+  close!
+endfunc
index 19e68116c1898893bf8219a42b29b663c5155145..39c66f8fec19cdee7c3d7acd00cacb483eae12e3 100644 (file)
@@ -1358,11 +1358,21 @@ func Test_normal23_K()
     bw!
     return
   endif
-  set keywordprg=man\ --pager=cat
+
+  if has('mac')
+    " In MacOS, the option for specifying a pager is different
+    set keywordprg=man\ -P\ cat
+  else
+    set keywordprg=man\ --pager=cat
+  endif
   " Test for using man
   2
   let a = execute('unsilent norm! K')
-  call assert_match("man --pager=cat 'man'", a)
+  if has('mac')
+    call assert_match("man -P cat 'man'", a)
+  else
+    call assert_match("man --pager=cat 'man'", a)
+  endif
 
   " clean up
   let &keywordprg = k
@@ -2559,3 +2569,81 @@ func Test_message_when_using_ctrl_c()
 
   bwipe!
 endfunc
+
+" Test for '[m', ']m', '[M' and ']M'
+" Jumping to beginning and end of methods in Java-like languages
+func Test_java_motion()
+  new
+  a
+Piece of Java
+{
+       tt m1 {
+               t1;
+       } e1
+
+       tt m2 {
+               t2;
+       } e2
+
+       tt m3 {
+               if (x)
+               {
+                       t3;
+               }
+       } e3
+}
+.
+
+  normal gg
+
+  normal 2]maA
+  call assert_equal("\ttt m1 {A", getline('.'))
+  call assert_equal([3, 9, 16], [line('.'), col('.'), virtcol('.')])
+
+  normal j]maB
+  call assert_equal("\ttt m2 {B", getline('.'))
+  call assert_equal([7, 9, 16], [line('.'), col('.'), virtcol('.')])
+
+  normal ]maC
+  call assert_equal("\ttt m3 {C", getline('.'))
+  call assert_equal([11, 9, 16], [line('.'), col('.'), virtcol('.')])
+
+  normal [maD
+  call assert_equal("\ttt m3 {DC", getline('.'))
+  call assert_equal([11, 9, 16], [line('.'), col('.'), virtcol('.')])
+
+  normal k2[maE
+  call assert_equal("\ttt m1 {EA", getline('.'))
+  call assert_equal([3, 9, 16], [line('.'), col('.'), virtcol('.')])
+
+  normal 3[maF
+  call assert_equal("{F", getline('.'))
+  call assert_equal([2, 2, 2], [line('.'), col('.'), virtcol('.')])
+
+  normal ]MaG
+  call assert_equal("\t}G e1", getline('.'))
+  call assert_equal([5, 3, 10], [line('.'), col('.'), virtcol('.')])
+
+  normal j2]MaH
+  call assert_equal("\t}H e3", getline('.'))
+  call assert_equal([16, 3, 10], [line('.'), col('.'), virtcol('.')])
+
+  normal ]M]M
+  normal aI
+  call assert_equal("}I", getline('.'))
+  call assert_equal([17, 2, 2], [line('.'), col('.'), virtcol('.')])
+
+  normal 2[MaJ
+  call assert_equal("\t}JH e3", getline('.'))
+  call assert_equal([16, 3, 10], [line('.'), col('.'), virtcol('.')])
+
+  normal k[MaK
+  call assert_equal("\t}K e2", getline('.'))
+  call assert_equal([9, 3, 10], [line('.'), col('.'), virtcol('.')])
+
+  normal 3[MaL
+  call assert_equal("{LF", getline('.'))
+  call assert_equal([2, 2, 2], [line('.'), col('.'), virtcol('.')])
+
+  close!
+endfunc
index 525d0d200d314ce18006acc3a94e67aacdd9d265..d59f39dc7eed86ac0ec389561c1049f0e7ca4d11 100644 (file)
@@ -1265,3 +1265,27 @@ func Test_incsearch_add_char_under_cursor()
   set incsearch&
   bwipe!
 endfunc
+
+" Test for the search() function with match at the cursor position
+func Test_search_match_at_curpos()
+  new
+  call append(0, ['foobar', '', 'one two', ''])
+
+  normal gg
+
+  call search('foobar', 'c')
+  call assert_equal([1, 1], [line('.'), col('.')])
+
+  normal j
+  call search('^$', 'c')
+  call assert_equal([2, 1], [line('.'), col('.')])
+
+  call search('^$', 'bc')
+  call assert_equal([2, 1], [line('.'), col('.')])
+
+  exe "normal /two\<CR>"
+  call search('.', 'c')
+  call assert_equal([3, 5], [line('.'), col('.')])
+
+  close!
+endfunc
index 790f2381e894c9a984d88d4265719c76b171b393..a58b56ec895e992e37383f2d333ee11337fa33b7 100644 (file)
@@ -640,3 +640,52 @@ func Test_nocatch_sub_failure_handling()
 
   bwipe!
 endfunc
+
+" Test ":s/pat/sub/" with different ~s in sub.
+func Test_replace_with_tilde()
+  new
+  " Set the last replace string to empty
+  s/^$//
+  call append(0, ['- Bug in "vPPPP" on this text:'])
+  normal gg
+  s/u/~u~/
+  call assert_equal('- Bug in "vPPPP" on this text:', getline(1))
+  s/i/~u~/
+  call assert_equal('- Bug uuun "vPPPP" on this text:', getline(1))
+  s/o/~~~/
+  call assert_equal('- Bug uuun "vPPPP" uuuuuuuuun this text:', getline(1))
+  close!
+endfunc
+
+func Test_replace_keeppatterns()
+  new
+  a
+foobar
+
+substitute foo asdf
+
+one two
+.
+
+  normal gg
+  /^substitute
+  s/foo/bar/
+  call assert_equal('foo', @/)
+  call assert_equal('substitute bar asdf', getline('.'))
+
+  /^substitute
+  keeppatterns s/asdf/xyz/
+  call assert_equal('^substitute', @/)
+  call assert_equal('substitute bar xyz', getline('.'))
+
+  exe "normal /bar /e\<CR>"
+  call assert_equal(15, col('.'))
+  normal -
+  keeppatterns /xyz
+  call assert_equal('bar ', @/)
+  call assert_equal('substitute bar xyz', getline('.'))
+  exe "normal 0dn"
+  call assert_equal('xyz', getline('.'))
+
+  close!
+endfunc
index abf131c384df5ea04fc3c963fd5444bb7c0dbdc1..27e5614f20dc72261db3da9a3c37785e3f3e1b52 100644 (file)
@@ -404,3 +404,27 @@ func Test_curswant_not_changed()
   bwipe!
   au! InsertLeave
 endfunc
+
+" Tests for "vaBiB", end could be wrong.
+func Test_Visual_Block()
+  new
+  a
+- Bug in "vPPPP" on this text:
+       {
+               cmd;
+               {
+                       cmd;\t/* <-- Start cursor here */
+                       {
+                       }
+               }
+       }
+.
+  normal gg
+  call search('Start cursor here')
+  normal vaBiBD
+  call assert_equal(['- Bug in "vPPPP" on this text:',
+             \ "\t{",
+             \ "\t}"], getline(1, '$'))
+
+  close!
+endfunc
index 88763e5cfe0a97d926509f750b23c100978d4a61..e6dc264bd57e893eefac47a4cc5865d16d44aa7c 100644 (file)
@@ -767,6 +767,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1214,
 /**/
     1213,
 /**/