@@ -6,6 +6,10 @@ import from from 'core-js-pure/es/array/from';
66import Symbol from 'core-js-pure/full/symbol' ;
77import zipKeyed from 'core-js-pure/full/iterator/zip-keyed' ;
88
9+ function nullProto ( obj ) {
10+ return Object . assign ( Object . create ( null ) , obj ) ;
11+ }
12+
913QUnit . test ( 'Iterator.zipKeyed' , assert => {
1014 assert . isFunction ( zipKeyed ) ;
1115 assert . arity ( zipKeyed , 1 ) ;
@@ -55,4 +59,41 @@ QUnit.test('Iterator.zipKeyed', assert => {
5559 assert . same ( result [ 2 ] [ bar ] , 6 ) ;
5660 assert . same ( result [ 2 ] . baz , 9 ) ;
5761 }
62+
63+ {
64+ const result = zipKeyed ( {
65+ a : [ 0 , 1 , 2 ] ,
66+ b : [ 3 , 4 , 5 , 6 , 7 ] ,
67+ c : [ 8 , 9 ] ,
68+ } , {
69+ mode : "longest" ,
70+ } ) ;
71+
72+ assert . deepEqual ( from ( result ) , [
73+ nullProto ( { a : 0 , b : 3 , c : 8 } ) ,
74+ nullProto ( { a : 1 , b : 4 , c : 9 } ) ,
75+ nullProto ( { a : 2 , b : 5 , c : undefined } ) ,
76+ nullProto ( { a : undefined , b : 6 , c : undefined } ) ,
77+ nullProto ( { a : undefined , b : 7 , c : undefined } ) ,
78+ ] ) ;
79+ }
80+
81+ {
82+ const result = zipKeyed ( {
83+ a : [ 0 , 1 , 2 ] ,
84+ b : [ 3 , 4 , 5 , 6 , 7 ] ,
85+ c : [ 8 , 9 ] ,
86+ } , {
87+ mode : "longest" ,
88+ padding : { a : 'A' , b : 'B' , c : 'C' } ,
89+ } ) ;
90+
91+ assert . deepEqual ( from ( result ) , [
92+ nullProto ( { a : 0 , b : 3 , c : 8 } ) ,
93+ nullProto ( { a : 1 , b : 4 , c : 9 } ) ,
94+ nullProto ( { a : 2 , b : 5 , c : 'C' } ) ,
95+ nullProto ( { a : 'A' , b : 6 , c : 'C' } ) ,
96+ nullProto ( { a : 'A' , b : 7 , c : 'C' } ) ,
97+ ] ) ;
98+ }
5899} ) ;
0 commit comments