diff options
-rw-r--r-- | src/nvim/testdir/Makefile | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test37.in | 116 | ||||
-rw-r--r-- | src/nvim/testdir/test37.ok | 33 | ||||
-rw-r--r-- | src/nvim/testdir/test_scrollbind.vim | 240 |
4 files changed, 240 insertions, 150 deletions
diff --git a/src/nvim/testdir/Makefile b/src/nvim/testdir/Makefile index 8ea2689939..7b1f0f59cc 100644 --- a/src/nvim/testdir/Makefile +++ b/src/nvim/testdir/Makefile @@ -14,7 +14,6 @@ export NVIM_PRG := $(NVIM_PRG) export TMPDIR := $(abspath ../../../Xtest-tmpdir) SCRIPTS_DEFAULT = \ - test37.out \ test42.out \ test48.out \ test52.out \ diff --git a/src/nvim/testdir/test37.in b/src/nvim/testdir/test37.in deleted file mode 100644 index 156bf74a10..0000000000 --- a/src/nvim/testdir/test37.in +++ /dev/null @@ -1,116 +0,0 @@ -Test for 'scrollbind'. <eralston@computer.org> Do not add a line below! -STARTTEST -: -:set noscrollbind -:set scrollopt=ver,jump -:set scrolloff=2 -:set nowrap -:set noequalalways -:set splitbelow -:" TEST using two windows open to one buffer, one extra empty window -:split -:new -t: -:resize 8 -/^start of window 1$/ -zt: -:set scrollbind -j: -:resize 7 -/^start of window 2$/ -zt: -:set scrollbind -:" -- start of tests -- -:" TEST scrolling down -L5jHyybpr0tHyybpr1tL6jHyybpr2kHyybpr3: -:" TEST scrolling up -tH4kjHtHyybpr4kHyybpr5k3ktHjHyybpr6tHyybpr7: -:" TEST horizontal scrolling -:set scrollopt+=hor -gg"zyyG"zpGt015zly$bp"zpGky$bp"zpG: -k10jH7zhg0y$bp"zpGtHg0y$bp"zpG: -:set scrollopt-=hor -:" ****** tests using two different buffers ***** -tj: -:close -t: -:set noscrollbind -:/^start of window 2$/,/^end of window 2$/y -:new -tj4"zpGp: -t/^start of window 1$/ -zt: -:set scrollbind -j: -/^start of window 2$/ -zt: -:set scrollbind -:" -- start of tests -- -:" TEST scrolling down -L5jHyybpr0tHyybpr1tL6jHyybpr2kHyybpr3: -:" TEST scrolling up -tH4kjHtHyybpr4kHyybpr5k3ktHjHyybpr6tHyybpr7: -:" TEST horizontal scrolling -:set scrollopt+=hor -gg"zyyG"zpGt015zly$bp"zpGky$bp"zpG: -k10jH7zhg0y$bp"zpGtHg0y$bp"zpG: -:set scrollopt-=hor -:" TEST syncbind -t:set noscb -ggLj:set noscb -ggL:set scb -t:set scb -GjG:syncbind -HktHjHyybptyybp: -t:set noscb -ggLj:set noscb -ggL:set scb -t:set scb -tGjGt:syncbind -HkjHtHyybptjyybp: -tH3kjHtHyybptjyybp: -:" ***** done with tests ***** -:w! test.out " Write contents of this file -:qa! -ENDTEST - - -start of window 1 -. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01 -. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 -. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03 -. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04 -. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 -. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 -. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 -. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08 -. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09 -. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10 -. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 -. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12 -. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 -. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14 -. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15 -end of window 1 - - -start of window 2 -. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01 -. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 -. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03 -. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04 -. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05 -. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 -. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07 -. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08 -. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09 -. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10 -. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 -. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12 -. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13 -. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14 -. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 -. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 -end of window 2 - -end of test37.in (please don't delete this line) diff --git a/src/nvim/testdir/test37.ok b/src/nvim/testdir/test37.ok deleted file mode 100644 index d0b74853b3..0000000000 --- a/src/nvim/testdir/test37.ok +++ /dev/null @@ -1,33 +0,0 @@ - -0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05 -1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 -2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 -3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 -4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 -5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 -6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 -7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 -56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 -UTSRQPONMLKJIHGREDCBA9876543210 02 -. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 -. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 - -0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05 -1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 -2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 -3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 -4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 -5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 -6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 -7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 -56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 -UTSRQPONMLKJIHGREDCBA9876543210 02 -. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 -. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 - -. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 -:set scrollbind -:set scrollbind -. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 -j: -. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12 diff --git a/src/nvim/testdir/test_scrollbind.vim b/src/nvim/testdir/test_scrollbind.vim index baa24f1979..6c5488be05 100644 --- a/src/nvim/testdir/test_scrollbind.vim +++ b/src/nvim/testdir/test_scrollbind.vim @@ -30,3 +30,243 @@ func Test_scrollbind() setl noscrollbind call assert_equal(0, topLineLeft - topLineRight) endfunc + +" Test for 'scrollbind' +func Test_scrollbind_opt() + new | only + set noscrollbind + set scrollopt=ver,jump scrolloff=2 nowrap noequalalways splitbelow + + " Insert the text used for the test + append + + +start of window 1 +. line 01 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 01 +. line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02 +. line 03 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 03 +. line 04 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 04 +. line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05 +. line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06 +. line 07 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 07 +. line 08 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 08 +. line 09 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 09 +. line 10 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 10 +. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11 +. line 12 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 12 +. line 13 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 13 +. line 14 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 14 +. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15 +end of window 1 + + +start of window 2 +. line 01 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 01 +. line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02 +. line 03 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 03 +. line 04 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 04 +. line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05 +. line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06 +. line 07 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 07 +. line 08 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 08 +. line 09 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 09 +. line 10 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 10 +. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11 +. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12 +. line 13 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 13 +. line 14 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 14 +. line 15 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 15 +. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16 +end of window 2 + +. + + " Test using two windows open to one buffer, one extra empty window + split + new + wincmd t + resize 8 + call search('^start of window 1$') + normal zt + set scrollbind + wincmd j + resize 7 + call search('^start of window 2$') + normal zt + set scrollbind + + " -- start of tests -- + " Test scrolling down + normal L5jHyy + wincmd b | normal pr0 + wincmd t | normal Hyy + wincmd b | normal pr1 + wincmd t | normal L6jHyy + wincmd b | normal pr2 + wincmd k | normal Hyy + wincmd b | normal pr3 + + " Test scrolling up + wincmd t | normal H4k + wincmd j | normal H + wincmd t | normal Hyy + wincmd b | normal pr4 + wincmd k | normal Hyy + wincmd b | normal pr5 + wincmd k | normal 3k + wincmd t | normal H + wincmd j | normal Hyy + wincmd b | normal pr6 + wincmd t | normal Hyy + wincmd b | normal pr7 + + " Test horizontal scrolling + set scrollopt+=hor + normal gg"zyyG"zpG + wincmd t | normal 015zly$ + wincmd b | normal p"zpG + wincmd k | normal y$ + wincmd b | normal p"zpG + wincmd k | normal 10jH7zhg0y$ + wincmd b | normal p"zpG + wincmd t | normal Hg0y$ + wincmd b | normal p"zpG + set scrollopt-=hor + + wincmd b + call assert_equal([ + \ '', + \ '0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05', + \ '1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05', + \ '2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11', + \ '3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11', + \ '4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06', + \ '5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06', + \ '6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02', + \ '7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02', + \ '56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02', + \ 'UTSRQPONMLKJIHGREDCBA9876543210 02', + \ '. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11', + \ '. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11', + \ ''], getline(1, '$')) + enew! + + " ****** tests using two different buffers ***** + wincmd t | wincmd j | close + wincmd t | set noscrollbind + /start of window 2$/,/^end of window 2$/y + new + wincmd t | wincmd j | normal 4"zpGp + wincmd t + call search('^start of window 1$') + normal zt + set scrollbind + wincmd j + call search('^start of window 2$') + normal zt + set scrollbind + + " -- start of tests -- + " Test scrolling down + normal L5jHyy + wincmd b | normal pr0 + wincmd t | normal Hyy + wincmd b | normal pr1 + wincmd t | normal L6jHyy + wincmd b | normal pr2 + wincmd k | normal Hyy + wincmd b | normal pr3 + + " Test scrolling up + wincmd t | normal H4k + wincmd j | normal H + wincmd t | normal Hyy + wincmd b | normal pr4 + wincmd k | normal Hyy + wincmd b | normal pr5 + wincmd k | normal 3k + wincmd t | normal H + wincmd j | normal Hyy + wincmd b | normal pr6 + wincmd t | normal Hyy + wincmd b | normal pr7 + + " Test horizontal scrolling + set scrollopt+=hor + normal gg"zyyG"zpG + wincmd t | normal 015zly$ + wincmd b | normal p"zpG + wincmd k | normal y$ + wincmd b | normal p"zpG + wincmd k | normal 10jH7zhg0y$ + wincmd b | normal p"zpG + wincmd t | normal Hg0y$ + wincmd b | normal p"zpG + set scrollopt-=hor + + wincmd b + call assert_equal([ + \ '', + \ '0 line 05 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 05', + \ '1 line 05 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 05', + \ '2 line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11', + \ '3 line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11', + \ '4 line 06 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 06', + \ '5 line 06 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 06', + \ '6 line 02 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 02', + \ '7 line 02 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02', + \ '56789ABCDEFGHIJKLMNOPQRSTUVWXYZ 02', + \ 'UTSRQPONMLKJIHGREDCBA9876543210 02', + \ '. line 11 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 11', + \ '. line 11 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 11', + \ ''], getline(1, '$')) + enew! + + " Test 'syncbind' + wincmd t | set noscrollbind | normal ggL + wincmd j | set noscrollbind | normal ggL + set scrollbind + wincmd t | set scrollbind | normal G + wincmd j | normal G + syncbind + normal Hk + wincmd t | normal H + wincmd j | normal Hyy + wincmd b | normal p + wincmd t | normal yy + wincmd b | normal p + wincmd t | set noscrollbind | normal ggL + wincmd j | set noscrollbind + normal ggL + set scrollbind + wincmd t | set scrollbind + wincmd t | normal G + wincmd j | normal G + wincmd t | syncbind | normal Hk + wincmd j | normal H + wincmd t | normal Hyy + wincmd b | normal p + wincmd t | wincmd j | normal yy + wincmd b | normal p + wincmd t | normal H3k + wincmd j | normal H + wincmd t | normal Hyy + wincmd b | normal p + wincmd t | wincmd j | normal yy + wincmd b | normal p + + wincmd b + call assert_equal([ + \ '', + \ '. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16', + \ 'start of window 2', + \ 'start of window 2', + \ '. line 16 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 16', + \ '. line 15 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ 15', + \ '. line 12 ZYXWVUTSRQPONMLKJIHGREDCBA9876543210 12', + \ ], getline(1, '$')) + enew! + + new | only! + set scrollbind& scrollopt& scrolloff& wrap& equalalways& splitbelow& +endfunc |