Commit 0fcfac75 authored by RafaC3ABl Blais Masson's avatar RafaC3ABl Blais Masson Committed by Dave Methvin

Refine the jQuery.isWindow check.

parent 166b9d25
...@@ -476,9 +476,8 @@ jQuery.extend({ ...@@ -476,9 +476,8 @@ jQuery.extend({
return jQuery.type(obj) === "array"; return jQuery.type(obj) === "array";
}, },
// A crude way of determining if an object is a window
isWindow: function( obj ) { isWindow: function( obj ) {
return obj && typeof obj === "object" && "setInterval" in obj; return obj != null && obj == obj.window;
}, },
isNumeric: function( obj ) { isNumeric: function( obj ) {
......
...@@ -558,9 +558,10 @@ test("isXMLDoc - XML", function() { ...@@ -558,9 +558,10 @@ test("isXMLDoc - XML", function() {
} }
test("isWindow", function() { test("isWindow", function() {
expect( 12 ); expect( 14 );
ok( jQuery.isWindow(window), "window" ); ok( jQuery.isWindow(window), "window" );
ok( jQuery.isWindow(document.getElementsByTagName("iframe")[0].contentWindow), "iframe.contentWindow" );
ok( !jQuery.isWindow(), "empty" ); ok( !jQuery.isWindow(), "empty" );
ok( !jQuery.isWindow(null), "null" ); ok( !jQuery.isWindow(null), "null" );
ok( !jQuery.isWindow(undefined), "undefined" ); ok( !jQuery.isWindow(undefined), "undefined" );
...@@ -570,8 +571,7 @@ test("isWindow", function() { ...@@ -570,8 +571,7 @@ test("isWindow", function() {
ok( !jQuery.isWindow(1), "number" ); ok( !jQuery.isWindow(1), "number" );
ok( !jQuery.isWindow(true), "boolean" ); ok( !jQuery.isWindow(true), "boolean" );
ok( !jQuery.isWindow({}), "object" ); ok( !jQuery.isWindow({}), "object" );
// HMMM ok( !jQuery.isWindow({ setInterval: function(){} }), "fake window" );
// ok( !jQuery.isWindow({ setInterval: function(){} }), "fake window" );
ok( !jQuery.isWindow(/window/), "regexp" ); ok( !jQuery.isWindow(/window/), "regexp" );
ok( !jQuery.isWindow(function(){}), "function" ); ok( !jQuery.isWindow(function(){}), "function" );
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment