X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=build%2Ftest%2Fdata%2Ftestrunner.js;h=69377e45216b48970067d81f551148c103534bc4;hb=fbd2b066a71c8c2371e11f7f6b201a9000b564e4;hp=c3afea3390319366d9085d2e869b8e6bcaa740fe;hpb=7cc550727c4e0bcd93c5d435f0799f568fc74dfa;p=jquery.git diff --git a/build/test/data/testrunner.js b/build/test/data/testrunner.js index c3afea3..69377e4 100644 --- a/build/test/data/testrunner.js +++ b/build/test/data/testrunner.js @@ -13,6 +13,8 @@ var _config = { asyncTimeout: 2 // seconds for async timeout }; +var isLocal = !!(window.location.protocol == 'file:'); + $(function() { $('#userAgent').html(navigator.userAgent); runTest(); @@ -33,15 +35,23 @@ function process() { } } -function stop() { +function stop(allowFailure) { _config.blocking = true; - _config.timeout = setTimeout(start, _config.asyncTimeout * 1000); + var handler = allowFailure ? start : function() { + ok( false, "Test timed out" ); + start(); + }; + // Disabled, caused too many random errors + //_config.timeout = setTimeout(handler, _config.asyncTimeout * 1000); } function start() { - if(_config.timeout) - clearTimeout(_config.timeout); - _config.blocking = false; - process(); + // A slight delay, to avoid any current callbacks + setTimeout(function(){ + if(_config.timeout) + clearTimeout(_config.timeout); + _config.blocking = false; + process(); + }, 13); } function runTest() { @@ -55,13 +65,18 @@ function runTest() { _config.stats.bad, ' tests of ', _config.stats.all, ' failed.

'] .join('')) .appendTo("body"); - $("