X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=test%2Funit%2Fcore.js;h=252c9f99dad0ab63bd24360444c494d86c074854;hb=4e9fed3b16ed9612ed373d14a89294e98054f4dd;hp=4044bd85683dca98d9cfddc005bdf505a94750b3;hpb=ac00fe5bbb2a95fdb747f76fd9dd7c58ba6a531c;p=jquery.git diff --git a/test/unit/core.js b/test/unit/core.js index 4044bd8..252c9f9 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([])" ); @@ -189,6 +189,62 @@ test("noConflict", function() { jQuery = $$; }); +test("trim", function() { + expect(4); + + var nbsp = String.fromCharCode(160); + + equals( jQuery.trim("hello "), "hello", "trailing space" ); + equals( jQuery.trim(" hello"), "hello", "leading space" ); + equals( jQuery.trim(" hello "), "hello", "space on both sides" ); + equals( jQuery.trim(" " + nbsp + "hello " + nbsp + " "), "hello", " " ); +}); + +test("isPlainObject", function() { + expect(7); + + stop(); + + // The use case that we want to match + ok(jQuery.isPlainObject({}), "{}"); + + // Instantiated objects shouldn't be matched + ok(!jQuery.isPlainObject(new Date), "new Date"); + + var fn = function(){}; + + // Functions shouldn't be matched + ok(!jQuery.isPlainObject(fn), "fn"); + + // Again, instantiated objects shouldn't be matched + 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.isPlainObject(new fn), "new fn"); + + // 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.isPlainObject(new otherObject), "new otherObject"); + document.body.removeChild( iframe ); + start(); + }; + + var doc = iframe.contentDocument || iframe.contentWindow.document; + doc.open(); + doc.write(""); + doc.close(); +}); + test("isFunction", function() { expect(19);