Make sure that calling .width(num) or .height(num) on an empty set returns the empty...
[jquery.git] / test / unit / core.js
index f5f3853..576deb7 100644 (file)
@@ -16,7 +16,7 @@ test("jQuery()", function() {
 
        // Basic constructor's behavior
 
-       equals( jQuery().length, 1, "jQuery() === jQuery(document)" );
+       equals( jQuery().length, 0, "jQuery() === jQuery([])" );
        equals( jQuery(undefined).length, 0, "jQuery(undefined) === jQuery([])" );
        equals( jQuery(null).length, 0, "jQuery(null) === jQuery([])" );
        equals( jQuery("").length, 0, "jQuery('') === jQuery([])" );
@@ -200,41 +200,41 @@ test("trim", function() {
   equals( jQuery.trim("  " + nbsp + "hello  " + nbsp + " "), "hello", " " );
 });
 
-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();
        };
@@ -711,7 +711,7 @@ test("jQuery.each(Object,Function)", function() {
 });
 
 test("jQuery.makeArray", function(){
-       expect(15);
+       expect(17);
 
        equals( jQuery.makeArray(jQuery('html>*'))[0].nodeName.toUpperCase(), "HEAD", "Pass makeArray a jQuery object" );
 
@@ -744,6 +744,10 @@ test("jQuery.makeArray", function(){
        equals( jQuery.makeArray(/a/)[0].constructor, RegExp, "Pass makeArray a regex" );
 
        ok( jQuery.makeArray(document.getElementById('form')).length >= 13, "Pass makeArray a form (treat as elements)" );
+
+       // For #5610
+       same( jQuery.makeArray({'length': '0'}), [], "Make sure object is coerced properly.");
+       same( jQuery.makeArray({'length': '5'}), [], "Make sure object is coerced properly.");
 });
 
 test("jQuery.isEmptyObject", function(){