changeset 7464:1e47dd710211

commit https://github.com/vim/vim/commit/27a82e31ee9acedb6922093b2764f7f6860b0f91 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 2 21:39:09 2016 +0100 Add new file left out from patch 7.4.1034.
author Christian Brabandt <cb@256bit.org>
date Sat, 02 Jan 2016 21:45:04 +0100
parents c7dd384f61c1
children 71e2aca45b81
files src/testdir/test_backspace_opt.vim
diffstat 1 files changed, 58 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
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