Renamed isObjectLiteral to isPlainObject (makes more sense, per the suggestion of Michael Geary).
This commit is contained in:
parent
3c89e38fc2
commit
87ba780c69
2 changed files with 11 additions and 11 deletions
|
@ -273,9 +273,9 @@ jQuery.extend = jQuery.fn.extend = function() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recurse if we're merging object literal values
|
// Recurse if we're merging object literal values
|
||||||
if ( deep && copy && jQuery.isObjectLiteral(copy) ) {
|
if ( deep && copy && jQuery.isPlainObject(copy) ) {
|
||||||
// Don't extend not object literals
|
// Don't extend not object literals
|
||||||
var clone = src && jQuery.isObjectLiteral(src) ? src : {};
|
var clone = src && jQuery.isPlainObject(src) ? src : {};
|
||||||
|
|
||||||
// Never move original objects, clone them
|
// Never move original objects, clone them
|
||||||
target[ name ] = jQuery.extend( deep, clone, copy );
|
target[ name ] = jQuery.extend( deep, clone, copy );
|
||||||
|
@ -314,7 +314,7 @@ jQuery.extend({
|
||||||
return toString.call(obj) === "[object Array]";
|
return toString.call(obj) === "[object Array]";
|
||||||
},
|
},
|
||||||
|
|
||||||
isObjectLiteral: function( obj ) {
|
isPlainObject: function( obj ) {
|
||||||
if ( toString.call(obj) !== "[object Object]" || typeof obj.nodeType === "number" ) {
|
if ( toString.call(obj) !== "[object Object]" || typeof obj.nodeType === "number" ) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -200,41 +200,41 @@ test("trim", function() {
|
||||||
equals( jQuery.trim(" " + nbsp + "hello " + nbsp + " "), "hello", " " );
|
equals( jQuery.trim(" " + nbsp + "hello " + nbsp + " "), "hello", " " );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("isObjectLiteral", function() {
|
test("isPlainObject", function() {
|
||||||
expect(7);
|
expect(7);
|
||||||
|
|
||||||
stop();
|
stop();
|
||||||
|
|
||||||
// The use case that we want to match
|
// The use case that we want to match
|
||||||
ok(jQuery.isObjectLiteral({}), "{}");
|
ok(jQuery.isPlainObject({}), "{}");
|
||||||
|
|
||||||
// Instantiated objects shouldn't be matched
|
// Instantiated objects shouldn't be matched
|
||||||
ok(!jQuery.isObjectLiteral(new Date), "new Date");
|
ok(!jQuery.isPlainObject(new Date), "new Date");
|
||||||
|
|
||||||
var fn = function(){};
|
var fn = function(){};
|
||||||
|
|
||||||
// Functions shouldn't be matched
|
// Functions shouldn't be matched
|
||||||
ok(!jQuery.isObjectLiteral(fn), "fn");
|
ok(!jQuery.isPlainObject(fn), "fn");
|
||||||
|
|
||||||
// Again, instantiated objects shouldn't be matched
|
// Again, instantiated objects shouldn't be matched
|
||||||
ok(!jQuery.isObjectLiteral(new fn), "new fn (no methods)");
|
ok(!jQuery.isPlainObject(new fn), "new fn (no methods)");
|
||||||
|
|
||||||
// Makes the function a little more realistic
|
// Makes the function a little more realistic
|
||||||
// (and harder to detect, incidentally)
|
// (and harder to detect, incidentally)
|
||||||
fn.prototype = {someMethod: function(){}};
|
fn.prototype = {someMethod: function(){}};
|
||||||
|
|
||||||
// Again, instantiated objects shouldn't be matched
|
// Again, instantiated objects shouldn't be matched
|
||||||
ok(!jQuery.isObjectLiteral(new fn), "new fn");
|
ok(!jQuery.isPlainObject(new fn), "new fn");
|
||||||
|
|
||||||
// DOM Element
|
// DOM Element
|
||||||
ok(!jQuery.isObjectLiteral(document.createElement("div")), "DOM Element");
|
ok(!jQuery.isPlainObject(document.createElement("div")), "DOM Element");
|
||||||
|
|
||||||
var iframe = document.createElement("iframe");
|
var iframe = document.createElement("iframe");
|
||||||
document.body.appendChild(iframe);
|
document.body.appendChild(iframe);
|
||||||
|
|
||||||
window.iframeDone = function(otherObject){
|
window.iframeDone = function(otherObject){
|
||||||
// Objects from other windows should be matched
|
// Objects from other windows should be matched
|
||||||
ok(jQuery.isObjectLiteral(new otherObject), "new otherObject");
|
ok(jQuery.isPlainObject(new otherObject), "new otherObject");
|
||||||
document.body.removeChild( iframe );
|
document.body.removeChild( iframe );
|
||||||
start();
|
start();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue