xref: /vim-8.2.3635/src/testdir/test_unlet.vim (revision ea04a6e8)
1af8af8bfSBram Moolenaar" Tests for :unlet
2af8af8bfSBram Moolenaar
3af8af8bfSBram Moolenaarfunc Test_read_only()
4065ee9aeSBram Moolenaar  " these caused a crash
5065ee9aeSBram Moolenaar  call assert_fails('unlet count', 'E795:')
6065ee9aeSBram Moolenaar  call assert_fails('unlet errmsg', 'E795:')
7af8af8bfSBram Moolenaarendfunc
8af8af8bfSBram Moolenaar
9af8af8bfSBram Moolenaarfunc Test_existing()
10af8af8bfSBram Moolenaar  let does_exist = 1
11af8af8bfSBram Moolenaar  call assert_true(exists('does_exist'))
12af8af8bfSBram Moolenaar  unlet does_exist
13af8af8bfSBram Moolenaar  call assert_false(exists('does_exist'))
14af8af8bfSBram Moolenaarendfunc
15af8af8bfSBram Moolenaar
16af8af8bfSBram Moolenaarfunc Test_not_existing()
17af8af8bfSBram Moolenaar  unlet! does_not_exist
18065ee9aeSBram Moolenaar  call assert_fails('unlet does_not_exist', 'E108:')
19af8af8bfSBram Moolenaarendfunc
2049439c4cSBram Moolenaar
2149439c4cSBram Moolenaarfunc Test_unlet_fails()
2249439c4cSBram Moolenaar  call assert_fails('unlet v:["count"]', 'E46:')
238dfcce3aSBram Moolenaar  call assert_fails('unlet $', 'E475:')
248b633135SBram Moolenaar  let v = {}
258b633135SBram Moolenaar  call assert_fails('unlet v[:]', 'E719:')
268b633135SBram Moolenaar  let l = []
278b633135SBram Moolenaar  call assert_fails("unlet l['k'", 'E111:')
288b633135SBram Moolenaar  let d = {'k' : 1}
298b633135SBram Moolenaar  call assert_fails("unlet d.k2", 'E716:')
30*ea04a6e8SBram Moolenaar  call assert_fails("unlet {a};", 'E488:')
3149439c4cSBram Moolenaarendfunc
32137374fdSBram Moolenaar
33137374fdSBram Moolenaarfunc Test_unlet_env()
34137374fdSBram Moolenaar  let envcmd = has('win32') ? 'set' : 'env'
35137374fdSBram Moolenaar
36137374fdSBram Moolenaar  let $FOOBAR = 'test'
37137374fdSBram Moolenaar  let found = 0
38137374fdSBram Moolenaar  for kv in split(system(envcmd), "\r*\n")
39137374fdSBram Moolenaar    if kv == 'FOOBAR=test'
40137374fdSBram Moolenaar      let found = 1
41137374fdSBram Moolenaar    endif
42137374fdSBram Moolenaar  endfor
43137374fdSBram Moolenaar  call assert_equal(1, found)
44137374fdSBram Moolenaar
45137374fdSBram Moolenaar  unlet $FOOBAR
46137374fdSBram Moolenaar  let found = 0
47137374fdSBram Moolenaar  for kv in split(system(envcmd), "\r*\n")
48137374fdSBram Moolenaar    if kv == 'FOOBAR=test'
49137374fdSBram Moolenaar      let found = 1
50137374fdSBram Moolenaar    endif
51137374fdSBram Moolenaar  endfor
52137374fdSBram Moolenaar  call assert_equal(0, found)
53137374fdSBram Moolenaar
54137374fdSBram Moolenaar  unlet $MUST_NOT_BE_AN_ERROR
55137374fdSBram Moolenaarendfunc
5619834010SBram Moolenaar
5719834010SBram Moolenaarfunc Test_unlet_complete()
5819834010SBram Moolenaar  let g:FOOBAR = 1
5919834010SBram Moolenaar  call feedkeys(":unlet g:FOO\t\n", 'tx')
6019834010SBram Moolenaar  call assert_true(!exists('g:FOOBAR'))
6119834010SBram Moolenaar
6219834010SBram Moolenaar  let $FOOBAR = 1
6319834010SBram Moolenaar  call feedkeys(":unlet $FOO\t\n", 'tx')
6419834010SBram Moolenaar  call assert_true(!exists('$FOOBAR') || empty($FOOBAR))
6519834010SBram Moolenaarendfunc
668dfcce3aSBram Moolenaar
678dfcce3aSBram Moolenaar" vim: shiftwidth=2 sts=2 expandtab
68