test(coding-agent): improved stdout geometry stubs in tests

- Added no-op setters to process.stdout properties in test geometry stubs.
- Prevented potential errors when code under test attempts to reassign stdout dimensions.
This commit is contained in:
can1357
2026-06-25 05:15:40 +02:00
parent 72f121ee2c
commit 366313df33
4 changed files with 7 additions and 7 deletions
@@ -36,8 +36,8 @@ function stubStdoutGeometry(cols: number): { setRows(n: number): void; restore()
const rowsDesc = Object.getOwnPropertyDescriptor(process.stdout, "rows");
const colsDesc = Object.getOwnPropertyDescriptor(process.stdout, "columns");
let rows = 24;
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => rows });
Object.defineProperty(process.stdout, "columns", { configurable: true, get: () => cols });
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => rows, set: () => {} });
Object.defineProperty(process.stdout, "columns", { configurable: true, get: () => cols, set: () => {} });
const restoreOne = (key: "rows" | "columns", desc: PropertyDescriptor | undefined) => {
if (desc) Object.defineProperty(process.stdout, key, desc);
else Object.defineProperty(process.stdout, key, { configurable: true, value: undefined, writable: true });
@@ -123,7 +123,7 @@ describe("AgentTranscriptViewer", () => {
await Settings.init({ inMemory: true });
initTheme();
rowsDesc = Object.getOwnPropertyDescriptor(process.stdout, "rows");
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => 24 });
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => 24, set: () => {} });
});
afterEach(() => {
@@ -23,8 +23,8 @@ function stubStdoutGeometry(cols: number): GeometryStub {
const rowsDesc = Object.getOwnPropertyDescriptor(process.stdout, "rows");
const colsDesc = Object.getOwnPropertyDescriptor(process.stdout, "columns");
let rows = 24;
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => rows });
Object.defineProperty(process.stdout, "columns", { configurable: true, get: () => cols });
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => rows, set: () => {} });
Object.defineProperty(process.stdout, "columns", { configurable: true, get: () => cols, set: () => {} });
const restoreOne = (key: "rows" | "columns", desc: PropertyDescriptor | undefined) => {
if (desc) Object.defineProperty(process.stdout, key, desc);
else Object.defineProperty(process.stdout, key, { configurable: true, value: undefined, writable: true });
@@ -25,8 +25,8 @@ function stubStdoutGeometry(cols: number): { restore(): void } {
const rowsDesc = Object.getOwnPropertyDescriptor(process.stdout, "rows");
const colsDesc = Object.getOwnPropertyDescriptor(process.stdout, "columns");
const rows = 40;
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => rows });
Object.defineProperty(process.stdout, "columns", { configurable: true, get: () => cols });
Object.defineProperty(process.stdout, "rows", { configurable: true, get: () => rows, set: () => {} });
Object.defineProperty(process.stdout, "columns", { configurable: true, get: () => cols, set: () => {} });
const restoreOne = (key: "rows" | "columns", desc: PropertyDescriptor | undefined) => {
if (desc) Object.defineProperty(process.stdout, key, desc);
else Object.defineProperty(process.stdout, key, { configurable: true, value: undefined, writable: true });