mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
65fb622000
Hope this will make people using feed_command less likely: this hides bugs. Already found at least two: 1. msgpackparse() will show internal error: hash_add() in case of duplicate keys, though it will still work correctly. Currently silenced. 2. ttimeoutlen was spelled incorrectly, resulting in option not being set when expected. Test was still functioning somehow though. Currently fixed.
81 lines
2.0 KiB
Lua
81 lines
2.0 KiB
Lua
-- Test for autocommand that changes current buffer on BufEnter event.
|
|
-- Check if modelines are interpreted for the correct buffer.
|
|
|
|
local helpers = require('test.functional.helpers')(after_each)
|
|
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
|
local feed_command, expect = helpers.feed_command, helpers.expect
|
|
|
|
describe('BufEnter with modelines', function()
|
|
setup(clear)
|
|
|
|
it('is working', function()
|
|
insert([[
|
|
startstart
|
|
start of test file Xxx
|
|
vim: set noai :
|
|
this is a test
|
|
this is a test
|
|
this is a test
|
|
this is a test
|
|
end of test file Xxx]])
|
|
|
|
feed_command('au BufEnter Xxx brew')
|
|
|
|
-- Write test file Xxx
|
|
feed_command('/start of')
|
|
feed_command('.,/end of/w! Xxx')
|
|
feed_command('set ai modeline modelines=3')
|
|
|
|
-- Split to Xxx, autocmd will do :brew
|
|
feed_command('sp Xxx')
|
|
|
|
-- Append text with autoindent to this file
|
|
feed('G?this is a<CR>')
|
|
feed('othis should be auto-indented<Esc>')
|
|
|
|
-- Go to Xxx, no autocmd anymore
|
|
feed_command('au! BufEnter Xxx')
|
|
feed_command('buf Xxx')
|
|
|
|
-- Append text without autoindent to Xxx
|
|
feed('G?this is a<CR>')
|
|
feed('othis should be in column 1<Esc>')
|
|
feed_command('wq')
|
|
|
|
-- Include Xxx in the current file
|
|
feed('G:r Xxx<CR>')
|
|
|
|
-- Vim issue #57 do not move cursor on <c-o> when autoindent is set
|
|
feed_command('set fo+=r')
|
|
feed('G')
|
|
feed('o# abcdef<Esc>2hi<CR><c-o>d0<Esc>')
|
|
feed('o# abcdef<Esc>2hi<c-o>d0<Esc>')
|
|
|
|
expect([[
|
|
startstart
|
|
start of test file Xxx
|
|
vim: set noai :
|
|
this is a test
|
|
this is a test
|
|
this is a test
|
|
this is a test
|
|
this should be auto-indented
|
|
end of test file Xxx
|
|
start of test file Xxx
|
|
vim: set noai :
|
|
this is a test
|
|
this is a test
|
|
this is a test
|
|
this is a test
|
|
this should be in column 1
|
|
end of test file Xxx
|
|
# abc
|
|
def
|
|
def]])
|
|
end)
|
|
|
|
teardown(function()
|
|
os.remove('Xxx')
|
|
end)
|
|
end)
|