X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=sidebyside;f=test%2Funit%2Fcore.js;h=576deb7b91a95dabf7c791f3d85e88f79388e782;hb=a5f8a1441158b66efb76de1d15f061f87f7bdc17;hp=f5f38532d8c1c56c26e30dfe526052b298abbbf1;hpb=b8d0c0711f8a9ecd455d4c3cf13394e55c4bf151;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index f5f3853..576deb7 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -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(){