Fixed bug in testsuite, tried to fix problem with :selected in Opera 8.54: It does...
[jquery.git] / build / test / data / testrunner.js
index a72a1c1..398ef3d 100644 (file)
@@ -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();
 }
@@ -47,12 +50,12 @@ function runTest(tests) {
 }
 
 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());
@@ -126,9 +129,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 ] );
 }
 
 /**