# HG changeset patch # User Christian Brabandt # Date 1451767504 -3600 # Node ID 1e47dd710211229beea86763a78b2f23b9067ead # Parent c7dd384f61c12795f3e98acec66c22013ce59063 commit https://github.com/vim/vim/commit/27a82e31ee9acedb6922093b2764f7f6860b0f91 Author: Bram Moolenaar Date: Sat Jan 2 21:39:09 2016 +0100 Add new file left out from patch 7.4.1034. diff --git a/src/testdir/test_backspace_opt.vim b/src/testdir/test_backspace_opt.vim new file mode 100644 --- /dev/null +++ b/src/testdir/test_backspace_opt.vim @@ -0,0 +1,58 @@ +" Tests for 'backspace' settings + +: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')) + + " Cleared when 'compatible' is set + set compatible + call assert_equal('', &backspace) +endfunc + +" vim: tabstop=2 shiftwidth=0 expandtab