Add some tests for jQuery.isWindow and make sure that we're operating against an object before testing.
This commit is contained in:
parent
c8dd49f756
commit
d7a6e75241
|
@ -476,7 +476,7 @@ jQuery.extend({
|
||||||
|
|
||||||
// A crude way of determining if an object is a window
|
// A crude way of determining if an object is a window
|
||||||
isWindow: function( obj ) {
|
isWindow: function( obj ) {
|
||||||
return "setInterval" in obj;
|
return obj && typeof obj === "object" && "setInterval" in obj;
|
||||||
},
|
},
|
||||||
|
|
||||||
type: function( obj ) {
|
type: function( obj ) {
|
||||||
|
|
|
@ -432,6 +432,25 @@ test("isXMLDoc - XML", function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
test("isWindow", function() {
|
||||||
|
expect( 12 );
|
||||||
|
|
||||||
|
ok( jQuery.isWindow(window), "window" );
|
||||||
|
ok( !jQuery.isWindow(), "empty" );
|
||||||
|
ok( !jQuery.isWindow(null), "null" );
|
||||||
|
ok( !jQuery.isWindow(undefined), "undefined" );
|
||||||
|
ok( !jQuery.isWindow(document), "document" );
|
||||||
|
ok( !jQuery.isWindow(document.documentElement), "documentElement" );
|
||||||
|
ok( !jQuery.isWindow(""), "string" );
|
||||||
|
ok( !jQuery.isWindow(1), "number" );
|
||||||
|
ok( !jQuery.isWindow(true), "boolean" );
|
||||||
|
ok( !jQuery.isWindow({}), "object" );
|
||||||
|
// HMMM
|
||||||
|
// ok( !jQuery.isWindow({ setInterval: function(){} }), "fake window" );
|
||||||
|
ok( !jQuery.isWindow(/window/), "regexp" );
|
||||||
|
ok( !jQuery.isWindow(function(){}), "function" );
|
||||||
|
});
|
||||||
|
|
||||||
test("jQuery('html')", function() {
|
test("jQuery('html')", function() {
|
||||||
expect(15);
|
expect(15);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue