Fixes #7413; isEmptyObject() check to see if obj passes isPlainObject

This commit is contained in:
rwldrn 2010-11-09 16:14:11 -05:00
parent a64dc04050
commit fc563cc42a
2 changed files with 17 additions and 4 deletions

View file

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

View file

@ -848,13 +848,20 @@ test("jQuery.makeArray", function(){
});
test("jQuery.isEmptyObject", function(){
expect(2);
expect(11);
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(1), "isEmptyObject on number (wrong argument type)");
equals(false, jQuery.isEmptyObject(0), "isEmptyObject on falsy number (wrong argument type)");
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)" );
// What about this ?
// equals(true, jQuery.isEmptyObject(null), "isEmptyObject on null" );
});
test("jQuery.proxy", function(){