Skip to content

Commit 636a3d5

Browse files
committed
[red] Reach IME-occluded Blockly actions
Signed-off-by: Viwat Vchirawongkwin <viwat.v@chula.ac.th>
1 parent ae59f6c commit 636a3d5

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

‎tests/publication/test_ci_contract.py‎

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,49 @@ def test_android_integration_uses_full_aosp_without_gms(self) -> None:
323323
android,
324324
)
325325

326+
def test_android_blockly_smoke_reveals_ime_occluded_action(self) -> None:
327+
suite = (
328+
REPO_ROOT / "app" / "integration_test" / "blockly_webview_suite.dart"
329+
).read_text(encoding="utf-8")
330+
331+
enter_gpio = suite.index(
332+
"await tester.enterText("
333+
"find.widgetWithText(TextField, 'LED GPIO'), '17');"
334+
)
335+
required_snippets = (
336+
"final Finder replaceWorkspaceAction = find.byKey(",
337+
"kBlocksExampleReplaceWorkspaceButtonKey",
338+
"await tester.ensureVisible(replaceWorkspaceAction);",
339+
"expect(replaceWorkspaceAction.hitTestable(), findsOneWidget);",
340+
"await tester.tap(replaceWorkspaceAction);",
341+
)
342+
for snippet in required_snippets:
343+
self.assertTrue(
344+
snippet in suite,
345+
f"missing Android Blockly interaction contract: {snippet}",
346+
)
347+
348+
define_action = suite.index(required_snippets[0], enter_gpio)
349+
action_key = suite.index(required_snippets[1], define_action)
350+
reveal_action = suite.index(
351+
required_snippets[2],
352+
action_key,
353+
)
354+
hit_test = suite.index(
355+
required_snippets[3],
356+
reveal_action,
357+
)
358+
tap_action = suite.index(
359+
required_snippets[4],
360+
hit_test,
361+
)
362+
363+
self.assertLess(enter_gpio, define_action)
364+
self.assertLess(define_action, action_key)
365+
self.assertLess(action_key, reveal_action)
366+
self.assertLess(reveal_action, hit_test)
367+
self.assertLess(hit_test, tap_action)
368+
326369
def test_workflow_has_no_adjacent_duplicate_shell_key(self) -> None:
327370
workflow = (REPO_ROOT / ".github" / "workflows" / "ci.yml").read_text(
328371
encoding="utf-8"

0 commit comments

Comments
 (0)