Skip to content

Commit 310090e

Browse files
committed
test(cli): harden agent output e2e parsing
1 parent 6c907b6 commit 310090e

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

apps/cli/src/legacy/cli/agent-output.e2e.test.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,29 @@
11
import { describe, expect, test } from "vitest";
22
import { runSupabase } from "../../../tests/helpers/cli.ts";
33

4+
function stripAnsi(output: string): string {
5+
let stripped = "";
6+
for (let i = 0; i < output.length; i++) {
7+
const charCode = output.charCodeAt(i);
8+
if (charCode !== 0x1b || output[i + 1] !== "[") {
9+
stripped += output[i];
10+
continue;
11+
}
12+
13+
i += 2;
14+
while (i < output.length) {
15+
const code = output.charCodeAt(i);
16+
if (code >= 0x40 && code <= 0x7e) {
17+
break;
18+
}
19+
i++;
20+
}
21+
}
22+
return stripped;
23+
}
24+
425
function parseJsonLines(output: string): Array<unknown> {
5-
return output
26+
return stripAnsi(output)
627
.trim()
728
.split("\n")
829
.filter((line) => line.length > 0)

0 commit comments

Comments
 (0)