@@ -139,68 +139,13 @@ describe('Streamify', () => {
139139 } )
140140 } , `{"a":[{"name":"name","arr":[],"date":"${ date . toJSON ( ) } "}]}` ) ) ;
141141
142- it ( `{ a: [Circular] } should be {"a":"[Circular]"}` , ( ) => {
143- let data = { } ;
144- data . a = data ;
145-
146- let deferred0 = Promise . defer ( ) ;
147- let deferred1 = Promise . defer ( ) ;
148- let str = '' ;
149- new JSONStreamify ( data )
150- . once ( 'circular' , err => {
151- try {
152- expect ( err ) . to . be . ok ( ) ;
153- } catch ( err ) {
154- return deferred1 . reject ( err ) ;
155- }
156- deferred1 . resolve ( ) ;
157- } )
158- . on ( 'data' , data => str += data . toString ( ) )
159- . once ( 'end' , ( ) => {
160- try {
161- expect ( str ) . to . equal ( `{"a":"[Circular]"}` ) ;
162- } catch ( err ) {
163- return deferred0 . reject ( err ) ;
164- }
165- deferred0 . resolve ( ) ;
166- } ) ;
167-
168- return Promise . all ( [ deferred0 . promise , deferred1 . promise ] ) ;
169- } ) ;
170-
171- it ( `{ a: [Circular] } should be {"a":"custom"}` , ( ) => {
172- let data = { } ;
173- data . a = data ;
174-
175- let deferred0 = Promise . defer ( ) ;
176- let deferred1 = Promise . defer ( ) ;
177- let str = '' ;
178- new JSONStreamify ( data )
179- . once ( 'circular' , err => {
180- try {
181- expect ( err ) . to . be . ok ( ) ;
182- expect ( err . replace ) . to . be . a ( Function ) ;
183- err . replace ( Promise . resolve ( 'custom' ) ) ;
184- } catch ( err ) {
185- return deferred1 . reject ( err ) ;
186- }
187- deferred1 . resolve ( ) ;
188- } )
189- . on ( 'data' , data => str += data . toString ( ) )
190- . once ( 'end' , ( ) => {
191- try {
192- expect ( str ) . to . equal ( `{"a":"custom"}` ) ;
193- } catch ( err ) {
194- return deferred0 . reject ( err ) ;
195- }
196- deferred0 . resolve ( ) ;
197- } ) ;
198-
199- return Promise . all ( [ deferred0 . promise , deferred1 . promise ] ) ;
200- } ) ;
201-
202142 let circularData0 = { } ;
203143 circularData0 . a = circularData0 ;
204- circularData0 . b = [ circularData0 , { a : circularData0 } ]
205- it ( '{a: Circular, b: [Circular, { a: Circular }]} should be {"a":"[Circular]","b":["[Circular]",{"a":"[Circular]"}]}' , createTest ( circularData0 , '{"a":"[Circular]","b":["[Circular]",{"a":"[Circular]"}]}' ) ) ;
144+ it ( `{ a: a } should be {"a":"~"}` , createTest ( circularData0 , `{"a":"~"}` ) ) ;
145+
146+ let circularData1 = { } ;
147+ circularData1 . a = circularData1 ;
148+ circularData1 . b = [ circularData1 , { a : circularData1 } ]
149+ circularData1 . b [ 3 ] = circularData1 . b [ 1 ] ;
150+ it ( '{a: a, b: [a, { a: a },,a.b.1]} should be {"a":"~","b":["~",{"a":"~"},null,"~b~1"]}' , createTest ( circularData1 , '{"a":"~","b":["~",{"a":"~"},null,"~b~1"]}' ) ) ;
206151} ) ;
0 commit comments