nole 1.0.10 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/nole.js +22 -22
- package/dist/data.d.ts +1 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +1 -4
- package/dist/data.js.map +1 -1
- package/dist/decorators.d.ts +1 -1
- package/dist/decorators.d.ts.map +1 -1
- package/dist/decorators.js +9 -16
- package/dist/decorators.js.map +1 -1
- package/dist/dynamic.d.ts +2 -0
- package/dist/dynamic.d.ts.map +1 -0
- package/dist/dynamic.js +11 -0
- package/dist/dynamic.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -10
- package/dist/index.js.map +1 -1
- package/dist/run.d.ts +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +37 -31
- package/dist/run.js.map +1 -1
- package/dist/test.d.ts +1 -1
- package/dist/test.d.ts.map +1 -1
- package/dist/test.js +3 -6
- package/dist/test.js.map +1 -1
- package/dist/utils/executor.d.ts +1 -1
- package/dist/utils/executor.d.ts.map +1 -1
- package/dist/utils/executor.js +1 -4
- package/dist/utils/executor.js.map +1 -1
- package/dist/utils/time_difference.js +1 -4
- package/dist/utils/time_difference.js.map +1 -1
- package/dist/utils/time_factor.d.ts +1 -1
- package/dist/utils/time_factor.d.ts.map +1 -1
- package/dist/utils/time_factor.js +5 -9
- package/dist/utils/time_factor.js.map +1 -1
- package/package.json +34 -33
- package/src/data.ts +1 -1
- package/src/decorators.ts +2 -2
- package/src/dynamic.ts +11 -0
- package/src/index.ts +3 -2
- package/src/run.ts +24 -13
- package/src/utils/executor.ts +1 -1
- package/src/utils/time_factor.ts +3 -1
- package/test/basic.test.ts +1 -1
- package/test/clean-up.test.ts +1 -1
- package/test/dynamic-skip.test.ts +8 -0
- package/test/dynamic.test.ts +1 -1
- package/test/hook.test.ts +1 -1
- package/test/skip-all.test.ts +2 -2
- package/test/tsconfig.json +24 -0
- package/tsconfig.json +4 -4
package/bin/nole.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
1
|
+
#!/usr/bin/env node --loader=ts-node/esm
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
import program from 'commander';
|
|
4
|
+
import glob from 'glob';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import fs from 'fs';
|
|
7
|
+
import colors from 'colors/safe.js';
|
|
8
|
+
import { ManualRun } from '../dist/run.js';
|
|
9
|
+
import { TimeDifference } from '../dist/utils/time_difference.js';
|
|
10
|
+
import { TimeResolve } from '../dist/utils/time_factor.js';
|
|
11
|
+
|
|
12
|
+
const pkg = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url)).toString())
|
|
11
13
|
|
|
12
14
|
program
|
|
13
15
|
.usage('<glob> ...')
|
|
14
|
-
.option('-T, --no-typescript', 'disable ts-node register')
|
|
15
16
|
.option('-L, --no-log', 'disable console.log')
|
|
16
|
-
.version(
|
|
17
|
+
.version(pkg.version)
|
|
17
18
|
.parse(process.argv);
|
|
18
19
|
|
|
19
20
|
|
|
@@ -23,7 +24,7 @@ if (!program.args.length) {
|
|
|
23
24
|
let time = TimeDifference.begin();
|
|
24
25
|
|
|
25
26
|
let log = console.log.bind(console);
|
|
26
|
-
|
|
27
|
+
|
|
27
28
|
if (!program.log) {
|
|
28
29
|
console.log = function () { }
|
|
29
30
|
}
|
|
@@ -36,7 +37,7 @@ if (!program.args.length) {
|
|
|
36
37
|
|
|
37
38
|
resolve(matches);
|
|
38
39
|
})
|
|
39
|
-
}))).then(list => {
|
|
40
|
+
}))).then(async list => {
|
|
40
41
|
let fileList = [];
|
|
41
42
|
|
|
42
43
|
for (let item of list) {
|
|
@@ -50,25 +51,24 @@ if (!program.args.length) {
|
|
|
50
51
|
|
|
51
52
|
let file = time.end();
|
|
52
53
|
|
|
53
|
-
if (program.typescript) {
|
|
54
|
-
require('ts-node').register();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
54
|
for (let file of fileList) {
|
|
58
|
-
|
|
55
|
+
await import(`file://${file}`);
|
|
59
56
|
}
|
|
60
57
|
|
|
61
58
|
let prop = time.end();
|
|
62
59
|
|
|
63
|
-
log('Nole tests v' +
|
|
64
|
-
|
|
60
|
+
log('Nole tests v' + pkg.version);
|
|
61
|
+
try {
|
|
62
|
+
await ManualRun(log);
|
|
63
|
+
|
|
65
64
|
log(' discover: %s', TimeResolve(file))
|
|
66
65
|
log(' resolve: %s', TimeResolve(prop - file))
|
|
67
66
|
log(' tests: %s', TimeResolve(time.end() - prop))
|
|
68
67
|
process.exit(0);
|
|
69
|
-
}
|
|
68
|
+
} catch(e) {
|
|
69
|
+
console.error(e);
|
|
70
70
|
process.exit(1);
|
|
71
|
-
}
|
|
71
|
+
}
|
|
72
72
|
}).catch(e => {
|
|
73
73
|
failed('Error occurred on resolving files');
|
|
74
74
|
console.error(e.stack || e);
|
package/dist/data.d.ts
CHANGED
package/dist/data.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,wBAAgB,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAQxC"}
|
package/dist/data.js
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
1
|
const KEY = '_nole_hash';
|
|
4
|
-
function HashMap() {
|
|
2
|
+
export function HashMap() {
|
|
5
3
|
let g = global || {};
|
|
6
4
|
if (g[KEY]) {
|
|
7
5
|
return g[KEY];
|
|
8
6
|
}
|
|
9
7
|
return g[KEY] = new Map();
|
|
10
8
|
}
|
|
11
|
-
exports.HashMap = HashMap;
|
|
12
9
|
//# sourceMappingURL=data.js.map
|
package/dist/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAEA,MAAM,GAAG,GAAG,YAAY,CAAC;AAEzB,MAAM,UAAU,OAAO;IACrB,IAAI,CAAC,GAAQ,MAAM,IAAI,EAAE,CAAC;IAE1B,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACf;IAED,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAa,CAAC;AACvC,CAAC"}
|
package/dist/decorators.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HookType, ClassDefition } from "./test";
|
|
1
|
+
import { HookType, ClassDefition } from "./test.js";
|
|
2
2
|
export declare function Spec(timeout?: number): MethodDecorator;
|
|
3
3
|
export declare function Dependency<T>(dependency: ClassDefition<T>): PropertyDecorator;
|
|
4
4
|
export declare function Hook(type: HookType, timeout?: number): MethodDecorator;
|
package/dist/decorators.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,QAAQ,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM1D,wBAAgB,IAAI,CAAC,OAAO,GAAE,MAAa,GAAG,eAAe,CAI5D;AAOD,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAI7E;AAQD,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,MAAa,GAAG,eAAe,CAI5E;AAOD,wBAAgB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAIrD;AAMD,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAIzD"}
|
package/dist/decorators.js
CHANGED
|
@@ -1,41 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const test_1 = require("./test");
|
|
5
|
-
function Spec(timeout = 5000) {
|
|
1
|
+
import { HashMap } from "./data.js";
|
|
2
|
+
import { Test } from "./test.js";
|
|
3
|
+
export function Spec(timeout = 5000) {
|
|
6
4
|
return function (target, propertyKey) {
|
|
7
5
|
DeclareSpecForTestClass(target, propertyKey, timeout);
|
|
8
6
|
};
|
|
9
7
|
}
|
|
10
|
-
|
|
11
|
-
function Dependency(dependency) {
|
|
8
|
+
export function Dependency(dependency) {
|
|
12
9
|
return function (target, propertyKey) {
|
|
13
10
|
DeclareDependencyForTestClass(target, propertyKey, dependency);
|
|
14
11
|
};
|
|
15
12
|
}
|
|
16
|
-
|
|
17
|
-
function Hook(type, timeout = 5000) {
|
|
13
|
+
export function Hook(type, timeout = 5000) {
|
|
18
14
|
return function (target, propertyKey) {
|
|
19
15
|
DeclareHookForTestClass(target, propertyKey, type, timeout);
|
|
20
16
|
};
|
|
21
17
|
}
|
|
22
|
-
|
|
23
|
-
function Skip(reason) {
|
|
18
|
+
export function Skip(reason) {
|
|
24
19
|
return function (target, propertyKey) {
|
|
25
20
|
DeclareAsSkipped(target, propertyKey, reason ? reason : '');
|
|
26
21
|
};
|
|
27
22
|
}
|
|
28
|
-
|
|
29
|
-
function SkipClass(reason) {
|
|
23
|
+
export function SkipClass(reason) {
|
|
30
24
|
return function (target) {
|
|
31
25
|
DeclareAsSkippedClass(target, reason ? reason : '');
|
|
32
26
|
};
|
|
33
27
|
}
|
|
34
|
-
exports.SkipClass = SkipClass;
|
|
35
28
|
function GetTestInstanceOfTarget(target) {
|
|
36
|
-
let instance =
|
|
29
|
+
let instance = HashMap().get(target);
|
|
37
30
|
if (!instance) {
|
|
38
|
-
|
|
31
|
+
HashMap().set(target, instance = new Test(target));
|
|
39
32
|
}
|
|
40
33
|
return instance;
|
|
41
34
|
}
|
package/dist/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,QAEvC"}
|
package/dist/dynamic.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function skipTest(reason) {
|
|
2
|
+
throw new NoleManualSkip(reason);
|
|
3
|
+
}
|
|
4
|
+
class NoleManualSkip extends Error {
|
|
5
|
+
constructor(reason) {
|
|
6
|
+
super(`Dynamicly skipped! ${reason}`);
|
|
7
|
+
this.reason = reason;
|
|
8
|
+
this._nole_anchor = 1;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=dynamic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,MAAe;IACtC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,cAAe,SAAQ,KAAK;IAGhC,YAAmB,MAAe;QAChC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QADrB,WAAM,GAAN,MAAM,CAAS;QAFlC,iBAAY,GAAG,CAAC,CAAC;IAIjB,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators';
|
|
2
|
-
export { HookType } from './test';
|
|
1
|
+
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators.js';
|
|
2
|
+
export { HookType } from './test.js';
|
|
3
|
+
export { skipTest } from './dynamic.js';
|
|
3
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.Dependency = decorators_1.Dependency;
|
|
5
|
-
exports.Spec = decorators_1.Spec;
|
|
6
|
-
exports.Hook = decorators_1.Hook;
|
|
7
|
-
exports.Skip = decorators_1.Skip;
|
|
8
|
-
exports.SkipClass = decorators_1.SkipClass;
|
|
9
|
-
var test_1 = require("./test");
|
|
10
|
-
exports.HookType = test_1.HookType;
|
|
1
|
+
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators.js';
|
|
2
|
+
export { HookType } from './test.js';
|
|
3
|
+
export { skipTest } from './dynamic.js';
|
|
11
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/run.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function ManualRun(log: Function): Promise<
|
|
1
|
+
export declare function ManualRun(log: Function): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=run.d.ts.map
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAeA,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,iBAyCtC"}
|
package/dist/run.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const test_1 = require("./test");
|
|
1
|
+
import { HashMap } from "./data.js";
|
|
2
|
+
import { TimeDifference } from "./utils/time_difference.js";
|
|
3
|
+
import { TimeFactor } from "./utils/time_factor.js";
|
|
4
|
+
import * as clrs from 'colors/safe.js';
|
|
5
|
+
import { Executor } from "./utils/executor.js";
|
|
6
|
+
import { HookType } from "./test.js";
|
|
7
|
+
const colors = clrs.default;
|
|
9
8
|
const OK_TEXT = colors.bold(colors.green(' (ok) '));
|
|
10
9
|
const SKIP_TEXT = colors.bold(colors.yellow(' (skip) '));
|
|
10
|
+
const DYNAMIC_SKIP_TEXT = colors.bold(colors.blue(' (dskip) '));
|
|
11
11
|
const FAILED_TEXT = colors.bold(colors.red(' (failed) '));
|
|
12
12
|
const HOOK_FAILED_TEXT = colors.bold(colors.red(' (hook failed) '));
|
|
13
|
-
function ManualRun(log) {
|
|
13
|
+
export function ManualRun(log) {
|
|
14
14
|
if (!log) {
|
|
15
15
|
log = console.log.bind(console);
|
|
16
16
|
}
|
|
17
17
|
return new Promise(async (resolve, reject) => {
|
|
18
18
|
try {
|
|
19
|
-
let hashMap = new Map(
|
|
19
|
+
let hashMap = new Map(HashMap());
|
|
20
20
|
if (!hashMap.size) {
|
|
21
21
|
log(`${FAILED_TEXT} no specs found`);
|
|
22
22
|
throw new Error('No specs found');
|
|
@@ -46,7 +46,6 @@ function ManualRun(log) {
|
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
exports.ManualRun = ManualRun;
|
|
50
49
|
function PickNextTestFromHashMap(hashMap) {
|
|
51
50
|
for (let test of hashMap.values()) {
|
|
52
51
|
if (test.isFinished)
|
|
@@ -68,45 +67,45 @@ function HandleDependencies(test) {
|
|
|
68
67
|
}
|
|
69
68
|
async function HandleBeforeHooks(test) {
|
|
70
69
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
71
|
-
if (hook.type !=
|
|
70
|
+
if (hook.type != HookType.Before)
|
|
72
71
|
continue;
|
|
73
72
|
try {
|
|
74
|
-
await
|
|
73
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
75
74
|
}
|
|
76
75
|
catch (e) {
|
|
77
76
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'before' ? `.${propertyKey}:before` : ':before')));
|
|
78
77
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
79
|
-
console.error(e
|
|
78
|
+
console.error(e?.stack ?? e);
|
|
80
79
|
throw e;
|
|
81
80
|
}
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
83
|
async function HandleBeforeEachHooks(test) {
|
|
85
84
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
86
|
-
if (hook.type !=
|
|
85
|
+
if (hook.type != HookType.BeforeEach)
|
|
87
86
|
continue;
|
|
88
87
|
try {
|
|
89
|
-
await
|
|
88
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
90
89
|
}
|
|
91
90
|
catch (e) {
|
|
92
91
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'beforeEach' ? `.${propertyKey}:beforeEach` : ':beforeEach')));
|
|
93
92
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
94
|
-
console.error(e
|
|
93
|
+
console.error(e?.stack ?? e);
|
|
95
94
|
throw e;
|
|
96
95
|
}
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
async function HandleAfterEachHooks(test) {
|
|
100
99
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
101
|
-
if (hook.type !=
|
|
100
|
+
if (hook.type != HookType.AfterEach)
|
|
102
101
|
continue;
|
|
103
102
|
try {
|
|
104
|
-
await
|
|
103
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
105
104
|
}
|
|
106
105
|
catch (e) {
|
|
107
106
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'afterEach' ? `.${propertyKey}:afterEach` : ':afterEach')));
|
|
108
107
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
109
|
-
console.error(e
|
|
108
|
+
console.error(e?.stack ?? e);
|
|
110
109
|
throw e;
|
|
111
110
|
}
|
|
112
111
|
}
|
|
@@ -121,16 +120,21 @@ async function HandleSpecs(test, log) {
|
|
|
121
120
|
continue;
|
|
122
121
|
}
|
|
123
122
|
await HandleBeforeEachHooks(test);
|
|
124
|
-
let start =
|
|
123
|
+
let start = TimeDifference.begin();
|
|
125
124
|
try {
|
|
126
|
-
await
|
|
127
|
-
let timeText =
|
|
125
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), spec.timeout);
|
|
126
|
+
let timeText = TimeFactor(start.end(), spec.timeout);
|
|
128
127
|
log(`${OK_TEXT} ${timeText} ${testName}()`);
|
|
129
128
|
}
|
|
130
129
|
catch (e) {
|
|
131
|
-
|
|
130
|
+
if (e?._nole_anchor) {
|
|
131
|
+
let reason = e.reason;
|
|
132
|
+
log(`${DYNAMIC_SKIP_TEXT} ${' '.repeat(8)} ${testName}() ${reason ? '{' + reason + '}' : ''}`);
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
let timeText = TimeFactor(start.end(), spec.timeout);
|
|
132
136
|
console.error(`${FAILED_TEXT} ${timeText} ${testName}()`);
|
|
133
|
-
console.error(e
|
|
137
|
+
console.error(e?.stack ?? e);
|
|
134
138
|
throw e;
|
|
135
139
|
}
|
|
136
140
|
await HandleAfterEachHooks(test);
|
|
@@ -138,15 +142,15 @@ async function HandleSpecs(test, log) {
|
|
|
138
142
|
}
|
|
139
143
|
async function HandleAfterHooks(test) {
|
|
140
144
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
141
|
-
if (hook.type !=
|
|
145
|
+
if (hook.type != HookType.After)
|
|
142
146
|
continue;
|
|
143
147
|
try {
|
|
144
|
-
await
|
|
148
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
145
149
|
}
|
|
146
150
|
catch (e) {
|
|
147
151
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'after' ? `.${propertyKey}:after` : ':after')));
|
|
148
152
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
149
|
-
console.error(e
|
|
153
|
+
console.error(e?.stack ?? e);
|
|
150
154
|
throw e;
|
|
151
155
|
}
|
|
152
156
|
}
|
|
@@ -154,17 +158,19 @@ async function HandleAfterHooks(test) {
|
|
|
154
158
|
async function HandleCleanUp(test) {
|
|
155
159
|
if (test.cleanUpCalled)
|
|
156
160
|
return;
|
|
161
|
+
if (!test.dependents.every(dependent => dependent.isFinished))
|
|
162
|
+
return;
|
|
157
163
|
test.cleanUpCalled = true;
|
|
158
164
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
159
|
-
if (hook.type !=
|
|
165
|
+
if (hook.type != HookType.CleanUp)
|
|
160
166
|
continue;
|
|
161
167
|
try {
|
|
162
|
-
await
|
|
168
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
163
169
|
}
|
|
164
170
|
catch (e) {
|
|
165
171
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'cleanUp' ? `.${propertyKey}:cleanUp` : ':cleanUp')));
|
|
166
172
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
167
|
-
console.error(e
|
|
173
|
+
console.error(e?.stack ?? e);
|
|
168
174
|
throw e;
|
|
169
175
|
}
|
|
170
176
|
}
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/test.d.ts
CHANGED
package/dist/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,IAAI;IAWI,MAAM,EAAE,GAAG;IAV9B,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,UAAU,EAAE,IAAI,EAAE,CAAM;IACxB,IAAI,qBAA4B;IAChC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAQ;IAC/B,KAAK,qBAA4B;IACjC,KAAK,qBAA4B;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,GAAG,CAAC;gBAEC,MAAM,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,QAAQ,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,IAAI;IAWI,MAAM,EAAE,GAAG;IAV9B,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,UAAU,EAAE,IAAI,EAAE,CAAM;IACxB,IAAI,qBAA4B;IAChC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAQ;IAC/B,KAAK,qBAA4B;IACjC,KAAK,qBAA4B;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,GAAG,CAAC;gBAEC,MAAM,EAAE,GAAG;IAI9B,IAAI,IAAI,QAEP;CACF;AAED,oBAAY,QAAQ;IAClB,MAAM,IAAA;IACN,KAAK,IAAA;IACL,UAAU,IAAA;IACV,SAAS,IAAA;IACT,OAAO,IAAA;CACR;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAAI,QAAO,CAAC,CAAC;CAAE"}
|
package/dist/test.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class Test {
|
|
1
|
+
export class Test {
|
|
4
2
|
constructor(target) {
|
|
5
3
|
this.target = target;
|
|
6
4
|
this.dependencies = [];
|
|
@@ -16,13 +14,12 @@ class Test {
|
|
|
16
14
|
return this.target.name;
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
|
-
|
|
20
|
-
var HookType;
|
|
17
|
+
export var HookType;
|
|
21
18
|
(function (HookType) {
|
|
22
19
|
HookType[HookType["Before"] = 0] = "Before";
|
|
23
20
|
HookType[HookType["After"] = 1] = "After";
|
|
24
21
|
HookType[HookType["BeforeEach"] = 2] = "BeforeEach";
|
|
25
22
|
HookType[HookType["AfterEach"] = 3] = "AfterEach";
|
|
26
23
|
HookType[HookType["CleanUp"] = 4] = "CleanUp";
|
|
27
|
-
})(HookType
|
|
24
|
+
})(HookType || (HookType = {}));
|
|
28
25
|
//# sourceMappingURL=test.js.map
|
package/dist/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAkBA,MAAM,OAAO,IAAI;IAWf,YAAmB,MAAW;QAAX,WAAM,GAAN,MAAM,CAAK;QAV9B,iBAAY,GAAkB,EAAE,CAAC;QACjC,eAAU,GAAW,EAAE,CAAC;QACxB,SAAI,GAAG,IAAI,GAAG,EAAiB,CAAC;QAChC,cAAS,GAAiB,IAAI,CAAC;QAC/B,UAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;QACjC,UAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;QAEjC,kBAAa,GAAY,KAAK,CAAC;QAI7B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,2CAAM,CAAA;IACN,yCAAK,CAAA;IACL,mDAAU,CAAA;IACV,iDAAS,CAAA;IACT,6CAAO,CAAA;AACT,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB"}
|
package/dist/utils/executor.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function Executor(fn: Function, timeout: number): Promise<
|
|
1
|
+
export declare function Executor(fn: Function, timeout: number): Promise<void>;
|
|
2
2
|
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/utils/executor.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/utils/executor.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBrE"}
|
package/dist/utils/executor.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function Executor(fn, timeout) {
|
|
1
|
+
export function Executor(fn, timeout) {
|
|
4
2
|
return new Promise(async (resolve, reject) => {
|
|
5
3
|
let _timeout = null;
|
|
6
4
|
try {
|
|
@@ -19,5 +17,4 @@ function Executor(fn, timeout) {
|
|
|
19
17
|
resolve();
|
|
20
18
|
});
|
|
21
19
|
}
|
|
22
|
-
exports.Executor = Executor;
|
|
23
20
|
//# sourceMappingURL=executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/utils/executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/utils/executor.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,EAAY,EAAE,OAAe;IACpD,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,IAAI;YACF,IAAI,aAAa,GAAG,EAAE,EAAE,CAAC;YACzB,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE;gBACvC,QAAQ,GAAG,UAAU,CAAC;oBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,GAAG,OAAO,CAAC,CAAC,CAAC;gBAC3D,CAAC,EAAE,OAAO,CAAC,CAAC;gBAEZ,MAAM,aAAa,CAAC;aACrB;SACF;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAC,CAAC,CAAC;SACX;QAED,YAAY,CAAC,QAAS,CAAC,CAAC;QAExB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class TimeDifference {
|
|
1
|
+
export class TimeDifference {
|
|
4
2
|
constructor() {
|
|
5
3
|
this.startAt = process.hrtime();
|
|
6
4
|
}
|
|
@@ -12,5 +10,4 @@ class TimeDifference {
|
|
|
12
10
|
return diff[0] * 1000 + diff[1] / 1e6;
|
|
13
11
|
}
|
|
14
12
|
}
|
|
15
|
-
exports.TimeDifference = TimeDifference;
|
|
16
13
|
//# sourceMappingURL=time_difference.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time_difference.js","sourceRoot":"","sources":["../../src/utils/time_difference.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"time_difference.js","sourceRoot":"","sources":["../../src/utils/time_difference.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IAGzB;QACE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAMM,MAAM,CAAC,KAAK;QACjB,OAAO,IAAI,cAAc,EAAE,CAAC;IAC9B,CAAC;IAMD,GAAG;QACD,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function TimeFactor(diff: number, timeout: number):
|
|
1
|
+
export declare function TimeFactor(diff: number, timeout: number): any;
|
|
2
2
|
export declare function TimeResolve(ms: number): string;
|
|
3
3
|
export declare function Delay(ms: number): Promise<void>;
|
|
4
4
|
//# sourceMappingURL=time_factor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time_factor.d.ts","sourceRoot":"","sources":["../../src/utils/time_factor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"time_factor.d.ts","sourceRoot":"","sources":["../../src/utils/time_factor.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAIvD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,UAKrC;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
function TimeFactor(diff, timeout) {
|
|
1
|
+
import * as clrs from 'colors/safe.js';
|
|
2
|
+
const colors = clrs.default;
|
|
3
|
+
export function TimeFactor(diff, timeout) {
|
|
5
4
|
if (diff < timeout / 5)
|
|
6
5
|
return colors.green(TimeResolve(diff).padStart(9, ' '));
|
|
7
6
|
if (diff < timeout / 2)
|
|
8
7
|
return colors.yellow(TimeResolve(diff).padStart(9, ' '));
|
|
9
8
|
return colors.red(TimeResolve(diff).padStart(9, ' '));
|
|
10
9
|
}
|
|
11
|
-
|
|
12
|
-
function TimeResolve(ms) {
|
|
10
|
+
export function TimeResolve(ms) {
|
|
13
11
|
if (ms < 1000)
|
|
14
12
|
return (ms * 100 | 0) / 100 + ' ms';
|
|
15
13
|
if (ms < 60 * 1000)
|
|
@@ -18,9 +16,7 @@ function TimeResolve(ms) {
|
|
|
18
16
|
return (ms / 600 | 0) / 100 + ' m';
|
|
19
17
|
return (ms / 36000 | 0) / 100 + ' h';
|
|
20
18
|
}
|
|
21
|
-
|
|
22
|
-
function Delay(ms) {
|
|
19
|
+
export function Delay(ms) {
|
|
23
20
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
24
21
|
}
|
|
25
|
-
exports.Delay = Delay;
|
|
26
22
|
//# sourceMappingURL=time_factor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time_factor.js","sourceRoot":"","sources":["../../src/utils/time_factor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"time_factor.js","sourceRoot":"","sources":["../../src/utils/time_factor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAEvC,MAAM,MAAM,GAAI,IAAY,CAAC,OAAO,CAAC;AAErC,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,OAAe;IACtD,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,IAAI,IAAI,GAAG,OAAO,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;IACnD,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;QAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACtD,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "nole",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
|
|
33
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "nole",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Testing Library for Typescript projects",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/co3moz/nole"
|
|
11
|
+
},
|
|
12
|
+
"bin": {
|
|
13
|
+
"nole": "./bin/nole.js"
|
|
14
|
+
},
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc",
|
|
17
|
+
"test": "node --loader=ts-node/esm ./bin/nole.js ./test/**/*.test.ts"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"typescript",
|
|
21
|
+
"test",
|
|
22
|
+
"library"
|
|
23
|
+
],
|
|
24
|
+
"author": "co3moz",
|
|
25
|
+
"license": "ISC",
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@types/node": "^16.11.41",
|
|
28
|
+
"colors": "^1.3.3",
|
|
29
|
+
"commander": "^2.19.0",
|
|
30
|
+
"glob": "^7.2.3",
|
|
31
|
+
"ts-node": "^10.8.1",
|
|
32
|
+
"typescript": "^4.7.3"
|
|
33
|
+
}
|
|
34
|
+
}
|
package/src/data.ts
CHANGED
package/src/decorators.ts
CHANGED
package/src/dynamic.ts
ADDED
package/src/index.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators';
|
|
3
|
-
export { HookType } from './test';
|
|
2
|
+
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators.js';
|
|
3
|
+
export { HookType } from './test.js';
|
|
4
|
+
export { skipTest } from './dynamic.js';
|
package/src/run.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { HashMap } from "./data";
|
|
2
|
-
import { TimeDifference } from "./utils/time_difference";
|
|
3
|
-
import { TimeFactor } from "./utils/time_factor";
|
|
4
|
-
import * as
|
|
5
|
-
import { Executor } from "./utils/executor";
|
|
6
|
-
import { HookType, Test } from "./test";
|
|
1
|
+
import { HashMap } from "./data.js";
|
|
2
|
+
import { TimeDifference } from "./utils/time_difference.js";
|
|
3
|
+
import { TimeFactor } from "./utils/time_factor.js";
|
|
4
|
+
import * as clrs from 'colors/safe.js';
|
|
5
|
+
import { Executor } from "./utils/executor.js";
|
|
6
|
+
import { HookType, Test } from "./test.js";
|
|
7
|
+
|
|
8
|
+
const colors = (clrs as any).default;
|
|
7
9
|
|
|
8
10
|
const OK_TEXT = colors.bold(colors.green(' (ok) '));
|
|
9
11
|
const SKIP_TEXT = colors.bold(colors.yellow(' (skip) '));
|
|
12
|
+
const DYNAMIC_SKIP_TEXT = colors.bold(colors.blue(' (dskip) '));
|
|
10
13
|
const FAILED_TEXT = colors.bold(colors.red(' (failed) '));
|
|
11
14
|
const HOOK_FAILED_TEXT = colors.bold(colors.red(' (hook failed) '));
|
|
12
15
|
|
|
@@ -15,7 +18,7 @@ export function ManualRun(log: Function) {
|
|
|
15
18
|
log = console.log.bind(console);
|
|
16
19
|
}
|
|
17
20
|
|
|
18
|
-
return new Promise(async (resolve, reject) => {
|
|
21
|
+
return new Promise<void>(async (resolve, reject) => {
|
|
19
22
|
try {
|
|
20
23
|
let hashMap = new Map(HashMap());
|
|
21
24
|
|
|
@@ -85,7 +88,7 @@ async function HandleBeforeHooks(test: Test) {
|
|
|
85
88
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'before' ? `.${propertyKey}:before` : ':before')));
|
|
86
89
|
|
|
87
90
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
88
|
-
console.error(e
|
|
91
|
+
console.error((e as any)?.stack ?? e);
|
|
89
92
|
throw e;
|
|
90
93
|
}
|
|
91
94
|
}
|
|
@@ -101,7 +104,7 @@ async function HandleBeforeEachHooks(test: Test) {
|
|
|
101
104
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'beforeEach' ? `.${propertyKey}:beforeEach` : ':beforeEach')));
|
|
102
105
|
|
|
103
106
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
104
|
-
console.error(e
|
|
107
|
+
console.error((e as any)?.stack ?? e);
|
|
105
108
|
throw e;
|
|
106
109
|
}
|
|
107
110
|
}
|
|
@@ -117,7 +120,7 @@ async function HandleAfterEachHooks(test: Test) {
|
|
|
117
120
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'afterEach' ? `.${propertyKey}:afterEach` : ':afterEach')));
|
|
118
121
|
|
|
119
122
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
120
|
-
console.error(e
|
|
123
|
+
console.error((e as any)?.stack ?? e);
|
|
121
124
|
throw e;
|
|
122
125
|
}
|
|
123
126
|
}
|
|
@@ -145,10 +148,16 @@ async function HandleSpecs(test: Test, log: Function) {
|
|
|
145
148
|
|
|
146
149
|
log(`${OK_TEXT} ${timeText} ${testName}()`);
|
|
147
150
|
} catch (e) {
|
|
151
|
+
if ((e as any)?._nole_anchor) {
|
|
152
|
+
let reason = (e as any).reason;
|
|
153
|
+
log(`${DYNAMIC_SKIP_TEXT} ${' '.repeat(8)} ${testName}() ${reason ? '{' + reason + '}' : ''}`);
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
|
|
148
157
|
let timeText = TimeFactor(start.end(), spec.timeout);
|
|
149
158
|
|
|
150
159
|
console.error(`${FAILED_TEXT} ${timeText} ${testName}()`);
|
|
151
|
-
console.error(e
|
|
160
|
+
console.error((e as any)?.stack ?? e);
|
|
152
161
|
throw e;
|
|
153
162
|
}
|
|
154
163
|
|
|
@@ -166,7 +175,7 @@ async function HandleAfterHooks(test: Test) {
|
|
|
166
175
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'after' ? `.${propertyKey}:after` : ':after')));
|
|
167
176
|
|
|
168
177
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
169
|
-
console.error(e
|
|
178
|
+
console.error((e as any)?.stack ?? e);
|
|
170
179
|
throw e;
|
|
171
180
|
}
|
|
172
181
|
}
|
|
@@ -175,6 +184,8 @@ async function HandleAfterHooks(test: Test) {
|
|
|
175
184
|
|
|
176
185
|
async function HandleCleanUp(test: Test) {
|
|
177
186
|
if (test.cleanUpCalled) return;
|
|
187
|
+
if (!test.dependents.every(dependent => dependent.isFinished)) return;
|
|
188
|
+
|
|
178
189
|
test.cleanUpCalled = true;
|
|
179
190
|
|
|
180
191
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
@@ -186,7 +197,7 @@ async function HandleCleanUp(test: Test) {
|
|
|
186
197
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'cleanUp' ? `.${propertyKey}:cleanUp` : ':cleanUp')));
|
|
187
198
|
|
|
188
199
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
189
|
-
console.error(e
|
|
200
|
+
console.error((e as any)?.stack ?? e);
|
|
190
201
|
throw e;
|
|
191
202
|
}
|
|
192
203
|
}
|
package/src/utils/executor.ts
CHANGED
package/src/utils/time_factor.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as clrs from 'colors/safe.js';
|
|
2
|
+
|
|
3
|
+
const colors = (clrs as any).default;
|
|
2
4
|
|
|
3
5
|
export function TimeFactor(diff: number, timeout: number) {
|
|
4
6
|
if (diff < timeout / 5) return colors.green(TimeResolve(diff).padStart(9, ' '));
|
package/test/basic.test.ts
CHANGED
package/test/clean-up.test.ts
CHANGED
package/test/dynamic.test.ts
CHANGED
package/test/hook.test.ts
CHANGED
package/test/skip-all.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as assert from 'assert';
|
|
2
|
-
import { Spec, Skip } from "../src";
|
|
3
|
-
import { SkipClass } from '../src/decorators';
|
|
2
|
+
import { Spec, Skip } from "../src/index.js";
|
|
3
|
+
import { SkipClass } from '../src/decorators.js';
|
|
4
4
|
|
|
5
5
|
@SkipClass('skip all class')
|
|
6
6
|
export class SkipAllTest {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2020",
|
|
4
|
+
"module": "ES2020",
|
|
5
|
+
"lib": [
|
|
6
|
+
"es2020",
|
|
7
|
+
"esnext"
|
|
8
|
+
],
|
|
9
|
+
"declaration": true,
|
|
10
|
+
"declarationMap": true,
|
|
11
|
+
"sourceMap": true,
|
|
12
|
+
"outDir": "dist",
|
|
13
|
+
"removeComments": true,
|
|
14
|
+
"experimentalDecorators": true,
|
|
15
|
+
"emitDecoratorMetadata": true
|
|
16
|
+
},
|
|
17
|
+
"include": [
|
|
18
|
+
"./**/*.ts",
|
|
19
|
+
],
|
|
20
|
+
"exclude": [
|
|
21
|
+
"node_modules",
|
|
22
|
+
"dist"
|
|
23
|
+
],
|
|
24
|
+
}
|
package/tsconfig.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"target": "
|
|
4
|
-
"module": "
|
|
3
|
+
"target": "es2020",
|
|
4
|
+
"module": "es2020",
|
|
5
|
+
"moduleResolution": "node",
|
|
5
6
|
"lib": [
|
|
6
|
-
"
|
|
7
|
+
"es2020",
|
|
7
8
|
"esnext"
|
|
8
9
|
],
|
|
9
10
|
"declaration": true,
|
|
@@ -11,7 +12,6 @@
|
|
|
11
12
|
"sourceMap": true,
|
|
12
13
|
"outDir": "dist",
|
|
13
14
|
"removeComments": true,
|
|
14
|
-
"strict": true,
|
|
15
15
|
"experimentalDecorators": true,
|
|
16
16
|
"emitDecoratorMetadata": true
|
|
17
17
|
},
|