changeset 4274:015e53d99787 v7.3.887

updated for version 7.3.887 Problem: No tests for Visual mode operators, what 7.3.879 fixes. Solution: Add a new test file. (David B?rgin)
author Bram Moolenaar <bram@vim.org>
date Fri, 12 Apr 2013 13:45:02 +0200
parents 73bdb401d109
children f0a7c439ba65
files src/testdir/Make_amiga.mak src/testdir/Make_dos.mak src/testdir/Make_ming.mak src/testdir/Make_os2.mak src/testdir/Make_vms.mms src/testdir/Makefile src/testdir/test94.in src/testdir/test94.ok src/version.c
diffstat 9 files changed, 133 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -32,7 +32,8 @@ SCRIPTS = test1.out test3.out test4.out 
 		test71.out test72.out test73.out test74.out test75.out \
 		test76.out test77.out test78.out test79.out test80.out \
 		test81.out test82.out test83.out test84.out test88.out \
-		test89.out test90.out test91.out test92.out test93.out
+		test89.out test90.out test91.out test92.out test93.out \
+		test94.out
 
 .SUFFIXES: .in .out
 
@@ -142,3 +143,4 @@ test90.out: test90.in
 test91.out: test91.in
 test92.out: test92.in
 test93.out: test93.in
+test94.out: test94.in
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -31,7 +31,8 @@ SCRIPTS =	test3.out test4.out test5.out 
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
 		test84.out test85.out test86.out test87.out test88.out \
-		test89.out test90.out test91.out test92.out test93.out
+		test89.out test90.out test91.out test92.out test93.out \
+		test94.out
 
 SCRIPTS32 =	test50.out test70.out
 
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -51,7 +51,8 @@ SCRIPTS =	test3.out test4.out test5.out 
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
 		test84.out test85.out test86.out test87.out test88.out \
-		test89.out test90.out test91.out test92.out test93.out
+		test89.out test90.out test91.out test92.out test93.out \
+		test94.out
 
 SCRIPTS32 =	test50.out test70.out
 
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -32,7 +32,8 @@ SCRIPTS = test1.out test3.out test4.out 
 		test71.out test72.out test73.out test74.out test75.out \
 		test76.out test77.out test78.out test79.out test80.out \
 		test81.out test82.out test83.out test84.out test88.out \
-		test89.out test90.out test91.out test92.out test93.out
+		test89.out test90.out test91.out test92.out test93.out \
+		test94.out
 
 .SUFFIXES: .in .out
 
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# Last change:  2013-02-21
+# Last change:  2013 Apr 12
 #
 # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
 # Edit the lines in the Configuration section below to select.
@@ -77,7 +77,7 @@ SCRIPT = test1.out  test2.out  test3.out
 	 test71.out test72.out test74.out test75.out test76.out \
 	 test77.out test78.out test79.out test80.out test81.out \
 	 test82.out test83.out test84.out test88.out test89.out \
-	 test90.out test91.out test92.out test93.out
+	 test90.out test91.out test92.out test93.out test94.out
 
 # Known problems:
 # Test 30: a problem around mac format - unknown reason
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -28,7 +28,8 @@ SCRIPTS = test1.out test2.out test3.out 
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
 		test84.out test85.out test86.out test87.out test88.out \
-		test89.out test90.out test91.out test92.out test93.out
+		test89.out test90.out test91.out test92.out test93.out \
+		test94.out
 
 SCRIPTS_GUI = test16.out
 
new file mode 100644
--- /dev/null
+++ b/src/testdir/test94.in
@@ -0,0 +1,98 @@
+Test for Visual mode and operators
+
+Tests for the two kinds of operations: Those executed with Visual mode
+followed by an operator and those executed via Operator-pending mode. Also
+part of the test are mappings, counts, and repetition with the . command.
+
+Test cases:
+- Visual modes (v V CTRL-V) followed by an operator; count; repeating
+- Visual mode maps; count; repeating
+  - Simple
+  - With an Ex command (custom text object)
+- Operator-pending mode maps
+  - Simple
+  - With Ex command moving the cursor
+  - With Ex command and Visual selection (custom text object)
+- Patch 7.3.879: Properly abort Ex command in Operator-pending mode
+
+STARTTEST
+:so small.vim
+:set nocp
+:
+:" User functions
+:function MoveToCap()
+:  call search('\u', 'W')
+:endfunction
+:function SelectInCaps()
+:  let [line1, col1] = searchpos('\u', 'bcnW')
+:  let [line2, col2] = searchpos('.\u', 'nW')
+:  call setpos("'<", [0, line1, col1, 0])
+:  call setpos("'>", [0, line2, col2, 0])
+:  normal! gv
+:endfunction
+:function MoveToEndCount(count)
+:  normal! v:count . e
+:endfunction
+:
+:" Visual modes followed by operator
+/^apple
+lvld.l3vd.:
+/^line 1
+Vcnewlinej.j2Vd.:
+/^xxxx
+jlc  l.l2c----l.:
+:
+:" Visual mode maps (movement and text object)
+:vnoremap W /\u/s-1<CR>
+:vnoremap iW :<C-U>call SelectInCaps()<CR>
+/^Kiwi
+vWcNol.fD2vd.:
+/^Jambu
+llviWc-l.l2vdl.:
+:
+:" Operator-pending mode maps (movement and text object)
+:onoremap W /\u/<CR>
+:onoremap <Leader>W :<C-U>call MoveToCap()<CR>
+:onoremap iW :<C-U>call SelectInCaps()<CR>
+/^Pineapple
+cW-l.l2.l.:
+/^Juniper
+g?\WfD.:
+/^Lemon
+yiWPlciWNew:
+:
+:" Patch 7.3.879: Properly abort Operator-pending mode for "dv:<Esc>" etc.
+/^zzzz
+dV:
dv:
:set noma | let v:errmsg = ''
+d:
:set ma | put = v:errmsg =~# '^E21' ? 'ok' : 'failed'
+dv:dV::set noma | let v:errmsg = ''
+d::set ma | put = v:errmsg =~# '^E21' ? 'failed' : 'ok'
+:/^start:/+2,$w! test.out
+:q!
+ENDTEST
+
+start:
+
+apple banana cherry
+
+line 1 line 1
+line 2 line 2
+line 3 line 3
+line 4 line 4
+line 5 line 5
+line 6 line 6
+
+xxxxxxxxxxxxx
+xxxxxxxxxxxxx
+xxxxxxxxxxxxx
+xxxxxxxxxxxxx
+
+KiwiRaspberryDateWatermelonPeach
+JambuRambutanBananaTangerineMango
+
+PineappleQuinceLoganberryOrangeGrapefruitKiwiZ
+JuniperDurianZ
+LemonNectarineZ
+
+zzzz
+zzzz
new file mode 100644
--- /dev/null
+++ b/src/testdir/test94.ok
@@ -0,0 +1,20 @@
+a y
+
+newline
+newline
+
+    --------x
+    --------x
+xxxx--------x
+xxxx--------x
+
+NoNoberryach
+--ago
+
+----Z
+WhavcreQhevnaZ
+LemonNewNectarineZ
+
+zzz
+ok
+ok
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    887,
+/**/
     886,
 /**/
     885,