aboutsummaryrefslogtreecommitdiffstats
path: root/test/data/testinit.js
diff options
context:
space:
mode:
authorMike Sherov <mike.sherov@gmail.com>2012-02-23 15:48:12 -0500
committerDave Methvin <dave.methvin@gmail.com>2012-02-23 22:55:20 -0500
commitf36568324d1b68101cc6e8933b94db3bc8591fad (patch)
tree9e0694fa7182655e893baa2b081d12c477186d26 /test/data/testinit.js
parenta619cb3063c104aa5ec808e13d2c84af565eacc6 (diff)
downloadjquery-f36568324d1b68101cc6e8933b94db3bc8591fad.tar.gz
jquery-f36568324d1b68101cc6e8933b94db3bc8591fad.zip
fixes #10693, generalizes the "test something in an iframe" code when a callback isn't needed
Diffstat (limited to 'test/data/testinit.js')
-rw-r--r--test/data/testinit.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/data/testinit.js b/test/data/testinit.js
index 83d9db1f6..850e19c27 100644
--- a/test/data/testinit.js
+++ b/test/data/testinit.js
@@ -119,4 +119,36 @@ function url(value) {
oldActive = jQuery.active;
}
};
+
+ this.testIframe = function( fileName, name, fn ) {
+
+ test(name, function() {
+ // pause execution for now
+ stop();
+
+ // load fixture in iframe
+ var iframe = loadFixture(),
+ win = iframe.contentWindow,
+ interval = setInterval( function() {
+ if ( win && win.jQuery && win.jQuery.isReady ) {
+ clearInterval( interval );
+ // continue
+ start();
+ // call actual tests passing the correct jQuery instance to use
+ fn.call( this, win.jQuery, win, win.document );
+ document.body.removeChild( iframe );
+ iframe = null;
+ }
+ }, 15 );
+ });
+
+ function loadFixture() {
+ var src = "./data/" + fileName + ".html?" + parseInt( Math.random()*1000, 10 ),
+ iframe = jQuery("<iframe />").css({
+ width: 500, height: 500, position: "absolute", top: -600, left: -600, visibility: "hidden"
+ }).appendTo("body")[0];
+ iframe.contentWindow.location = src;
+ return iframe;
+ }
+ };
}()); \ No newline at end of file