mirror of
https://github.com/getpaseo/paseo.git
synced 2026-11-10 02:15:02 +00:00
test(terminal): prepare replay input before signaling readiness
The replay fixture used its last history row as readiness before installing readline. Register the input handler first so the parent cannot send the pre-cut command during that setup gap.
This commit is contained in:
@@ -1796,7 +1796,6 @@ it("replays bounded ANSI chunks independently of live output and reconstructs th
|
||||
rows: 8,
|
||||
cols: 120,
|
||||
...nodeTerminalCommand(`
|
||||
for (let i = 0; i < 800; i++) process.stdout.write("\\x1b[31m" + String(i).padStart(4, "0") + ":" + "x".repeat(100) + "\\x1b[0m\\r\\n");
|
||||
require("node:readline").createInterface({ input: process.stdin }).on("line", line => {
|
||||
if (line !== "before") { process.stdout.write("LIVE-AFTER-REPLAY\\r\\n"); return; }
|
||||
process.stdout.write("PRE-CUT");
|
||||
@@ -1806,6 +1805,9 @@ it("replays bounded ANSI chunks independently of live output and reconstructs th
|
||||
process.stdout.write("\\r\\n");
|
||||
}, 5);
|
||||
});
|
||||
// The last history row is the parent's readiness signal. Install input
|
||||
// handling first so observing that row means the fixture can answer.
|
||||
for (let i = 0; i < 800; i++) process.stdout.write("\\x1b[31m" + String(i).padStart(4, "0") + ":" + "x".repeat(100) + "\\x1b[0m\\r\\n");
|
||||
setInterval(() => {}, 1000);
|
||||
`),
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user