2015-02-23 12:46:06 -07:00
|
|
|
-- Test for 'scrollbind' causing an unexpected scroll of one of the windows.
|
|
|
|
|
2016-04-23 16:53:11 -07:00
|
|
|
local helpers = require('test.functional.helpers')(after_each)
|
2015-11-17 14:44:00 -07:00
|
|
|
local source = helpers.source
|
|
|
|
local clear, expect = helpers.clear, helpers.expect
|
2015-02-23 12:46:06 -07:00
|
|
|
|
|
|
|
describe('scrollbind', function()
|
|
|
|
setup(clear)
|
|
|
|
|
|
|
|
it('is working', function()
|
|
|
|
source([[
|
|
|
|
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
|
|
|
|
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))
|
|
|
|
brewind
|
|
|
|
]])
|
|
|
|
|
|
|
|
-- Assert buffer contents.
|
|
|
|
expect("Difference between the top lines (left - right): 0")
|
|
|
|
end)
|
|
|
|
end)
|