Merge branch 'bug_7413' of https://github.com/rwldrn/jquery into rwldrn-bug_7413

This commit is contained in:
jeresig 2010-12-09 12:32:15 -05:00
commit fb6c038bf0
2 changed files with 17 additions and 4 deletions

View file

@ -532,6 +532,12 @@ jQuery.extend({
}, },
isEmptyObject: function( obj ) { isEmptyObject: function( obj ) {
// Fixes #7413 Check to see if obj passes isPlainObject
if ( !jQuery.isPlainObject( obj ) ) {
return false;
}
for ( var name in obj ) { for ( var name in obj ) {
return false; return false;
} }

View file

@ -848,13 +848,20 @@ test("jQuery.makeArray", function(){
}); });
test("jQuery.isEmptyObject", function(){ test("jQuery.isEmptyObject", function(){
expect(2); expect(11);
equals(true, jQuery.isEmptyObject({}), "isEmptyObject on empty object literal" ); equals(true, jQuery.isEmptyObject({}), "isEmptyObject on empty object literal" );
equals(false, jQuery.isEmptyObject({a:1}), "isEmptyObject on non-empty object literal" ); equals(false, jQuery.isEmptyObject({a:1}), "isEmptyObject on non-empty object literal" );
equals(false, jQuery.isEmptyObject(1), "isEmptyObject on number (wrong argument type)");
// What about this ? equals(false, jQuery.isEmptyObject(0), "isEmptyObject on falsy number (wrong argument type)");
// equals(true, jQuery.isEmptyObject(null), "isEmptyObject on null" ); equals(false, jQuery.isEmptyObject("test"), "isEmptyObject on string (wrong argument type)");
equals(false, jQuery.isEmptyObject(""), "isEmptyObject on falsy string (wrong argument type)");
equals(false, jQuery.isEmptyObject([1,2,3]), "isEmptyObject on array (wrong argument type)");
equals(false, jQuery.isEmptyObject([]), "isEmptyObject on an empty array (wrong argument type)");
equals(false, jQuery.isEmptyObject(undefined), "isEmptyObject on undefined (wrong argument type)");
equals(false, jQuery.isEmptyObject(false), "isEmptyObject on undefined (wrong argument type)");
equals(false, jQuery.isEmptyObject(null), "isEmptyObject on null (wrong argument type)" );
}); });
test("jQuery.proxy", function(){ test("jQuery.proxy", function(){