X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=build%2Ftest%2Fdata%2Ftestrunner.js;h=cf4777deb00f2294d5f0f90244d1f6bb1807ae64;hb=83e98c28ef8aba11e525bf4266f8454232236ca0;hp=a72a1c17c883b367be73ef3a9d7573791dd4c66c;hpb=b0c3711d3e8bd844d1cfa8569864df1c1f73180a;p=jquery.git diff --git a/build/test/data/testrunner.js b/build/test/data/testrunner.js index a72a1c1..cf4777d 100644 --- a/build/test/data/testrunner.js +++ b/build/test/data/testrunner.js @@ -8,6 +8,7 @@ var stats = { }; var queue = []; var blocking = false; +var timeout; function synchronize(callback) { queue[queue.length] = callback; @@ -26,9 +27,11 @@ function process() { function stop() { blocking = true; - setTimeout(start, asyncTimeout * 1000); + timeout = setTimeout(start, asyncTimeout * 1000); } function start() { + if(timeout) + clearTimeout(timeout); blocking = false; process(); } @@ -40,19 +43,20 @@ function runTest(tests) { synchronize(function() { var runTime = new Date() - startTime; var result = document.createElement("div"); - result.innerHTML = 'Tests completed in ' + runTime + ' milliseconds.
' + - stats.bad + ' tests of ' + stats.all + ' failed.'; + result.innerHTML = '

Tests completed in ' + + runTime + ' milliseconds.
' + + stats.bad + ' tests of ' + stats.all + ' failed.

'; document.getElementsByTagName("body")[0].appendChild(result); }); } function test(name, callback) { - Test = []; synchronize(function() { + Test = []; try { callback(); } catch(e) { - if(typeof console != "undefined") { + if( typeof console != "undefined" && console.error && console.warn ) { console.error("Test " + name + " died, exception and test follows"); console.error(e); console.warn(callback.toString()); @@ -65,7 +69,7 @@ function test(name, callback) { var good = 0, bad = 0; var ol = document.createElement("ol"); - + ol.style.display = "none"; var li = "", state = "pass"; for ( var i = 0; i < Test.length; i++ ) { var li = document.createElement("li"); @@ -126,9 +130,10 @@ function isSet(a, b, msg) { ret = false; } else ret = false; - if ( !ret && console ) - console.log( msg, a, b ); - Test.push( [ ret, msg ] ); + if ( !ret ) + Test.push( [ ret, msg + " expected: " + b + " result: " + a ] ); + else + Test.push( [ ret, msg ] ); } /**