aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test98.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/testdir/test98.in')
-rw-r--r--src/nvim/testdir/test98.in43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/nvim/testdir/test98.in b/src/nvim/testdir/test98.in
new file mode 100644
index 0000000000..83ccba09e9
--- /dev/null
+++ b/src/nvim/testdir/test98.in
@@ -0,0 +1,43 @@
+Test for 'scrollbind' causing an unexpected scroll of one of the windows.
+STARTTEST
+:so small.vim
+:" We don't want the status line to cause problems:
+:set laststatus=0
+:let g:totalLines = &lines * 20
+:let middle = g:totalLines / 2
+:wincmd n
+:wincmd o
+:for i in range(1, g:totalLines)
+: call setline(i, 'LINE ' . i)
+:endfor
+:exe string(middle)
+:normal zt
+:normal M
+:aboveleft vert new
+:for i in range(1, g:totalLines)
+: call setline(i, 'line ' . i)
+:endfor
+:exe string(middle)
+:normal zt
+:normal M
+:" Execute the following two command at once to reproduce the problem.
+:setl scb | wincmd p
+:setl scb
+:wincmd w
+:let topLineLeft = line('w0')
+:wincmd p
+:let topLineRight = line('w0')
+:setl noscrollbind
+:wincmd p
+:setl noscrollbind
+:q!
+:%del _
+:call setline(1, 'Difference between the top lines (left - right): ' . string(topLineLeft - topLineRight))
+:w! test.out
+:brewind
+ENDTEST
+
+STARTTEST
+:qa!
+ENDTEST
+