xref: /vim-8.2.3635/src/testdir/test_environ.vim (revision fcfe1a9b)
1scriptencoding utf-8
2
3func Test_environ()
4  unlet! $TESTENV
5  call assert_equal(0, has_key(environ(), 'TESTENV'))
6  let $TESTENV = 'foo'
7  call assert_equal(1, has_key(environ(), 'TESTENV'))
8  let $TESTENV = 'こんにちわ'
9  call assert_equal('こんにちわ', environ()['TESTENV'])
10endfunc
11
12func Test_getenv()
13  unlet! $TESTENV
14  call assert_equal(v:null, getenv('TESTENV'))
15  let $TESTENV = 'foo'
16  call assert_equal('foo', getenv('TESTENV'))
17endfunc
18
19func Test_setenv()
20  unlet! $TESTENV
21  call setenv('TEST ENV', 'foo')
22  call assert_equal('foo', getenv('TEST ENV'))
23  call setenv('TEST ENV', v:null)
24  call assert_equal(v:null, getenv('TEST ENV'))
25endfunc
26
27func Test_external_env()
28  call setenv('FOO', 'HelloWorld')
29  if has('win32')
30    let result = system('echo %FOO%')
31  else
32    let result = system('echo $FOO')
33  endif
34  let result = substitute(result, '[ \r\n]', '', 'g')
35  call assert_equal('HelloWorld', result)
36
37  call setenv('FOO', v:null)
38  if has('win32')
39    let result = system('set | findstr "^FOO="')
40  else
41    let result = system('env | grep ^FOO=')
42  endif
43  call assert_equal('', result)
44endfunc
45