2014-03-25 06:55:52 -04:00
|
|
|
Execute (Setup):
|
|
|
|
let g:dir = fnamemodify(g:vader_file, ':p:h')
|
|
|
|
Log 'Test directory: ' . g:dir
|
2016-01-11 11:15:36 -05:00
|
|
|
Save &acd
|
2014-03-25 06:55:52 -04:00
|
|
|
|
|
|
|
Execute (fzf#run with dir option):
|
2015-04-03 22:55:57 -04:00
|
|
|
let cwd = getcwd()
|
2014-03-25 06:55:52 -04:00
|
|
|
let result = fzf#run({ 'options': '--filter=vdr', 'dir': g:dir })
|
|
|
|
AssertEqual ['fzf.vader'], result
|
2015-04-03 22:55:57 -04:00
|
|
|
AssertEqual getcwd(), cwd
|
2014-03-25 06:55:52 -04:00
|
|
|
|
|
|
|
let result = sort(fzf#run({ 'options': '--filter e', 'dir': g:dir }))
|
2015-04-03 22:55:57 -04:00
|
|
|
AssertEqual ['fzf.vader', 'test_go.rb'], result
|
|
|
|
AssertEqual getcwd(), cwd
|
2014-03-25 06:55:52 -04:00
|
|
|
|
|
|
|
Execute (fzf#run with Funcref command):
|
|
|
|
let g:ret = []
|
2015-02-17 22:12:59 -05:00
|
|
|
function! g:FzfTest(e)
|
2014-03-25 06:55:52 -04:00
|
|
|
call add(g:ret, a:e)
|
|
|
|
endfunction
|
2015-02-17 22:12:59 -05:00
|
|
|
let result = sort(fzf#run({ 'sink': function('g:FzfTest'), 'options': '--filter e', 'dir': g:dir }))
|
2015-04-03 22:55:57 -04:00
|
|
|
AssertEqual ['fzf.vader', 'test_go.rb'], result
|
|
|
|
AssertEqual ['fzf.vader', 'test_go.rb'], sort(g:ret)
|
2014-03-25 06:55:52 -04:00
|
|
|
|
|
|
|
Execute (fzf#run with string source):
|
|
|
|
let result = sort(fzf#run({ 'source': 'echo hi', 'options': '-f i' }))
|
|
|
|
AssertEqual ['hi'], result
|
|
|
|
|
|
|
|
Execute (fzf#run with list source):
|
|
|
|
let result = sort(fzf#run({ 'source': ['hello', 'world'], 'options': '-f e' }))
|
|
|
|
AssertEqual ['hello'], result
|
|
|
|
let result = sort(fzf#run({ 'source': ['hello', 'world'], 'options': '-f o' }))
|
|
|
|
AssertEqual ['hello', 'world'], result
|
|
|
|
|
|
|
|
Execute (fzf#run with string source):
|
|
|
|
let result = sort(fzf#run({ 'source': 'echo hi', 'options': '-f i' }))
|
|
|
|
AssertEqual ['hi'], result
|
|
|
|
|
2016-01-11 11:15:36 -05:00
|
|
|
Execute (fzf#run with dir option and noautochdir):
|
|
|
|
set noacd
|
|
|
|
let cwd = getcwd()
|
|
|
|
call fzf#run({'source': ['/foobar'], 'sink': 'e', 'dir': '/tmp', 'options': '-1'})
|
|
|
|
" No change in working directory
|
|
|
|
AssertEqual cwd, getcwd()
|
|
|
|
|
|
|
|
Execute (Incomplete fzf#run with dir option and autochdir):
|
|
|
|
set acd
|
|
|
|
let cwd = getcwd()
|
|
|
|
call fzf#run({'source': [], 'sink': 'e', 'dir': '/tmp', 'options': '-0'})
|
|
|
|
" No change in working directory even if &acd is set
|
|
|
|
AssertEqual cwd, getcwd()
|
|
|
|
|
|
|
|
Execute (fzf#run with dir option and autochdir):
|
|
|
|
set acd
|
|
|
|
let cwd = getcwd()
|
|
|
|
call fzf#run({'source': ['/foobar'], 'sink': 'e', 'dir': '/tmp', 'options': '-1'})
|
|
|
|
" Working directory changed due to &acd
|
|
|
|
AssertEqual '/', getcwd()
|
|
|
|
|
|
|
|
Execute (fzf#run with dir option and autochdir when final cwd is same as dir):
|
|
|
|
set acd
|
|
|
|
cd /tmp
|
|
|
|
call fzf#run({'source': ['/foobar'], 'sink': 'e', 'dir': '/', 'options': '-1'})
|
|
|
|
" Working directory changed due to &acd
|
|
|
|
AssertEqual '/', getcwd()
|
|
|
|
|
2014-03-25 06:55:52 -04:00
|
|
|
Execute (Cleanup):
|
|
|
|
unlet g:dir
|
|
|
|
Restore
|