v3.19.0 (cont.): live fixtures; menu text match is case-insensitive by default
No test scripts have been authored yet, so the format is still free to
change - the menu-select text match is now case-insensitive by default
(menu labels are UI text; case_sensitive: true still forces an exact-case
match, and a miss on it names the case-insensitive candidates).
Verification against the live card's own bytes (captured 2026-10-04):
- the Annex A Variant 2 Cyrillic menu (ids 128..130) resolves by text and
the case behaviour above is pinned ('кофе' -> item 130);
- the applet's SEND SHORT MESSAGE (alpha 'Отправка...', SMS-SUBMIT to
+79332505884) pins the new alpha and sms checks and the run-log line.
docs/help/api updated; sw cache simple-v388 (help pages changed).
Tests: 819 frontend + 726 Python.
This commit is contained in:
@@ -281,7 +281,10 @@ def _normalise_params(kind, p):
|
||||
if mode not in ('exact', 'contains'):
|
||||
raise ScriptError('menu-select: mode must be exact or contains')
|
||||
out['mode'] = mode
|
||||
out['case_sensitive'] = bool(p.get('case_sensitive', True))
|
||||
# Menu labels are UI text: case-insensitive by default (no test
|
||||
# scripts predate this choice); `case_sensitive: true` forces an
|
||||
# exact-case match.
|
||||
out['case_sensitive'] = bool(p.get('case_sensitive', False))
|
||||
if not out:
|
||||
raise ScriptError('menu-select: item_id or text is required')
|
||||
if 'item_id' in out and 'text' in out:
|
||||
|
||||
Reference in New Issue
Block a user