mirror of
https://github.com/flynx/test.js.git
synced 2025-12-27 05:41:58 +00:00
Compare commits
3 Commits
5624805518
...
a8e4ba10f5
| Author | SHA1 | Date | |
|---|---|---|---|
| a8e4ba10f5 | |||
| 31eb2f4b19 | |||
| 058db76618 |
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ig-test",
|
||||
"version": "1.6.0",
|
||||
"version": "1.6.2",
|
||||
"description": "experimental test runner....",
|
||||
"main": "test.js",
|
||||
"bin": {
|
||||
|
||||
64
test.js
64
test.js
@ -614,9 +614,12 @@ async function(spec, chain, stats, mod_chain_length=1){
|
||||
var chain_length = chain.length
|
||||
var setup = chain.shift() || '*'
|
||||
var test = chain.pop() || '*'
|
||||
var mod = chain.pop() || '*'
|
||||
var mod = chain || '*'
|
||||
mod = chain_length == 2 ?
|
||||
'as-is'
|
||||
'as-is'
|
||||
: mod.length == 1
|
||||
&& mod[0] == '*' ?
|
||||
'*'
|
||||
: mod
|
||||
|
||||
// get the tests...
|
||||
@ -651,38 +654,45 @@ async function(spec, chain, stats, mod_chain_length=1){
|
||||
false
|
||||
: (test == '*'
|
||||
|| test == t) ) })
|
||||
if(mod_chain_length <= 0){
|
||||
var mod_queue = []
|
||||
} else {
|
||||
var mod_queue = object.deepKeys(modifiers)
|
||||
.filter(function(m){
|
||||
return typeof(modifiers[m]) == 'function'
|
||||
&& (mod == '*' || mod == m) })
|
||||
.map(function(m){
|
||||
return [m] })
|
||||
// modifier chains...
|
||||
for(var i=1; i < mod_chain_length; i++){
|
||||
mod_queue = [
|
||||
...mod_queue,
|
||||
...mod_queue
|
||||
.map(function(m){
|
||||
return mod_queue
|
||||
.map(function(mm){
|
||||
return [...m, ...mm] }) })
|
||||
.flat()] } }
|
||||
var mod_queue = []
|
||||
if(mod_chain_length > 0){
|
||||
if(mod instanceof Array){
|
||||
mod_queue = [mod]
|
||||
} else {
|
||||
mod_queue = object.deepKeys(modifiers)
|
||||
.filter(function(m){
|
||||
return typeof(modifiers[m]) == 'function'
|
||||
&& (mod == '*' || mod == m) })
|
||||
.map(function(m){
|
||||
return [m] })
|
||||
// modifier chains...
|
||||
for(var i=1; i < mod_chain_length; i++){
|
||||
mod_queue = [
|
||||
...mod_queue,
|
||||
...mod_queue
|
||||
.map(function(m){
|
||||
return mod_queue
|
||||
.map(function(mm){
|
||||
return [...m, ...mm] }) })
|
||||
.flat()] } } }
|
||||
var setup_queue = object.deepKeys(setups)
|
||||
.filter(function(s){
|
||||
return typeof(setups[s]) == 'function'
|
||||
&& (setup == '*' || setup == s) })
|
||||
// XXX this breaks if mod_queue is empty...
|
||||
var queue =
|
||||
chain_length != 1 ?
|
||||
test_queue
|
||||
.map(function(t){
|
||||
return mod_queue
|
||||
.map(function(m){
|
||||
return setup_queue
|
||||
.map(function(s){
|
||||
return [s, m, t] }) }) })
|
||||
return mod_queue.length == 0 ?
|
||||
setup_queue
|
||||
.map(function(s){
|
||||
return [[s, [], t]] })
|
||||
: mod_queue
|
||||
.map(function(m){
|
||||
return setup_queue
|
||||
.map(function(s){
|
||||
return [s, m, t] }) }) })
|
||||
.flat(2)
|
||||
: []
|
||||
// NOTE: we are not running these via .map(..) to keep things in
|
||||
@ -1072,4 +1082,4 @@ typeof(__filename) != 'undefined'
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* vim:set ts=4 sw=4 : */ return module })
|
||||
* vim:set ts=4 sw=4 nowrap : */ return module })
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user