wip
This commit is contained in:
32
internal/harness/scenarios/chrome_survives_origin_mode.json
Normal file
32
internal/harness/scenarios/chrome_survives_origin_mode.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "chrome_survives_origin_mode",
|
||||
"cols": 120,
|
||||
"rows": 40,
|
||||
"scripts": [
|
||||
{
|
||||
"name": "origin-mode",
|
||||
"body": "#!/bin/sh\n# Child TUIs are allowed to use DEC origin mode internally, but the\n# host chrome must never inherit it. If CSI ? 6 h reaches the real\n# terminal, patterm's absolute CUPs for the tab bar/status/sidebar are\n# interpreted relative to the child scroll region and chrome appears\n# inside the viewport.\nprintf 'ORIGIN READY\\n'\nsleep 0.1\nprintf '\\033[5;20r'\nprintf '\\033[?6h'\nprintf '\\033[1;1HORIGIN MODE ACTIVE\\n'\nsleep 0.2\nprintf 'ORIGIN DONE\\n'\nsleep 5\n"
|
||||
}
|
||||
],
|
||||
"steps": [
|
||||
{
|
||||
"type": "mcp_call",
|
||||
"method": "spawn_process",
|
||||
"params": { "kind": "command", "argv": ["origin-mode"], "name": "origin-mode" }
|
||||
},
|
||||
{ "type": "wait_text", "contains": "ORIGIN DONE", "timeout_ms": 5000 },
|
||||
{ "type": "wait_stable", "timeout_ms": 2000 },
|
||||
{ "type": "assert_contains", "contains": "+ new" },
|
||||
{ "type": "assert_contains", "contains": "Processes" },
|
||||
{ "type": "assert_contains", "contains": "Agent Tree" },
|
||||
{ "type": "assert_contains", "contains": "Scratchpads" },
|
||||
{
|
||||
"type": "assert_regex",
|
||||
"regex": "(?m)^[^\\n]*\\+ new[^\\n]*Processes[^\\n]*$"
|
||||
},
|
||||
{
|
||||
"type": "assert_regex",
|
||||
"regex": "(?m)^origin-mode · you have control[^\\n]*Ctrl-K · palette[^\\n]*$"
|
||||
}
|
||||
]
|
||||
}
|
||||
18
internal/harness/scenarios/scratchpad_focus.json
Normal file
18
internal/harness/scenarios/scratchpad_focus.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "scratchpad_focus",
|
||||
"cols": 120,
|
||||
"rows": 40,
|
||||
"steps": [
|
||||
{
|
||||
"type": "mcp_call",
|
||||
"method": "scratchpad_write",
|
||||
"params": { "name": "notes.md", "content": "# Heading One\n\n- item alpha\n- item beta\n\nhello scratchpad" }
|
||||
},
|
||||
{ "type": "wait_stable", "timeout_ms": 2000 },
|
||||
{ "type": "assert_contains", "contains": "notes.md" },
|
||||
{ "type": "send_chord", "chord": "ctrl-s" },
|
||||
{ "type": "wait_text", "contains": "hello scratchpad", "timeout_ms": 5000 },
|
||||
{ "type": "assert_contains", "contains": "Heading One" },
|
||||
{ "type": "assert_contains", "contains": "item alpha" }
|
||||
]
|
||||
}
|
||||
40
internal/harness/scenarios/scratchpad_scroll.json
Normal file
40
internal/harness/scenarios/scratchpad_scroll.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "scratchpad_scroll",
|
||||
"cols": 120,
|
||||
"rows": 20,
|
||||
"steps": [
|
||||
{
|
||||
"type": "mcp_call",
|
||||
"method": "scratchpad_write",
|
||||
"params": {
|
||||
"name": "long.md",
|
||||
"content": "# Long pad\n\nline-01\nline-02\nline-03\nline-04\nline-05\nline-06\nline-07\nline-08\nline-09\nline-10\nline-11\nline-12\nline-13\nline-14\nline-15\nline-16\nline-17\nline-18\nline-19\nline-20\nline-21\nline-22\nline-23\nline-24\nline-25\nline-26\nline-27\nline-28\nline-29\nline-30\nfinal-marker"
|
||||
}
|
||||
},
|
||||
{ "type": "wait_stable", "timeout_ms": 2000 },
|
||||
{ "type": "send_chord", "chord": "ctrl-s" },
|
||||
{ "type": "wait_text", "contains": "line-01", "timeout_ms": 5000 },
|
||||
{ "type": "assert_not_contains", "contains": "final-marker" },
|
||||
{ "type": "send_chord", "chord": "wheel-down" },
|
||||
{ "type": "send_chord", "chord": "wheel-down" },
|
||||
{ "type": "send_chord", "chord": "wheel-down" },
|
||||
{ "type": "send_chord", "chord": "wheel-down" },
|
||||
{ "type": "send_chord", "chord": "wheel-down" },
|
||||
{ "type": "send_chord", "chord": "wheel-down" },
|
||||
{ "type": "send_chord", "chord": "wheel-down" },
|
||||
{ "type": "wait_text", "contains": "final-marker", "timeout_ms": 5000 },
|
||||
{ "type": "assert_contains", "contains": "final-marker" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "send_chord", "chord": "wheel-up" },
|
||||
{ "type": "wait_text", "contains": "line-01", "timeout_ms": 5000 },
|
||||
{ "type": "assert_contains", "contains": "line-01" }
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user