mirror of
https://github.com/flynx/test.js.git
synced 2025-12-28 14:21:59 +00:00
cleanup + version bump...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
4ecfaa1493
commit
791853fb2e
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ig-test",
|
||||
"version": "1.6.2",
|
||||
"version": "1.6.3",
|
||||
"description": "experimental test runner....",
|
||||
"main": "test.js",
|
||||
"bin": {
|
||||
|
||||
96
test.js
96
test.js
@ -614,103 +614,7 @@ object.Constructor('TestSet', {
|
||||
chain = null
|
||||
stats = stats
|
||||
|| assert.stats }
|
||||
// XXX
|
||||
return runTests(this, chain, stats, mod_chain_length, assert) },
|
||||
/*/
|
||||
// parse chain...
|
||||
chain = (chain == '*' || chain == null) ?
|
||||
[]
|
||||
: chain
|
||||
chain = chain instanceof Array ?
|
||||
chain
|
||||
: chain.split(/:/)
|
||||
var chain_length = chain.length
|
||||
var setup = chain.shift() || '*'
|
||||
var test = chain.pop() || '*'
|
||||
var mod = chain.pop() || '*'
|
||||
mod = chain_length == 2 ?
|
||||
'as-is'
|
||||
: mod
|
||||
|
||||
// get the tests...
|
||||
var {setups, modifiers, tests, cases} = this
|
||||
;[setups, modifiers, tests, cases] =
|
||||
[setups, modifiers, tests, cases]
|
||||
.map(function(e){
|
||||
return object.parentOf(Merged, e) ?
|
||||
e.toObject()
|
||||
: (e || {}) })
|
||||
|
||||
// stats...
|
||||
stats = stats || {}
|
||||
Object.assign(stats, {
|
||||
tests: stats.tests || 0,
|
||||
assertions: stats.assertions || 0,
|
||||
failures: stats.failures || 0,
|
||||
time: stats.time || 0,
|
||||
})
|
||||
|
||||
var started = Date.now()
|
||||
// tests...
|
||||
// XXX revise nested assert...
|
||||
var assert = assert
|
||||
|| this.__assert__('[TEST]', stats, module.VERBOSE)
|
||||
var queue =
|
||||
chain_length != 1 ?
|
||||
object.deepKeys(tests)
|
||||
.filter(function(t, i, l){
|
||||
return typeof(tests[t]) == 'function'
|
||||
// skip blank tests if we have other tests unless
|
||||
// explicitly specified...
|
||||
&& ((t == '-'
|
||||
&& test != t
|
||||
&& l.length > 1) ?
|
||||
false
|
||||
: (test == '*'
|
||||
|| test == t) ) })
|
||||
.map(function(t){
|
||||
// modifiers...
|
||||
return object.deepKeys(modifiers)
|
||||
.filter(function(m){
|
||||
return typeof(modifiers[m]) == 'function'
|
||||
&& (mod == '*' || mod == m) })
|
||||
.map(function(m){
|
||||
// setups...
|
||||
return object.deepKeys(setups)
|
||||
.filter(function(s){
|
||||
return typeof(setups[s]) == 'function'
|
||||
&& (setup == '*' || setup == s) })
|
||||
.map(function(s){
|
||||
return [s, m, t] }) }) })
|
||||
.flat(2)
|
||||
: []
|
||||
for(var [s, m, t] of queue){
|
||||
stats.tests += 1
|
||||
var _assert = assert.push(
|
||||
[s, m, t]
|
||||
// do not print blank pass-through ('-')
|
||||
// components...
|
||||
.filter(function(e){ return e != '-' }) )
|
||||
await tests[t](_assert,
|
||||
await modifiers[m](_assert,
|
||||
await setups[s](_assert))) }
|
||||
// cases...
|
||||
assert = assert
|
||||
|| this.__assert__('[CASE]', stats, module.VERBOSE)
|
||||
var queue =
|
||||
chain_length <= 1 ?
|
||||
Object.keys(cases)
|
||||
.filter(function(s){
|
||||
return typeof(cases[s]) == 'function'
|
||||
&& (setup == '*' || setup == s) })
|
||||
: []
|
||||
for(var c of queue){
|
||||
stats.tests += 1
|
||||
cases[c](assert.push(c)) }
|
||||
// runtime...
|
||||
stats.time += Date.now() - started
|
||||
return stats },
|
||||
//*/
|
||||
|
||||
__init__: function(func){
|
||||
// test collections...
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user