mirror of
https://github.com/neovim/neovim.git
synced 2024-12-24 21:25:04 -07:00
052498ed42
Specifically, functions that are run in the context of the test runner are put in module `test/testutil.lua` while the functions that are run in the context of the test session are put in `test/functional/testnvim.lua`. Closes https://github.com/neovim/neovim/issues/27004.
213 lines
2.7 KiB
Lua
213 lines
2.7 KiB
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)
|