fix(client): accept evidenced rolled target color

This commit is contained in:
QiuSW
2026-08-05 17:39:12 +08:00
parent 2e303f3829
commit 63bd873c26
2 changed files with 38 additions and 0 deletions
+24
View File
@@ -1730,6 +1730,30 @@ class SkuExitSpikeCapturerTests(unittest.TestCase):
self.assertEqual(_actions(device, "click"), [])
self.assertEqual(_actions(device, "swipe"), [])
def test_evidence_bound_rolled_target_color_variant_is_exactly_accepted(self) -> None:
hierarchy = _M_FIXTURE.read_text(encoding="utf-8")
old_bounds = "[372,1000][684,1024]"
new_bounds = "[126,1000][438,1024]"
self.assertEqual(hierarchy.count(old_bounds), 4)
device = _ExitEvidenceDevice(hierarchy.replace(old_bounds, new_bounds))
with TemporaryDirectory() as temporary:
target = Path(temporary) / "exit-evidence"
result = self._capturer(_FakeAdb(), device).capture("device-1", target)
manifest = json.loads(result.manifest_path.read_text(encoding="utf-8"))
self.assertEqual(manifest["back_attempts"], 1)
self.assertEqual(manifest["post_exit_status"], "human_review_required")
self.assertEqual(len(_actions(device, "pressKey")), 1)
unknown_device = _ExitEvidenceDevice(hierarchy.replace(old_bounds, "[127,1000][439,1024]"))
with TemporaryDirectory() as temporary:
target = Path(temporary) / "unknown"
with self.assertRaises(SkuSelectionError):
self._capturer(_FakeAdb(), unknown_device).capture("device-1", target)
self.assertEqual(_actions(unknown_device, "pressKey"), [])
self.assertFalse(target.exists())
def test_precondition_mismatch_or_drift_never_sends_back_or_leaves_artifacts(self) -> None:
class WrongScreen(_ExitEvidenceDevice):
def window_size(self) -> tuple[int, int]: