/ test / test_parse_command_args.vader
test_parse_command_args.vader
 1  After:
 2    unlet! b:parse_result
 3  
 4    if exists(':ParseTest')
 5      delcommand ParseTest
 6    endif
 7  
 8  Execute(ale#args#Parse should work for an example command):
 9    command! -nargs=* ParseTest let b:parse_result = ale#args#Parse(['foo', 'bar'], <q-args>)
10  
11    ParseTest
12    AssertEqual [{}, ''], b:parse_result
13  
14    ParseTest --
15    AssertEqual [{}, ''], b:parse_result
16  
17    ParseTest -foo
18    AssertEqual [{'foo': ''}, ''], b:parse_result
19  
20    ParseTest -foo -- --
21    AssertEqual [{'foo': ''}, '--'], b:parse_result
22  
23    ParseTest -foo -bar
24    AssertEqual [{'foo': '', 'bar': ''}, ''], b:parse_result
25  
26    ParseTest -foo -bar leave  these  alone
27    AssertEqual [{'foo': '', 'bar': ''}, 'leave  these  alone'], b:parse_result
28  
29  Execute(ale#args#Parse should raise errors for unknown arguments):
30    AssertThrows call ale#args#Parse(['foo', 'bar'], '-nope   leave  these  alone')
31    AssertEqual 'Invalid argument: -nope', g:vader_exception