local t = require('test.testutil') local n = require('test.functional.testnvim')() local Screen = require('test.functional.ui.screen') local clear = n.clear local write_file = t.write_file local command = n.command local feed = n.feed local api = n.api local eq = t.eq before_each(clear) -- oldtest: Test_autocmd_invalidates_undo_on_textchanged() it('no E440 in quickfix window when autocommand invalidates undo', function() write_file( 'XTest_autocmd_invalidates_undo_on_textchanged', [[ set hidden " create quickfix list (at least 2 lines to move line) vimgrep /u/j % " enter quickfix window cwindow " set modifiable setlocal modifiable " set autocmd to clear quickfix list autocmd! TextChanged call setqflist([]) " move line move+1 ]] ) finally(function() os.remove('XTest_autocmd_invalidates_undo_on_textchanged') end) command('edit XTest_autocmd_invalidates_undo_on_textchanged') command('so %') feed('G') eq('', api.nvim_get_vvar('errmsg')) end) -- oldtest: Test_WinScrolled_Resized_eiw() it('WinScrolled and WinResized events can be ignored in a window', function() local screen = Screen.new() n.exec([[ call setline(1, ['foo']->repeat(32)) set eventignorewin=WinScrolled,WinResized split let [g:afile,g:resized,g:scrolled] = ['none',0,0] au WinScrolled * let [g:afile,g:scrolled] = [expand(''),g:scrolled+1] au WinResized * let [g:afile,g:resized] = [expand(''),g:resized+1] ]]) feed('-') screen:expect([[ ^foo | foo |*4 {3:[No Name] [+] }| foo |*6 {2:[No Name] [+] }| | ]]) feed(':echo g:afile g:resized g:scrolled') screen:expect({ any = 'none 0 0.*' }) feed('G') screen:expect([[ foo |*4 ^foo | {3:[No Name] [+] }| foo |*6 {2:[No Name] [+] }| none 0 0 | ]]) feed('gg') screen:expect([[ ^foo | foo |*4 {3:[No Name] [+] }| foo |*6 {2:[No Name] [+] }| none 0 0 | ]]) feed(':echo g:afile g:resized g:scrolled') screen:expect({ any = ':echo g:afile g:resized g:scrolled.*' }) feed('') screen:expect({ any = 'none 0 0.*' }) feed(':set eventignorewin=w+') screen:expect({ any = ':set eventignorewin=.*' }) feed(':echo win_getid() g:afile g:resized g:scrolled') screen:expect({ any = '1000 1001 1 1.*' }) end)