Skip to content

Commit afd1885

Browse files
committed
test: run 10 times in instance-reuse tests
1 parent 710e7d4 commit afd1885

File tree

1 file changed

+36
-98
lines changed

1 file changed

+36
-98
lines changed

test/reuse-instances.test.ts

Lines changed: 36 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ const createStream = async function* (...args: any) {
77
}
88
};
99

10+
const N = 10;
11+
1012
describe("shared instances", () => {
1113
context("encode() and decodeSync()", () => {
12-
const encoder = new Encoder();
13-
const decoder = new Decoder();
14+
it("runs multiple times", () => {
15+
const encoder = new Encoder();
16+
const decoder = new Decoder();
1417

15-
it("runs #1", () => {
1618
const object = {
1719
nil: null,
1820
integer: 1,
@@ -24,32 +26,18 @@ describe("shared instances", () => {
2426
timestampExt: new Date(),
2527
};
2628

27-
const encoded: Uint8Array = encoder.encode(object);
28-
deepStrictEqual(decoder.decode(encoded), object);
29-
});
30-
31-
it("runs #2", () => {
32-
const object = {
33-
nil: null,
34-
integer: 1,
35-
float: Math.PI,
36-
string: "Hello, world!",
37-
binary: Uint8Array.from([1, 2, 3]),
38-
array: [10, 20, 30],
39-
map: { foo: "bar" },
40-
timestampExt: new Date(),
41-
};
42-
43-
const encoded: Uint8Array = encoder.encode(object);
44-
deepStrictEqual(decoder.decode(encoded), object);
29+
for (let i = 0; i < N; i++) {
30+
const encoded: Uint8Array = encoder.encode(object);
31+
deepStrictEqual(decoder.decode(encoded), object, `#${i}`);
32+
}
4533
});
4634
});
4735

4836
context("encode() and decodeAsync()", () => {
49-
const encoder = new Encoder();
50-
const decoder = new Decoder();
37+
it("runs multiple times", async () => {
38+
const encoder = new Encoder();
39+
const decoder = new Decoder();
5140

52-
it("runs #1", async () => {
5341
const object = {
5442
nil: null,
5543
integer: 1,
@@ -61,32 +49,18 @@ describe("shared instances", () => {
6149
timestampExt: new Date(),
6250
};
6351

64-
const encoded: Uint8Array = encoder.encode(object);
65-
deepStrictEqual(await decoder.decodeAsync(createStream(encoded)), object);
66-
});
67-
68-
it("runs #2", async () => {
69-
const object = {
70-
nil: null,
71-
integer: 1,
72-
float: Math.PI,
73-
string: "Hello, world!",
74-
binary: Uint8Array.from([1, 2, 3]),
75-
array: [10, 20, 30],
76-
map: { foo: "bar" },
77-
timestampExt: new Date(),
78-
};
79-
80-
const encoded: Uint8Array = encoder.encode(object);
81-
deepStrictEqual(await decoder.decodeAsync(createStream(encoded)), object);
52+
for (let i = 0; i < N; i++) {
53+
const encoded: Uint8Array = encoder.encode(object);
54+
deepStrictEqual(await decoder.decodeAsync(createStream(encoded)), object, `#${i}`);
55+
}
8256
});
8357
});
8458

8559
context("encode() and decodeStream()", () => {
86-
const encoder = new Encoder();
87-
const decoder = new Decoder();
60+
it("runs multiple times", async () => {
61+
const encoder = new Encoder();
62+
const decoder = new Decoder();
8863

89-
it("runs #1", async () => {
9064
const object = {
9165
nil: null,
9266
integer: 1,
@@ -98,60 +72,22 @@ describe("shared instances", () => {
9872
timestampExt: new Date(),
9973
};
10074

101-
const encoded: Uint8Array = encoder.encode(object);
102-
const a: Array<any> = [];
103-
for await (const item of decoder.decodeStream(createStream(encoded))) {
104-
a.push(item);
75+
for (let i = 0; i < N; i++) {
76+
const encoded: Uint8Array = encoder.encode(object);
77+
const a: Array<any> = [];
78+
for await (const item of decoder.decodeStream(createStream(encoded))) {
79+
a.push(item);
80+
}
81+
deepStrictEqual(a, [object], `#${i}`);
10582
}
106-
deepStrictEqual(a, [object]);
107-
});
108-
109-
it("runs #2", async () => {
110-
const object = {
111-
nil: null,
112-
integer: 1,
113-
float: Math.PI,
114-
string: "Hello, world!",
115-
binary: Uint8Array.from([1, 2, 3]),
116-
array: [10, 20, 30],
117-
map: { foo: "bar" },
118-
timestampExt: new Date(),
119-
};
120-
121-
const encoded: Uint8Array = encoder.encode(object);
122-
const a: Array<any> = [];
123-
for await (const item of decoder.decodeStream(createStream(encoded))) {
124-
a.push(item);
125-
}
126-
deepStrictEqual(a, [object]);
12783
});
12884
});
12985

13086
context("encode() and decodeArrayStream()", () => {
131-
const encoder = new Encoder();
132-
const decoder = new Decoder();
133-
134-
it("runs #1", async () => {
135-
const object = {
136-
nil: null,
137-
integer: 1,
138-
float: Math.PI,
139-
string: "Hello, world!",
140-
binary: Uint8Array.from([1, 2, 3]),
141-
array: [10, 20, 30],
142-
map: { foo: "bar" },
143-
timestampExt: new Date(),
144-
};
145-
146-
const encoded: Uint8Array = encoder.encode([object]);
147-
const a: Array<any> = [];
148-
for await (const item of decoder.decodeStream(createStream(encoded))) {
149-
a.push(item);
150-
}
151-
deepStrictEqual(a, [[object]]);
152-
});
87+
it("runs multiple times", async () => {
88+
const encoder = new Encoder();
89+
const decoder = new Decoder();
15390

154-
it("runs #2", async () => {
15591
const object = {
15692
nil: null,
15793
integer: 1,
@@ -163,12 +99,14 @@ describe("shared instances", () => {
16399
timestampExt: new Date(),
164100
};
165101

166-
const encoded: Uint8Array = encoder.encode([object]);
167-
const a: Array<any> = [];
168-
for await (const item of decoder.decodeStream(createStream(encoded))) {
169-
a.push(item);
102+
for (let i = 0; i < N; i++) {
103+
const encoded: Uint8Array = encoder.encode([object]);
104+
const a: Array<any> = [];
105+
for await (const item of decoder.decodeStream(createStream(encoded))) {
106+
a.push(item);
107+
}
108+
deepStrictEqual(a, [[object]], `#${i}`);
170109
}
171-
deepStrictEqual(a, [[object]]);
172110
});
173111
});
174112
});

0 commit comments

Comments
 (0)