diff options
Diffstat (limited to 'test/data')
-rw-r--r-- | test/data/testinit.js | 15 | ||||
-rw-r--r-- | test/data/testrunner.js | 11 |
2 files changed, 17 insertions, 9 deletions
diff --git a/test/data/testinit.js b/test/data/testinit.js index c35383c6b..d4b2abc16 100644 --- a/test/data/testinit.js +++ b/test/data/testinit.js @@ -1,6 +1,7 @@ /*jshint multistr:true, quotmark:false */ var fireNative, originaljQuery, original$, + baseURL = "", supportjQuery = this.jQuery, // see RFC 2606 externalHost = "example.com"; @@ -130,7 +131,8 @@ fireNative = document.createEvent ? * @result "data/test.php?foo=bar&10538358345554" */ function url( value ) { - return value + (/\?/.test(value) ? "&" : "?") + new Date().getTime() + "" + parseInt(Math.random() * 100000, 10); + return baseURL + value + (/\?/.test(value) ? "&" : "?") + + new Date().getTime() + "" + parseInt(Math.random() * 100000, 10); } // Ajax testing helper @@ -236,6 +238,9 @@ this.testIframeWithCallback = function( title, fileName, func ) { test( title, function() { var iframe; + // Expect one assertion, but allow overrides + expect( 1 ); + stop(); window.iframeCallback = function() { var self = this, @@ -248,12 +253,12 @@ this.testIframeWithCallback = function( title, fileName, func ) { start(); }, 0 ); }; - iframe = jQuery( "<div/>" ).append( - jQuery( "<iframe/>" ).attr( "src", url( "./data/" + fileName ) ) - ).appendTo( "body" ); + iframe = jQuery( "<div/>" ).css({ position: "absolute", width: "500px", left: "-600px" }) + .append( jQuery( "<iframe/>" ).attr( "src", url( "./data/" + fileName ) ) ) + .appendTo( "#qunit-fixture" ); }); }; -this.iframeCallback = undefined; +window.iframeCallback = undefined; // Tests are always loaded async QUnit.config.autostart = false; diff --git a/test/data/testrunner.js b/test/data/testrunner.js index 3f1a85a03..34f47381e 100644 --- a/test/data/testrunner.js +++ b/test/data/testrunner.js @@ -238,7 +238,7 @@ window.Globals = (function() { * @param {String} url Test folder location * @param {RegExp} risTests To filter script sources */ -function testSubproject( label, url, risTests, complete ) { +function testSubproject( label, subProjectURL, risTests, complete ) { var sub, fixture, fixtureHTML, fixtureReplaced = false; @@ -280,11 +280,11 @@ function testSubproject( label, url, risTests, complete ) { // Load tests and fixture from subproject // Test order matters, so we must be synchronous and throw an error on load failure - supportjQuery.ajax( url, { + supportjQuery.ajax( subProjectURL, { async: false, dataType: "html", error: function( jqXHR, status ) { - throw new Error( "Could not load: " + url + " (" + status + ")" ); + throw new Error( "Could not load: " + subProjectURL + " (" + status + ")" ); }, success: function( data, status, jqXHR ) { var sources = [], @@ -312,7 +312,7 @@ function testSubproject( label, url, risTests, complete ) { (function loadDep() { var dep = sources.shift(); if ( dep ) { - require( [ url + dep ], loadDep ); + require( [ subProjectURL + dep ], loadDep ); } else if ( complete ) { complete(); } @@ -338,6 +338,9 @@ function testSubproject( label, url, risTests, complete ) { return; } + // Update helper function behavior + baseURL = subProjectURL; + // Replace the current fixture, including content outside of #qunit-fixture var oldFixture = supportjQuery("#qunit-fixture"); while ( oldFixture.length && !oldFixture.prevAll("[id='qunit']").length ) { |