- Adding the enhancements to the test runner, to accept multiple(and negative) filters from the GET variables, as specified in the ticket #2738.

This commit is contained in:
Ariel Flesler 2008-04-24 21:32:35 +00:00
parent f8e5fd6fef
commit ba391eccf9

View file

@ -13,6 +13,9 @@ var _config = {
asyncTimeout: 2 // seconds for async timeout asyncTimeout: 2 // seconds for async timeout
}; };
_config.filters = location.search.length > 1 && //restrict modules/tests by get parameters
$.map( location.search.slice(1).split('&'), decodeURIComponent );
var isLocal = !!(window.location.protocol == 'file:'); var isLocal = !!(window.location.protocol == 'file:');
$(function() { $(function() {
@ -54,9 +57,24 @@ function start() {
}, 13); }, 13);
} }
function dontrun(name) { function validTest( name ) {
var filter = location.search.slice(1); var filters = _config.filters;
return filter && !new RegExp(filter).test(encodeURIComponent(name)); if( !filters )
return true;
var i = filters.length,
run = false;
while( i-- ){
var filter = filters[i],
not = filter.charAt(0) == '!';
if( not )
filter = filter.slice(1);
if( name.indexOf(filter) != -1 )
return !not;
if( not )
run = true;
}
return run;
} }
function runTest() { function runTest() {
@ -78,7 +96,7 @@ function test(name, callback, nowait) {
if(_config.currentModule) if(_config.currentModule)
name = _config.currentModule + " module: " + name; name = _config.currentModule + " module: " + name;
if (dontrun(name)) if ( !validTest(name) )
return; return;
synchronize(function() { synchronize(function() {
@ -228,7 +246,7 @@ function serialArray( a ) {
r.push( str ); r.push( str );
} }
return "[ " + r.join(", ") + " ]" return "[ " + r.join(", ") + " ]";
} }
/** /**