Merge pull request #465 from anton-ryzhov/master

Fixes #10076. $.inArray crashes IE6 and Chrome if second argument is `null` or `undefined` (Thanks anton-ryzhov!)
This commit is contained in:
Dave Methvin 2011-08-25 12:22:47 -07:00
commit a839af034d
2 changed files with 13 additions and 0 deletions

View File

@ -679,6 +679,9 @@ jQuery.extend({
},
inArray: function( elem, array ) {
if ( !array ) {
return -1;
}
if ( indexOf ) {
return indexOf.call( array, elem );

View File

@ -934,6 +934,16 @@ test("jQuery.makeArray", function(){
same( jQuery.makeArray({length: "5"}), [], "Make sure object is coerced properly.");
});
test("jQuery.inArray", function(){
expect(3);
equals( jQuery.inArray( 0, false ), -1 , "Search in 'false' as array returns -1 and doesn't throw exception" );
equals( jQuery.inArray( 0, null ), -1 , "Search in 'null' as array returns -1 and doesn't throw exception" );
equals( jQuery.inArray( 0, undefined ), -1 , "Search in 'undefined' as array returns -1 and doesn't throw exception" );
});
test("jQuery.isEmptyObject", function(){
expect(2);