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.
59 lines
1.6 KiB
Lua
59 lines
1.6 KiB
Lua
-- Tests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.
|
||
-- Also test that dv_ works correctly
|
||
|
||
local n = require('test.functional.testnvim')()
|
||
|
||
local feed, insert = n.feed, n.insert
|
||
local clear, feed_command, expect = n.clear, n.feed_command, n.expect
|
||
|
||
describe([[performing "r<Tab>" with 'smarttab' and 'expandtab' set/not set, and "dv_"]], function()
|
||
setup(clear)
|
||
|
||
-- luacheck: ignore 621 (Indentation)
|
||
it('is working', function()
|
||
insert([[
|
||
start text
|
||
some test text
|
||
test text
|
||
other test text
|
||
a cde
|
||
f ghi
|
||
test text
|
||
Second line beginning with whitespace]])
|
||
|
||
feed_command('set smarttab expandtab ts=8 sw=4')
|
||
-- Make sure that backspace works, no matter what termcap is used.
|
||
feed_command('set t_kD=x7f t_kb=x08')
|
||
|
||
feed_command('/some')
|
||
feed('r ')
|
||
feed_command('set noexpandtab')
|
||
feed_command('/other')
|
||
feed('r <cr>')
|
||
-- Test replacing with Tabs and then backspacing to undo it.
|
||
feed('0wR <bs><bs><bs><esc><cr>')
|
||
-- Test replacing with Tabs.
|
||
feed('0wR <esc><cr>')
|
||
-- Test that copyindent works with expandtab set.
|
||
feed_command('set expandtab smartindent copyindent ts=8 sw=8 sts=8')
|
||
feed('o{<cr>x<esc>')
|
||
feed_command('set nosol')
|
||
feed_command('/Second line/')
|
||
-- Test "dv_"
|
||
feed('fwdv_')
|
||
|
||
-- Assert buffer contents.
|
||
expect([[
|
||
start text
|
||
ome test text
|
||
test text
|
||
ther test text
|
||
a cde
|
||
hi
|
||
test text
|
||
{
|
||
x
|
||
with whitespace]])
|
||
end)
|
||
end)
|