]> source.dussan.org Git - jquery.git/commitdiff
Add unit tests for jQuery.grep. Close gh-1345.
authorAmey Sakhadeo <me@ameyms.com>
Thu, 12 Sep 2013 16:18:36 +0000 (11:18 -0500)
committerTimmy Willison <timmywillisn@gmail.com>
Thu, 12 Sep 2013 16:19:38 +0000 (11:19 -0500)
test/unit/core.js

index f009074271f4d01ab016cab3a2eca69b2f07e77a..5677ddc3d3b5d54794c0a38d141422cc18bbc73b 100644 (file)
@@ -964,6 +964,26 @@ test("jQuery.merge()", function() {
        );
 });
 
+test("jQuery.grep()", function() {
+       expect(8);
+
+       var searchCriterion = function( value ) {
+               return value % 2 === 0;
+       };
+
+       deepEqual( jQuery.grep( [], searchCriterion ), [], "Empty array" );
+       deepEqual( jQuery.grep( new Array(4), searchCriterion ), [], "Sparse array" );
+
+       deepEqual( jQuery.grep( [ 1, 2, 3, 4, 5, 6 ], searchCriterion ), [ 2, 4, 6 ], "Satisfying elements present" );
+       deepEqual( jQuery.grep( [ 1, 3, 5, 7], searchCriterion ), [], "Satisfying elements absent" );
+
+       deepEqual( jQuery.grep( [ 1, 2, 3, 4, 5, 6 ], searchCriterion, true ), [ 1, 3, 5 ], "Satisfying elements present and grep inverted" );
+       deepEqual( jQuery.grep( [ 1, 3, 5, 7], searchCriterion, true ), [1, 3, 5, 7], "Satisfying elements absent and grep inverted" );
+
+       deepEqual( jQuery.grep( [ 1, 2, 3, 4, 5, 6 ], searchCriterion, false ), [ 2, 4, 6 ], "Satisfying elements present but grep explicitly uninverted" );
+       deepEqual( jQuery.grep( [ 1, 3, 5, 7 ], searchCriterion, false ), [], "Satisfying elements absent and grep explicitly uninverted" );
+});
+
 test("jQuery.extend(Object, Object)", function() {
        expect(28);