Skip to content
Permalink
Browse files

Added some isObjectLiteral tests.

  • Loading branch information
jeresig committed Dec 2, 2009
1 parent e277e6e commit b8d0c0711f8a9ecd455d4c3cf13394e55c4bf151
Showing with 45 additions and 0 deletions.
  1. +45 −0 test/unit/core.js
@@ -200,6 +200,51 @@ test("trim", function() {
equals( jQuery.trim(" " + nbsp + "hello " + nbsp + " "), "hello", " " );
});

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);

0 comments on commit b8d0c07

Please sign in to comment.
You can’t perform that action at this time.