Skip to content

Commit e299a31

Browse files
committed
tests: added browser-safe inspect for tests
1 parent 74a68bc commit e299a31

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

src.ts/_tests/test-contract-integ.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import assert from "assert";
22

3+
import { inspect } from "./utils.js";
34

45
import { ethers } from "../index.js";
56

@@ -13,7 +14,7 @@ describe("Tests contract integration", function() {
1314
const provider = new ethers.JsonRpcProvider("http:/\/127.0.0.1:8545");
1415
provider.on("error", (error: any) => {
1516
if (error && error.event === "initial-network-discovery") {
16-
console.dir(error.info, { depth: null });
17+
console.log(inspect(error));
1718
provider.off("error");
1819
}
1920
});

src.ts/_tests/test-contract.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import assert from "assert";
33

44
import { getProvider, setupProviders } from "./create-provider.js";
5+
import { inspect } from "./utils.js";
56

67
import {
78
Contract, ContractFactory, EventLog, isError, JsonRpcProvider,
@@ -267,7 +268,7 @@ describe("Test Typed Contract Interaction", function() {
267268
const provider = new JsonRpcProvider("http:/\/127.0.0.1:8545");
268269
provider.on("error", (error: any) => {
269270
if (error && error.event === "initial-network-discovery") {
270-
console.dir(error, { depth: null });
271+
console.log(inspect(error));
271272
provider.off("error");
272273
}
273274
});

src.ts/_tests/utils.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,3 +133,29 @@ export class Stats {
133133
134134
export const stats = new Stats(_guard);
135135
*/
136+
137+
138+
export function inspect(value: any): string {
139+
if (Array.isArray(value)) {
140+
return "[" + value.map((v) => inspect(v)).join(", ") + "]";
141+
}
142+
143+
switch (typeof(value)) {
144+
case "bigint":
145+
return value.toString() + "n";
146+
case "boolean":
147+
case "number":
148+
case "string":
149+
return JSON.stringify(value);
150+
case "symbol":
151+
return `[Symbol ${ String(value) }]`
152+
case "object":
153+
if (value == null) { return "null"; }
154+
return "{ " + Object.keys(value).map((key) => {
155+
return `${ key }=${ inspect(value[key]) }`;
156+
}).join(", ") + " }";
157+
}
158+
159+
return `[ unknown type: ${ value } ]`
160+
}
161+

0 commit comments

Comments
 (0)