mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Added some isObjectLiteral tests.
This commit is contained in:
parent
e277e6ed21
commit
b8d0c0711f
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user