neovim/test/functional/legacy/068_text_formatting_spec.lua
ZyX 65fb622000 functests: Replace execute with either command or feed_command
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.
2017-04-09 03:24:08 +03:00

212 lines
2.7 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local helpers = require('test.functional.helpers')(after_each)
local feed = helpers.feed
local clear = helpers.clear
local insert = helpers.insert
local feed_command = helpers.feed_command
local expect = helpers.expect
describe('text formatting', function()
setup(clear)
it('is working', function()
-- The control character <C-A> (byte \x01) needs to be put in the buffer
-- directly. But the insert function sends the text to nvim in insert
-- mode so it has to be escaped with <C-V>.
insert([[
Results of test68:
{
}
{
a b
a
}
{
a 
}
{
a b
#a b
}
{
1 a
# 1 a
}
{
x a
b
c
}
{
# 1 a b
}
{
# x
# a b
}
{
1aa
2bb
}
/* abc def ghi jkl
* mno pqr stu
*/
# 1 xxxxx
]])
feed_command('/^{/+1')
feed_command('set noai tw=2 fo=t')
feed('gRa b<esc>')
feed_command('/^{/+1')
feed_command('set ai tw=2 fo=tw')
feed('gqgqjjllab<esc>')
feed_command('/^{/+1')
feed_command('set tw=3 fo=t')
feed('gqgqo<cr>')
feed('a <C-V><C-A><esc><esc>')
feed_command('/^{/+1')
feed_command('set tw=2 fo=tcq1 comments=:#')
feed('gqgqjgqgqo<cr>')
feed('a b<cr>')
feed('#a b<esc>')
feed_command('/^{/+1')
feed_command('set tw=5 fo=tcn comments=:#')
feed('A b<esc>jA b<esc>')
feed_command('/^{/+3')
feed_command('set tw=5 fo=t2a si')
feed('i <esc>A_<esc>')
feed_command('/^{/+1')
feed_command('set tw=5 fo=qn comments=:#')
feed('gwap<cr>')
feed_command('/^{/+1')
feed_command('set tw=5 fo=q2 comments=:#')
feed('gwap<cr>')
feed_command('/^{/+2')
feed_command('set tw& fo=a')
feed('I^^<esc><esc>')
feed_command('/mno pqr/')
feed_command('setl tw=20 fo=an12wcq comments=s1:/*,mb:*,ex:*/')
feed('A vwx yz<esc>')
feed_command('/^#/')
feed_command('setl tw=12 fo=tqnc comments=:#')
feed('A foobar<esc>')
-- Assert buffer contents.
expect([[
Results of test68:
{
a
b
}
{
a
b
a
b
}
{
a

a

}
{
a b
#a b
a b
#a b
}
{
1 a
b
# 1 a
# b
}
{
x a
b_
c
}
{
# 1 a
# b
}
{
# x a
# b
}
{ 1aa ^^2bb }
/* abc def ghi jkl
* mno pqr stu
* vwx yz
*/
# 1 xxxxx
# foobar
]])
end)
end)