summaryrefslogtreecommitdiff
path: root/src/testdir/test_unlet.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-05-13 15:59:50 +0200
committerBram Moolenaar <Bram@vim.org>2018-05-13 15:59:50 +0200
commit137374fd6538cf9dee0cb22907728d8fdecb5832 (patch)
tree300180a61a2e24db7bd4a085f99c710988b4632b /src/testdir/test_unlet.vim
parent8b62e31003693fee4b288e7aea49170f032aeef3 (diff)
downloadvim-git-137374fd6538cf9dee0cb22907728d8fdecb5832.tar.gz
patch 8.0.1832: cannot use :unlet for an environment variablev8.0.1832
Problem: Cannot use :unlet for an environment variable. Solution: Make it work. Use unsetenv() if available. (Ken Takata, closes #2855)
Diffstat (limited to 'src/testdir/test_unlet.vim')
-rw-r--r--src/testdir/test_unlet.vim24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/testdir/test_unlet.vim b/src/testdir/test_unlet.vim
index c20b0beb7..6636f6d66 100644
--- a/src/testdir/test_unlet.vim
+++ b/src/testdir/test_unlet.vim
@@ -21,3 +21,27 @@ endfunc
func Test_unlet_fails()
call assert_fails('unlet v:["count"]', 'E46:')
endfunc
+
+func Test_unlet_env()
+ let envcmd = has('win32') ? 'set' : 'env'
+
+ let $FOOBAR = 'test'
+ let found = 0
+ for kv in split(system(envcmd), "\r*\n")
+ if kv == 'FOOBAR=test'
+ let found = 1
+ endif
+ endfor
+ call assert_equal(1, found)
+
+ unlet $FOOBAR
+ let found = 0
+ for kv in split(system(envcmd), "\r*\n")
+ if kv == 'FOOBAR=test'
+ let found = 1
+ endif
+ endfor
+ call assert_equal(0, found)
+
+ unlet $MUST_NOT_BE_AN_ERROR
+endfunc