File: //home/ubuntu/neovim/test/functional/legacy/068_text_formatting_spec.lua
local n = require('test.functional.testnvim')()
local feed = n.feed
local clear = n.clear
local insert = n.insert
local feed_command = n.feed_command
local expect = n.expect
describe('text formatting', function()
setup(clear)
-- luacheck: ignore 613 (Trailing whitespace in a string)
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)