aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjeresig <jeresig@gmail.com>2009-12-02 14:57:13 -0500
committerjeresig <jeresig@gmail.com>2009-12-02 14:57:13 -0500
commitb8d0c0711f8a9ecd455d4c3cf13394e55c4bf151 (patch)
treede4f2946fa7ed12a0e3d16b59755488d9ef122fc
parente277e6ed2120e9930193582307b8296ed37bd663 (diff)
downloadjquery-b8d0c0711f8a9ecd455d4c3cf13394e55c4bf151.tar.gz
jquery-b8d0c0711f8a9ecd455d4c3cf13394e55c4bf151.zip
Added some isObjectLiteral tests.
-rw-r--r--test/unit/core.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/test/unit/core.js b/test/unit/core.js
index 0640cf5ce..f5f38532d 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -200,6 +200,51 @@ test("trim", function() {
equals( jQuery.trim(" " + nbsp + "hello " + nbsp + " "), "hello", "&nbsp;" );
});
+test("isObjectLiteral", function() {
+ expect(7);
+
+ stop();
+
+ // The use case that we want to match
+ ok(jQuery.isObjectLiteral({}), "{}");
+
+ // Instantiated objects shouldn't be matched
+ ok(!jQuery.isObjectLiteral(new Date), "new Date");
+
+ var fn = function(){};
+
+ // Functions shouldn't be matched
+ ok(!jQuery.isObjectLiteral(fn), "fn");
+
+ // Again, instantiated objects shouldn't be matched
+ ok(!jQuery.isObjectLiteral(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");
+
+ // DOM Element
+ ok(!jQuery.isObjectLiteral(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");
+ document.body.removeChild( iframe );
+ start();
+ };
+
+ var doc = iframe.contentDocument || iframe.contentWindow.document;
+ doc.open();
+ doc.write("<body onload='window.top.iframeDone(Object);'>");
+ doc.close();
+});
+
test("isFunction", function() {
expect(19);