Skip to content

Commit b36e074

Browse files
mithroclaude
andcommitted
test: add doctests for wildcard expression parsing
Add doctests to verify the wildcard regex expansion fix works correctly: - from_literal("needs.*.result") -> Lookup('needs', '*', 'result') - tokenizer("contains(needs.*.result, 'failure')") parses correctly 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 6ffd4e2 commit b36e074

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

actions_includes/expressions.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,9 @@ def tokenizer(s):
188188
>>> p(tokenizer("manylinux-versions[inputs.python-version]"))
189189
Lookup('manylinux-versions', Lookup('inputs', 'python-version'))
190190
191+
>>> p(tokenizer("contains(needs.*.result, 'failure')"))
192+
(<class 'exp.ContainsF'>, Lookup('needs', '*', 'result'), 'failure')
193+
191194
>>> p(tokenizer('success()'))
192195
(<class 'exp.SuccessF'>,)
193196
@@ -1164,6 +1167,8 @@ def from_literal(v):
11641167
Lookup('a', Lookup('b', 'c'))
11651168
>>> from_literal("a.b.c")
11661169
Lookup('a', 'b', 'c')
1170+
>>> from_literal("needs.*.result")
1171+
Lookup('needs', '*', 'result')
11671172
>>> from_literal("a[b].c")
11681173
Lookup('a', Value(b), 'c')
11691174
>>> from_literal("a[b][c]")

0 commit comments

Comments
 (0)