Mercurial > vim
annotate src/testdir/test_environ.vim @ 20087:b378f860d4ab v8.2.0599
patch 8.2.0599: Netbeans interface insufficiently tested
Commit: https://github.com/vim/vim/commit/173d841e86cf205d8e398091b1da7bb4951714f9
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 19 14:02:26 2020 +0200
patch 8.2.0599: Netbeans interface insufficiently tested
Problem: Netbeans interface insufficiently tested.
Solution: Add more tests. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5921)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 19 Apr 2020 14:15:04 +0200 |
parents | 0dcc2ee838dd |
children | 08940efa6b4e |
rev | line source |
---|---|
16604
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 scriptencoding utf-8 |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 func Test_environ() |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 unlet! $TESTENV |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 call assert_equal(0, has_key(environ(), 'TESTENV')) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 let $TESTENV = 'foo' |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 call assert_equal(1, has_key(environ(), 'TESTENV')) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 let $TESTENV = 'こんにちわ' |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 call assert_equal('こんにちわ', environ()['TESTENV']) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 endfunc |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 func Test_getenv() |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 unlet! $TESTENV |
17857
4935244c1128
patch 8.1.1925: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
16922
diff
changeset
|
14 call assert_equal(v:null, 'TESTENV'->getenv()) |
16604
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 let $TESTENV = 'foo' |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 call assert_equal('foo', getenv('TESTENV')) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 endfunc |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 func Test_setenv() |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 unlet! $TESTENV |
17994
0dcc2ee838dd
patch 8.1.1993: more functions can be used as methods
Bram Moolenaar <Bram@vim.org>
parents:
17857
diff
changeset
|
21 eval 'foo'->setenv('TEST ENV') |
16604
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 call assert_equal('foo', getenv('TEST ENV')) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 call setenv('TEST ENV', v:null) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 call assert_equal(v:null, getenv('TEST ENV')) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 endfunc |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 func Test_external_env() |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 call setenv('FOO', 'HelloWorld') |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 if has('win32') |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 let result = system('echo %FOO%') |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 else |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 let result = system('echo $FOO') |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 endif |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 let result = substitute(result, '[ \r\n]', '', 'g') |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
35 call assert_equal('HelloWorld', result) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
36 |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 call setenv('FOO', v:null) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 if has('win32') |
16922
4ba323df874a
patch 8.1.1462: MS-Windows: using special character requires quoting
Bram Moolenaar <Bram@vim.org>
parents:
16920
diff
changeset
|
39 let result = system('set | findstr "^FOO="') |
16604
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
40 else |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 let result = system('env | grep ^FOO=') |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 endif |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 call assert_equal('', result) |
1e0a5f09fdf1
patch 8.1.1305: there is no easy way to manipulate environment variables
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 endfunc |