view src/testdir/test_backspace_opt.vim @ 14700:0a3b9ecf7cb8 v8.1.0362

patch 8.1.0362: cannot get the script line number when executing a function commit https://github.com/vim/vim/commit/f29c1c6aa3f365c025890fab5fb9efbe88eb1761 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Sep 10 21:05:02 2018 +0200 patch 8.1.0362: cannot get the script line number when executing a function Problem: Cannot get the script line number when executing a function. Solution: Store the line number besides the script ID. (Ozaki Kiichi, closes #3362) Also display the line number with ":verbose set".
author Christian Brabandt <cb@256bit.org>
date Mon, 10 Sep 2018 21:15:07 +0200
parents 3ee84d270ea7
children f776ce5d4ed8
line wrap: on
line source

" 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)
  set nocompatible viminfo+=nviminfo
endfunc

" vim: shiftwidth=2 sts=2 expandtab