Skip to content

Commit 4c979ff

Browse files
committed
Fix: Adds a missing corner case for conditional splitting
1 parent 5b60a12 commit 4c979ff

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

kingdom/access/dsl.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
def conditionals_split(sequence: str):
3737
expressions = sequence.split("||")
38-
if "" in expressions:
38+
if "" in expressions or " " in expressions:
3939
# meaning that we had a loose OR
4040
return False
4141

kingdom/access/tests/test_dsl.py

+14-8
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,17 @@
1111

1212
def test_conditionals_split():
1313
input = [
14-
"expr || newexpr",
15-
"expr||newexpr",
16-
" expr || newexpr ",
17-
"expr|newexpr",
18-
"expr || newexpr||neewexpr||",
19-
"ex pr || new expr || ",
20-
" expr ||| newexpr ",
21-
" expr|||newexpr ",
14+
"expr || newexpr", # valid
15+
"expr||newexpr", # valid
16+
" expr || newexpr ", # valid
17+
" expr || ", # invalid
18+
" || expr ", # invalid
19+
" || expr || ", # invalid
20+
"expr|newexpr", # invalid
21+
"expr || newexpr||neewexpr||", # invalid
22+
"ex pr || new expr || ", # invalid
23+
" expr ||| newexpr ", # invalid
24+
" expr|||newexpr ", # invalid
2225
]
2326

2427
want = [
@@ -30,6 +33,9 @@ def test_conditionals_split():
3033
False,
3134
False,
3235
False,
36+
False,
37+
False,
38+
False,
3339
]
3440

3541
got = [conditionals_split(sequence) for sequence in input]

0 commit comments

Comments
 (0)