@@ -201,41 +201,33 @@ describe('dropUndefinedKeys()', () => {
201201 } ) ;
202202
203203 test ( 'should not throw on objects with circular reference' , ( ) => {
204- const dog : any = {
204+ const chicken : any = {
205205 food : undefined ,
206206 } ;
207207
208- const human = {
209- brain : undefined ,
210- pets : dog ,
208+ const egg = {
209+ edges : undefined ,
210+ contains : chicken ,
211211 } ;
212212
213- const rat = {
214- scares : human ,
215- weight : '4kg' ,
216- } ;
217-
218- dog . chases = rat ;
213+ chicken . lays = egg ;
219214
220- const result = dropUndefinedKeys ( human ) ;
215+ const droppedChicken = dropUndefinedKeys ( chicken ) ;
221216
222217 // Removes undefined keys
223- expect ( Object . keys ( result ) ) . toEqual ( [ 'pets' ] ) ;
224- expect ( Object . keys ( result . pets ) ) . toEqual ( [ 'chases' ] ) ;
225- expect ( Object . keys ( result . pets . chases ) ) . toEqual ( [ 'scares' , 'weight' ] ) ;
218+ expect ( Object . keys ( droppedChicken ) ) . toEqual ( [ 'lays' ] ) ;
219+ expect ( Object . keys ( droppedChicken . lays ) ) . toEqual ( [ 'contains' ] ) ;
226220
227221 // Returns new object
228- expect ( human === result ) . toBe ( false ) ;
229- expect ( dog === result . pets ) . toBe ( false ) ;
230- expect ( rat === result . pets . chases ) . toBe ( false ) ;
222+ expect ( chicken === droppedChicken ) . toBe ( false ) ;
223+ expect ( chicken . lays === droppedChicken . lays ) . toBe ( false ) ;
231224
232225 // Returns new references within objects
233- expect ( human === result . pets . chases . scares ) . toBe ( false ) ;
234- expect ( dog === result . pets . chases . scares . pets ) . toBe ( false ) ;
235- expect ( rat === result . pets . chases . scares . pets . chases ) . toBe ( false ) ;
226+ expect ( chicken === droppedChicken . lays . contains ) . toBe ( false ) ;
227+ expect ( egg === droppedChicken . lays . contains . lays ) . toBe ( false ) ;
236228
237229 // Keeps circular reference
238- expect ( result . pets . chases . scares === result ) . toBe ( true ) ;
230+ expect ( droppedChicken . lays . contains === droppedChicken ) . toBe ( true ) ;
239231 } ) ;
240232
241233 test ( 'arrays with circular reference' , ( ) => {
0 commit comments