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:
@@ -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 });
|
||||
|
||||
+2
-2
@@ -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 });
|
||||
|
||||
Reference in New Issue
Block a user