Compare commits

..

No commits in common. "a8e4ba10f56f531351f7a8c818b65fc998dce754" and "5624805518fb08cd824e39ee543bb111a3245437" have entirely different histories.

2 changed files with 28 additions and 38 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "ig-test", "name": "ig-test",
"version": "1.6.2", "version": "1.6.0",
"description": "experimental test runner....", "description": "experimental test runner....",
"main": "test.js", "main": "test.js",
"bin": { "bin": {

64
test.js
View File

@ -614,12 +614,9 @@ async function(spec, chain, stats, mod_chain_length=1){
var chain_length = chain.length var chain_length = chain.length
var setup = chain.shift() || '*' var setup = chain.shift() || '*'
var test = chain.pop() || '*' var test = chain.pop() || '*'
var mod = chain || '*' var mod = chain.pop() || '*'
mod = chain_length == 2 ? mod = chain_length == 2 ?
'as-is' 'as-is'
: mod.length == 1
&& mod[0] == '*' ?
'*'
: mod : mod
// get the tests... // get the tests...
@ -654,45 +651,38 @@ async function(spec, chain, stats, mod_chain_length=1){
false false
: (test == '*' : (test == '*'
|| test == t) ) }) || test == t) ) })
var mod_queue = [] if(mod_chain_length <= 0){
if(mod_chain_length > 0){ var mod_queue = []
if(mod instanceof Array){ } else {
mod_queue = [mod] var mod_queue = object.deepKeys(modifiers)
} else { .filter(function(m){
mod_queue = object.deepKeys(modifiers) return typeof(modifiers[m]) == 'function'
.filter(function(m){ && (mod == '*' || mod == m) })
return typeof(modifiers[m]) == 'function' .map(function(m){
&& (mod == '*' || mod == m) }) return [m] })
.map(function(m){ // modifier chains...
return [m] }) for(var i=1; i < mod_chain_length; i++){
// modifier chains... mod_queue = [
for(var i=1; i < mod_chain_length; i++){ ...mod_queue,
mod_queue = [ ...mod_queue
...mod_queue, .map(function(m){
...mod_queue return mod_queue
.map(function(m){ .map(function(mm){
return mod_queue return [...m, ...mm] }) })
.map(function(mm){ .flat()] } }
return [...m, ...mm] }) })
.flat()] } } }
var setup_queue = object.deepKeys(setups) var setup_queue = object.deepKeys(setups)
.filter(function(s){ .filter(function(s){
return typeof(setups[s]) == 'function' return typeof(setups[s]) == 'function'
&& (setup == '*' || setup == s) }) && (setup == '*' || setup == s) })
// XXX this breaks if mod_queue is empty...
var queue = var queue =
chain_length != 1 ? chain_length != 1 ?
test_queue test_queue
.map(function(t){ .map(function(t){
return mod_queue.length == 0 ? return mod_queue
setup_queue .map(function(m){
.map(function(s){ return setup_queue
return [[s, [], t]] }) .map(function(s){
: mod_queue return [s, m, t] }) }) })
.map(function(m){
return setup_queue
.map(function(s){
return [s, m, t] }) }) })
.flat(2) .flat(2)
: [] : []
// NOTE: we are not running these via .map(..) to keep things in // NOTE: we are not running these via .map(..) to keep things in
@ -1082,4 +1072,4 @@ typeof(__filename) != 'undefined'
/********************************************************************** /**********************************************************************
* vim:set ts=4 sw=4 nowrap : */ return module }) * vim:set ts=4 sw=4 : */ return module })