Renamed isObjectLiteral to isPlainObject (makes more sense, per the suggestion of...
authorJohn Resig <jeresig@gmail.com>
Sun, 6 Dec 2009 22:11:51 +0000 (17:11 -0500)
committerJohn Resig <jeresig@gmail.com>
Sun, 6 Dec 2009 22:11:51 +0000 (17:11 -0500)
src/core.js
test/unit/core.js

index 4949d6b..4091111 100644 (file)
@@ -273,9 +273,9 @@ jQuery.extend = jQuery.fn.extend = function() {
                                }
 
                                // 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
-                                       var clone = src && jQuery.isObjectLiteral(src) ? src : {};
+                                       var clone = src && jQuery.isPlainObject(src) ? src : {};
 
                                        // Never move original objects, clone them
                                        target[ name ] = jQuery.extend( deep, clone, copy );
@@ -314,7 +314,7 @@ jQuery.extend({
                return toString.call(obj) === "[object Array]";
        },
 
-       isObjectLiteral: function( obj ) {
+       isPlainObject: function( obj ) {
                if ( toString.call(obj) !== "[object Object]" || typeof obj.nodeType === "number" ) {
                        return false;
                }
index f5f3853..df610eb 100644 (file)
@@ -200,41 +200,41 @@ test("trim", function() {
   equals( jQuery.trim("  " + nbsp + "hello  " + nbsp + " "), "hello", "&nbsp;" );
 });
 
-test("isObjectLiteral", function() {
+test("isPlainObject", function() {
        expect(7);
 
        stop();
 
        // The use case that we want to match
-       ok(jQuery.isObjectLiteral({}), "{}");
+       ok(jQuery.isPlainObject({}), "{}");
  
        // Instantiated objects shouldn't be matched
-       ok(!jQuery.isObjectLiteral(new Date), "new Date");
+       ok(!jQuery.isPlainObject(new Date), "new Date");
  
        var fn = function(){};
  
        // Functions shouldn't be matched
-       ok(!jQuery.isObjectLiteral(fn), "fn");
+       ok(!jQuery.isPlainObject(fn), "fn");
  
        // 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
        // (and harder to detect, incidentally)
        fn.prototype = {someMethod: function(){}};
  
        // Again, instantiated objects shouldn't be matched
-       ok(!jQuery.isObjectLiteral(new fn), "new fn");
+       ok(!jQuery.isPlainObject(new fn), "new fn");
 
        // DOM Element
-       ok(!jQuery.isObjectLiteral(document.createElement("div")), "DOM Element");
+       ok(!jQuery.isPlainObject(document.createElement("div")), "DOM Element");
  
        var iframe = document.createElement("iframe");
        document.body.appendChild(iframe);
 
        window.iframeDone = function(otherObject){
                // 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 );
                start();
        };