]> source.dussan.org Git - jquery.git/commitdiff
Ref #14313: Further code and test improvements
authorRichard Gibson <richard.gibson@gmail.com>
Tue, 3 Sep 2013 05:24:01 +0000 (01:24 -0400)
committerRichard Gibson <richard.gibson@gmail.com>
Tue, 3 Sep 2013 06:01:53 +0000 (02:01 -0400)
src/core.js
test/unit/core.js

index 82616eaa57cd4f7ba4e661864ced6cf7ff81074c..0eef72311ffa081a45c5c7956e760dddd2dc846d 100644 (file)
@@ -552,14 +552,12 @@ jQuery.extend({
        },
 
        merge: function( first, second ) {
-               var l = +second.length,
-                       i = first.length,
-                       j = 0;
+               var len = +second.length,
+                       j = 0,
+                       i = first.length;
 
-               if ( l ) {
-                       for ( ; j < l; j++ ) {
-                               first[ i++ ] = second[ j ];
-                       }
+               for ( ; j < len; j++ ) {
+                       first[ i++ ] = second[ j ];
                }
 
                first.length = i;
index a849591dde4ca10985d16fbfd8f352d2464da85c..00ae36a61d339f43a9c9672f1abfc39186eb451e 100644 (file)
@@ -903,25 +903,65 @@ test("jQuery.map", function() {
 });
 
 test("jQuery.merge()", function() {
-       expect(8);
+       expect( 10 );
 
-       deepEqual( jQuery.merge([],[]), [], "Empty arrays" );
+       deepEqual(
+               jQuery.merge( [], [] ),
+               [],
+               "Empty arrays"
+       );
 
-       deepEqual( jQuery.merge([ 1 ],[ 2 ]), [ 1, 2 ], "Basic" );
-       deepEqual( jQuery.merge([ 1, 2 ], [ 3, 4 ]), [ 1, 2, 3, 4 ], "Basic" );
+       deepEqual(
+               jQuery.merge( [ 1 ], [ 2 ] ),
+               [ 1, 2 ],
+               "Basic (single-element)"
+       );
+       deepEqual(
+               jQuery.merge( [ 1, 2 ], [ 3, 4 ] ),
+               [ 1, 2, 3, 4 ],
+               "Basic (multiple-element)"
+       );
 
-       deepEqual( jQuery.merge([ 1, 2 ],[]), [ 1, 2 ], "Second empty" );
-       deepEqual( jQuery.merge([],[ 1, 2 ]), [ 1, 2 ], "First empty" );
+       deepEqual(
+               jQuery.merge( [ 1, 2 ], [] ),
+               [ 1, 2 ],
+               "Second empty"
+       );
+       deepEqual(
+               jQuery.merge( [], [ 1, 2 ] ),
+               [ 1, 2 ],
+               "First empty"
+       );
 
        // Fixed at [5998], #3641
-       deepEqual( jQuery.merge([ -2, -1 ], [ 0, 1, 2 ]), [ -2, -1 , 0, 1, 2 ],
-               "Second array including a zero (falsy)");
+       deepEqual(
+               jQuery.merge( [ -2, -1 ], [ 0, 1, 2 ] ),
+               [ -2, -1 , 0, 1, 2 ],
+               "Second array including a zero (falsy)"
+       );
 
        // After fixing #5527
-       deepEqual( jQuery.merge([], [ null, undefined ]), [ null, undefined ],
-               "Second array including null and undefined values");
-       deepEqual( jQuery.merge({ length: 0 }, [ 1, 2 ] ), { length: 2, 0: 1, 1: 2},
-               "First array like");
+       deepEqual(
+               jQuery.merge( [], [ null, undefined ] ),
+               [ null, undefined ],
+               "Second array including null and undefined values"
+       );
+       deepEqual(
+               jQuery.merge( { length: 0 }, [ 1, 2 ] ),
+               { length: 2, 0: 1, 1: 2 },
+               "First array like"
+       );
+       deepEqual(
+               jQuery.merge( [ 1, 2 ], { length: 1, 0: 3 } ),
+               [ 1, 2, 3 ],
+               "Second array like"
+       );
+
+       deepEqual(
+               jQuery.merge( [], document.getElementById("lengthtest").getElementsByTagName("input") ),
+               [ document.getElementById("length"), document.getElementById("idTest") ],
+               "Second NodeList"
+       );
 });
 
 test("jQuery.extend(Object, Object)", function() {