feat(simulation): add literal screen text matching (#36085)

This commit is contained in:
James Long 2026-07-09 10:50:35 -04:00 committed by GitHub
commit 855a9569b5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 45 additions and 0 deletions

View file

@ -104,6 +104,10 @@ export function state(harness: Harness) {
}
}
export function matches(harness: Pick<Harness, "screen">, text: string) {
return harness.screen().includes(text)
}
export async function screenshot(harness: Harness, name?: string) {
await harness.renderOnce()
const image = SimulationPng.screenshot(harness.renderer)

View file

@ -21,6 +21,8 @@ async function handle(
case "ui.state": {
return SimulationActions.state(harness)
}
case "ui.matches":
return SimulationActions.matches(harness, request.params.text)
case "ui.recording.finish":
if (!finishRecording) throw new Error("UI recording is not available")
return finishRecording()