File tree Expand file tree Collapse file tree 1 file changed +5
-13
lines changed Expand file tree Collapse file tree 1 file changed +5
-13
lines changed Original file line number Diff line number Diff line change @@ -414,33 +414,25 @@ function compareBranch(
414414 }
415415
416416 // Check for Set object equality
417- // TODO(aduh95): switch to `SetPrototypeIsSubsetOf` when it's available
418417 if ( isSet ( actual ) && isSet ( expected ) ) {
419418 if ( expected . size > actual . size ) {
420419 return false ; // `expected` can't be a subset if it has more elements
421420 }
422421
423422 if ( isDeepEqual === undefined ) lazyLoadComparison ( ) ;
424423
425- const actualArray = ArrayFrom ( actual ) ;
426- const expectedArray = ArrayFrom ( expected ) ;
424+ const actualArray = ArrayFrom ( FunctionPrototypeCall ( SafeSet . prototype [ SymbolIterator ] , actual ) ) ;
425+ const expectedIterator = FunctionPrototypeCall ( SafeSet . prototype [ SymbolIterator ] , expected ) ;
427426 const usedIndices = new SafeSet ( ) ;
428427
429- for ( let expectedIdx = 0 ; expectedIdx < expectedArray . length ; expectedIdx ++ ) {
430- const expectedItem = expectedArray [ expectedIdx ] ;
431- let found = false ;
432-
428+ expectedIteration: for ( const expectedItem of expectedIterator ) {
433429 for ( let actualIdx = 0 ; actualIdx < actualArray . length ; actualIdx ++ ) {
434430 if ( ! usedIndices . has ( actualIdx ) && isDeepStrictEqual ( actualArray [ actualIdx ] , expectedItem ) ) {
435431 usedIndices . add ( actualIdx ) ;
436- found = true ;
437- break ;
432+ continue expectedIteration;
438433 }
439434 }
440-
441- if ( ! found ) {
442- return false ;
443- }
435+ return false ;
444436 }
445437
446438 return true ;
You can’t perform that action at this time.
0 commit comments