blob: 154209567100dfe309f7d4af27e02505eedf5785 [file] [log] [blame]
Bram Moolenaara6e42502016-04-20 16:19:52 +02001func s:test_expand_dllpath(optname)
2 let $TEST_EXPAND_DLLPATH = '/dllpath/lib' . substitute(a:optname, '\zedll$', '.', '')
3 execute 'let dllpath_save = &' . a:optname
4 try
5 execute 'set ' . a:optname . '=$TEST_EXPAND_DLLPATH'
6 execute 'call assert_equal("' . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')'
7
8 execute 'set ' . a:optname . '=~' . $TEST_EXPAND_DLLPATH
Bram Moolenaar5449f7c2017-07-30 13:51:37 +02009 let home = substitute($HOME, '\\', '/', 'g')
10 execute 'call assert_equal("' . home . $TEST_EXPAND_DLLPATH . '", &' . a:optname . ')'
Bram Moolenaara6e42502016-04-20 16:19:52 +020011 finally
12 execute 'let &' . a:optname . ' = dllpath_save'
13 let $TEST_EXPAND_DLLPATH = ''
14 endtry
15endfunc
16
17func s:generate_test_if_exists(optname)
Bram Moolenaara713ff82017-02-25 22:18:43 +010018 if exists('+' . a:optname)
Bram Moolenaara6e42502016-04-20 16:19:52 +020019 execute join([
20 \ 'func Test_expand_' . a:optname . '()',
21 \ ' call s:test_expand_dllpath("' . a:optname . '")',
22 \ 'endfunc'
23 \ ], "\n")
24 endif
25endfunc
26
27call s:generate_test_if_exists('luadll')
28call s:generate_test_if_exists('perldll')
29call s:generate_test_if_exists('pythondll')
30call s:generate_test_if_exists('pythonthreedll')
31call s:generate_test_if_exists('rubydll')
32call s:generate_test_if_exists('tcldll')