| " Tests for expand() |
| |
| let s:sfile = expand('<sfile>') |
| let s:slnum = str2nr(expand('<slnum>')) |
| let s:sflnum = str2nr(expand('<sflnum>')) |
| |
| func s:expand_sfile() |
| return expand('<sfile>') |
| endfunc |
| |
| func s:expand_slnum() |
| return str2nr(expand('<slnum>')) |
| endfunc |
| |
| func s:expand_sflnum() |
| return str2nr(expand('<sflnum>')) |
| endfunc |
| |
| func Test_expand_sfile() |
| call assert_match('test_expand_func\.vim$', s:sfile) |
| call assert_match('^function .*\.\.Test_expand_sfile$', expand('<sfile>')) |
| |
| " Call in script-local function |
| call assert_match('^function .*\.\.Test_expand_sfile\[5\]\.\.<SNR>\d\+_expand_sfile$', s:expand_sfile()) |
| |
| " Call in command |
| command Sfile echo expand('<sfile>') |
| call assert_match('^function .*\.\.Test_expand_sfile$', trim(execute('Sfile'))) |
| delcommand Sfile |
| endfunc |
| |
| func Test_expand_slnum() |
| call assert_equal(4, s:slnum) |
| call assert_equal(2, str2nr(expand('<slnum>'))) |
| |
| " Line-continuation |
| call assert_equal( |
| \ 5, |
| \ str2nr(expand('<slnum>'))) |
| |
| " Call in script-local function |
| call assert_equal(1, s:expand_slnum()) |
| |
| " Call in command |
| command Slnum echo expand('<slnum>') |
| call assert_equal(14, str2nr(trim(execute('Slnum')))) |
| delcommand Slnum |
| endfunc |
| |
| func Test_expand_sflnum() |
| call assert_equal(5, s:sflnum) |
| call assert_equal(52, str2nr(expand('<sflnum>'))) |
| |
| " Line-continuation |
| call assert_equal( |
| \ 55, |
| \ str2nr(expand('<sflnum>'))) |
| |
| " Call in script-local function |
| call assert_equal(16, s:expand_sflnum()) |
| |
| " Call in command |
| command Flnum echo expand('<sflnum>') |
| call assert_equal(64, str2nr(trim(execute('Flnum')))) |
| delcommand Flnum |
| endfunc |
| |
| func Test_expand() |
| new |
| call assert_equal("", expand('%:S')) |
| call assert_equal('3', '<slnum>'->expand()) |
| call assert_equal(['4'], expand('<slnum>', v:false, v:true)) |
| " Don't add any line above this, otherwise <slnum> will change. |
| quit |
| endfunc |
| |
| " Test for 'wildignore' with expand() |
| func Test_expand_wildignore() |
| set wildignore=*.vim |
| call assert_equal('', expand('test_expand_func.vim')) |
| call assert_equal('', expand('test_expand_func.vim', 0)) |
| call assert_equal([], expand('test_expand_func.vim', 0, 1)) |
| call assert_equal('test_expand_func.vim', expand('test_expand_func.vim', 1)) |
| call assert_equal(['test_expand_func.vim'], |
| \ expand('test_expand_func.vim', 1, 1)) |
| call assert_fails("call expand('*', [])", 'E745:') |
| set wildignore& |
| endfunc |
| |
| " vim: shiftwidth=2 sts=2 expandtab |