This repository was archived by the owner on Sep 12, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtest_parser.py
More file actions
66 lines (60 loc) · 2.2 KB
/
Copy pathtest_parser.py
File metadata and controls
66 lines (60 loc) · 2.2 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
from icortex.parser import extract_prompt, lex_prompt
def test_extract_prompt():
assert extract_prompt("no flags in this")[0] == "no flags in this"
assert (
extract_prompt("this one hasn't a single quote")[0]
== "this one hasn't a single quote"
)
assert (
extract_prompt("this one hasn't a single quote and a --flag")[0]
== "this one hasn't a single quote and a"
)
assert (
extract_prompt('"this one hasn\'t a single quote and a --flag"')[0]
== "this one hasn't a single quote and a --flag"
)
assert extract_prompt(
'"this one hasn\'t a single quote and a --flag" --flag-outside'
) == ("this one hasn't a single quote and a --flag", "--flag-outside")
assert extract_prompt("before before -a after after")[0] == "before before"
assert extract_prompt("before before --long after after")[0] == "before before"
assert (
extract_prompt("'before before -a after' after")[0] == "before before -a after"
)
assert (
extract_prompt('"before before -a after" after -e after')[0]
== "before before -a after"
)
def test_lex_prompt():
assert lex_prompt("no flags in this") == ["no flags in this"]
assert lex_prompt("this one hasn't a single quote") == [
"this one hasn't a single quote"
]
assert lex_prompt(
"this one hasn't a single quote and a --flag 123 --another-flag"
) == ["this one hasn't a single quote and a", "--flag", "123", "--another-flag"]
assert lex_prompt(
'"this one hasn\'t a single quote and a --flag" --flag-outside'
) == ["this one hasn't a single quote and a --flag", "--flag-outside"]
assert lex_prompt("before before -a after after") == [
"before before",
"-a",
"after",
"after",
]
assert lex_prompt("before before --long after after") == [
"before before",
"--long",
"after",
"after",
]
assert lex_prompt("'before before -a after' after") == [
"before before -a after",
"after",
]
assert lex_prompt('"before before -a after" after -e after') == [
"before before -a after",
"after",
"-e",
"after",
]