Files
neovim/test/functional/legacy/019_smarttab_expandtab_spec.lua
2017-09-24 20:42:48 +02:00

58 lines
1.6 KiB
Lua
Raw Permalink 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.

-- Tests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.
-- Also test that dv_ works correctly
local helpers = require('test.functional.helpers')(after_each)
local feed, insert = helpers.feed, helpers.insert
local clear, feed_command, expect = helpers.clear, helpers.feed_command, helpers.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)