summaryrefslogtreecommitdiff
path: root/test/test_parse_command_args.vader
blob: 6a6476108366441ae391f999ddfa1749f5abb6b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
After:
  unlet! b:parse_result

  if exists(':ParseTest')
    delcommand ParseTest
  endif

Execute(ale#args#Parse should work for an example command):
  command! -nargs=* ParseTest let b:parse_result = ale#args#Parse(['foo', 'bar'], <q-args>)

  ParseTest
  AssertEqual [{}, ''], b:parse_result

  ParseTest --
  AssertEqual [{}, ''], b:parse_result

  ParseTest -foo
  AssertEqual [{'foo': ''}, ''], b:parse_result

  ParseTest -foo -- --
  AssertEqual [{'foo': ''}, '--'], b:parse_result

  ParseTest -foo -bar
  AssertEqual [{'foo': '', 'bar': ''}, ''], b:parse_result

  ParseTest -foo -bar leave  these  alone
  AssertEqual [{'foo': '', 'bar': ''}, 'leave  these  alone'], b:parse_result

Execute(ale#args#Parse should raise errors for unknown arguments):
  AssertThrows call ale#args#Parse(['foo', 'bar'], '-nope   leave  these  alone')
  AssertEqual 'Invalid argument: -nope', g:vader_exception