From 929d00db0f02a73aec83f35ae29345d3f239df5a Mon Sep 17 00:00:00 2001 From: Rom Grk Date: Wed, 28 Oct 2020 04:32:25 -0400 Subject: tests: add functional test for WinScrolled --- test/functional/autocmd/winscrolled_spec.lua | 47 ++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 test/functional/autocmd/winscrolled_spec.lua (limited to 'test/functional') diff --git a/test/functional/autocmd/winscrolled_spec.lua b/test/functional/autocmd/winscrolled_spec.lua new file mode 100644 index 0000000000..00160d3771 --- /dev/null +++ b/test/functional/autocmd/winscrolled_spec.lua @@ -0,0 +1,47 @@ +local helpers = require('test.functional.helpers')(after_each) + +local clear = helpers.clear +local eq = helpers.eq +local eval = helpers.eval +local funcs = helpers.funcs +local source = helpers.source + +describe('WinScrolled', function() + before_each(clear) + + it('is triggered by scrolling in normal/visual mode', function() + source([[ + let width = winwidth(0) + let lines = [repeat('*', range(width * 2))] + call nvim_buf_set_lines(g:buf, 0, -1, v:true, lines) + + let g:scrolled = 0 + autocmd WinScrolled * let g:scrolled += 1 + normal! zl + normal! + ]]) + eq(1, eval('g:scrolled')) + end) + + it('is triggered when the window scrolls in insert mode', function() + source([[ + let height = winheight(0) + let lines = map(range(height * 2), {_, i -> string(i)}) + call nvim_buf_set_lines(g:buf, 0, -1, v:true, lines) + + let g:scrolled = 0 + autocmd WinScrolled * let g:scrolled += 1 + call feedkeys("LA\", "n") + ]]) + eq(1, eval('g:scrolled')) + end) + + it('is triggered when the window is resized', function() + source([[ + let g:scrolled = 0 + autocmd WinScrolled * let g:scrolled += 1 + wincmd v + ]]) + eq(1, eval('g:scrolled')) + end) +end) -- cgit