diff options
author | Mike Sherov <mike.sherov@gmail.com> | 2012-02-23 15:48:12 -0500 |
---|---|---|
committer | Dave Methvin <dave.methvin@gmail.com> | 2012-02-23 22:55:20 -0500 |
commit | f36568324d1b68101cc6e8933b94db3bc8591fad (patch) | |
tree | 9e0694fa7182655e893baa2b081d12c477186d26 /test/data/testinit.js | |
parent | a619cb3063c104aa5ec808e13d2c84af565eacc6 (diff) | |
download | jquery-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.js | 32 |
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 |