diff options
author | James McCoy <jamessan@jamessan.com> | 2016-05-05 20:48:37 -0400 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2016-05-05 21:13:47 -0400 |
commit | c6ff71e00c8d4d2dad9e323efd8c02516554c363 (patch) | |
tree | a63d4a952bd2a07e20995811af02a830e8fcbc0e /test/functional/legacy/backspace_opt_spec.lua | |
parent | e443915d8b6c6ba3aff3e232f1d30f2623c489f5 (diff) | |
download | rneovim-c6ff71e00c8d4d2dad9e323efd8c02516554c363.tar.gz rneovim-c6ff71e00c8d4d2dad9e323efd8c02516554c363.tar.bz2 rneovim-c6ff71e00c8d4d2dad9e323efd8c02516554c363.zip |
vim-patch:27a82e3
Add new file left out from patch 7.4.1034.
https://github.com/vim/vim/commit/27a82e31ee9acedb6922093b2764f7f6860b0f91
Diffstat (limited to 'test/functional/legacy/backspace_opt_spec.lua')
-rw-r--r-- | test/functional/legacy/backspace_opt_spec.lua | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/test/functional/legacy/backspace_opt_spec.lua b/test/functional/legacy/backspace_opt_spec.lua new file mode 100644 index 0000000000..b40019a410 --- /dev/null +++ b/test/functional/legacy/backspace_opt_spec.lua @@ -0,0 +1,67 @@ +local helpers = require('test.functional.helpers') +local call, clear = helpers.call, helpers.clear +local source, eq, nvim = helpers.source, helpers.eq, helpers.meths + +describe("test 'backspace' settings", function() + before_each(function() + clear() + + source([[ + func Exec(expr) + let str='' + try + exec a:expr + catch /.*/ + let str=v:exception + endtry + return str + endfunc + + func Test_backspace_option() + set backspace= + call assert_equal('', &backspace) + set backspace=indent + call assert_equal('indent', &backspace) + set backspace=eol + call assert_equal('eol', &backspace) + set backspace=start + call assert_equal('start', &backspace) + " Add the value + set backspace= + set backspace=indent + call assert_equal('indent', &backspace) + set backspace+=eol + call assert_equal('indent,eol', &backspace) + set backspace+=start + call assert_equal('indent,eol,start', &backspace) + " Delete the value + set backspace-=indent + call assert_equal('eol,start', &backspace) + set backspace-=start + call assert_equal('eol', &backspace) + set backspace-=eol + call assert_equal('', &backspace) + " Check the error + call assert_equal(0, match(Exec('set backspace=ABC'), '.*E474')) + call assert_equal(0, match(Exec('set backspace+=def'), '.*E474')) + " NOTE: Vim doesn't check following error... + "call assert_equal(0, match(Exec('set backspace-=ghi'), '.*E474')) + + " Check backwards compatibility with version 5.4 and earlier + set backspace=0 + call assert_equal('0', &backspace) + set backspace=1 + call assert_equal('1', &backspace) + set backspace=2 + call assert_equal('2', &backspace) + call assert_false(match(Exec('set backspace=3'), '.*E474')) + call assert_false(match(Exec('set backspace=10'), '.*E474')) + endfunc + ]]) + end) + + it('works', function() + call('Test_backspace_option') + eq({}, nvim.get_vvar('errors')) + end) +end) |