@@ -7,12 +7,14 @@ const createStream = async function* (...args: any) {
77 }
88} ;
99
10+ const N = 10 ;
11+
1012describe ( "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