nole 1.0.12 → 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 -5
- 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 -17
- package/dist/decorators.js.map +1 -1
- package/dist/dynamic.js +1 -5
- package/dist/dynamic.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -13
- package/dist/index.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +30 -39
- package/dist/run.js.map +1 -1
- package/dist/test.js +3 -7
- package/dist/test.js.map +1 -1
- package/dist/utils/executor.js +1 -5
- package/dist/utils/executor.js.map +1 -1
- package/dist/utils/time_difference.js +1 -5
- 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 -10
- package/dist/utils/time_factor.js.map +1 -1
- package/package.json +7 -6
- package/src/data.ts +1 -1
- package/src/decorators.ts +2 -2
- package/src/index.ts +3 -3
- package/src/run.ts +16 -14
- 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 +1 -1
- 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 +3 -4
- 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,13 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HashMap = void 0;
|
|
4
1
|
const KEY = '_nole_hash';
|
|
5
|
-
function HashMap() {
|
|
2
|
+
export function HashMap() {
|
|
6
3
|
let g = global || {};
|
|
7
4
|
if (g[KEY]) {
|
|
8
5
|
return g[KEY];
|
|
9
6
|
}
|
|
10
7
|
return g[KEY] = new Map();
|
|
11
8
|
}
|
|
12
|
-
exports.HashMap = HashMap;
|
|
13
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,42 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const data_1 = require("./data");
|
|
5
|
-
const test_1 = require("./test");
|
|
6
|
-
function Spec(timeout = 5000) {
|
|
1
|
+
import { HashMap } from "./data.js";
|
|
2
|
+
import { Test } from "./test.js";
|
|
3
|
+
export function Spec(timeout = 5000) {
|
|
7
4
|
return function (target, propertyKey) {
|
|
8
5
|
DeclareSpecForTestClass(target, propertyKey, timeout);
|
|
9
6
|
};
|
|
10
7
|
}
|
|
11
|
-
|
|
12
|
-
function Dependency(dependency) {
|
|
8
|
+
export function Dependency(dependency) {
|
|
13
9
|
return function (target, propertyKey) {
|
|
14
10
|
DeclareDependencyForTestClass(target, propertyKey, dependency);
|
|
15
11
|
};
|
|
16
12
|
}
|
|
17
|
-
|
|
18
|
-
function Hook(type, timeout = 5000) {
|
|
13
|
+
export function Hook(type, timeout = 5000) {
|
|
19
14
|
return function (target, propertyKey) {
|
|
20
15
|
DeclareHookForTestClass(target, propertyKey, type, timeout);
|
|
21
16
|
};
|
|
22
17
|
}
|
|
23
|
-
|
|
24
|
-
function Skip(reason) {
|
|
18
|
+
export function Skip(reason) {
|
|
25
19
|
return function (target, propertyKey) {
|
|
26
20
|
DeclareAsSkipped(target, propertyKey, reason ? reason : '');
|
|
27
21
|
};
|
|
28
22
|
}
|
|
29
|
-
|
|
30
|
-
function SkipClass(reason) {
|
|
23
|
+
export function SkipClass(reason) {
|
|
31
24
|
return function (target) {
|
|
32
25
|
DeclareAsSkippedClass(target, reason ? reason : '');
|
|
33
26
|
};
|
|
34
27
|
}
|
|
35
|
-
exports.SkipClass = SkipClass;
|
|
36
28
|
function GetTestInstanceOfTarget(target) {
|
|
37
|
-
let instance =
|
|
29
|
+
let instance = HashMap().get(target);
|
|
38
30
|
if (!instance) {
|
|
39
|
-
|
|
31
|
+
HashMap().set(target, instance = new Test(target));
|
|
40
32
|
}
|
|
41
33
|
return instance;
|
|
42
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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"}
|
package/dist/dynamic.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.skipTest = void 0;
|
|
4
|
-
function skipTest(reason) {
|
|
1
|
+
export function skipTest(reason) {
|
|
5
2
|
throw new NoleManualSkip(reason);
|
|
6
3
|
}
|
|
7
|
-
exports.skipTest = skipTest;
|
|
8
4
|
class NoleManualSkip extends Error {
|
|
9
5
|
constructor(reason) {
|
|
10
6
|
super(`Dynamicly skipped! ${reason}`);
|
package/dist/dynamic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":"
|
|
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,4 +1,4 @@
|
|
|
1
|
-
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators';
|
|
2
|
-
export { HookType } from './test';
|
|
3
|
-
export { skipTest } from './dynamic';
|
|
1
|
+
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators.js';
|
|
2
|
+
export { HookType } from './test.js';
|
|
3
|
+
export { skipTest } from './dynamic.js';
|
|
4
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,14 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var decorators_1 = require("./decorators");
|
|
5
|
-
Object.defineProperty(exports, "Dependency", { enumerable: true, get: function () { return decorators_1.Dependency; } });
|
|
6
|
-
Object.defineProperty(exports, "Spec", { enumerable: true, get: function () { return decorators_1.Spec; } });
|
|
7
|
-
Object.defineProperty(exports, "Hook", { enumerable: true, get: function () { return decorators_1.Hook; } });
|
|
8
|
-
Object.defineProperty(exports, "Skip", { enumerable: true, get: function () { return decorators_1.Skip; } });
|
|
9
|
-
Object.defineProperty(exports, "SkipClass", { enumerable: true, get: function () { return decorators_1.SkipClass; } });
|
|
10
|
-
var test_1 = require("./test");
|
|
11
|
-
Object.defineProperty(exports, "HookType", { enumerable: true, get: function () { return test_1.HookType; } });
|
|
12
|
-
var dynamic_1 = require("./dynamic");
|
|
13
|
-
Object.defineProperty(exports, "skipTest", { enumerable: true, get: function () { return dynamic_1.skipTest; } });
|
|
1
|
+
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators.js';
|
|
2
|
+
export { HookType } from './test.js';
|
|
3
|
+
export { skipTest } from './dynamic.js';
|
|
14
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.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,24 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const colors =
|
|
8
|
-
const executor_1 = require("./utils/executor");
|
|
9
|
-
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;
|
|
10
8
|
const OK_TEXT = colors.bold(colors.green(' (ok) '));
|
|
11
9
|
const SKIP_TEXT = colors.bold(colors.yellow(' (skip) '));
|
|
12
10
|
const DYNAMIC_SKIP_TEXT = colors.bold(colors.blue(' (dskip) '));
|
|
13
11
|
const FAILED_TEXT = colors.bold(colors.red(' (failed) '));
|
|
14
12
|
const HOOK_FAILED_TEXT = colors.bold(colors.red(' (hook failed) '));
|
|
15
|
-
function ManualRun(log) {
|
|
13
|
+
export function ManualRun(log) {
|
|
16
14
|
if (!log) {
|
|
17
15
|
log = console.log.bind(console);
|
|
18
16
|
}
|
|
19
17
|
return new Promise(async (resolve, reject) => {
|
|
20
18
|
try {
|
|
21
|
-
let hashMap = new Map(
|
|
19
|
+
let hashMap = new Map(HashMap());
|
|
22
20
|
if (!hashMap.size) {
|
|
23
21
|
log(`${FAILED_TEXT} no specs found`);
|
|
24
22
|
throw new Error('No specs found');
|
|
@@ -48,7 +46,6 @@ function ManualRun(log) {
|
|
|
48
46
|
}
|
|
49
47
|
});
|
|
50
48
|
}
|
|
51
|
-
exports.ManualRun = ManualRun;
|
|
52
49
|
function PickNextTestFromHashMap(hashMap) {
|
|
53
50
|
for (let test of hashMap.values()) {
|
|
54
51
|
if (test.isFinished)
|
|
@@ -69,55 +66,51 @@ function HandleDependencies(test) {
|
|
|
69
66
|
}
|
|
70
67
|
}
|
|
71
68
|
async function HandleBeforeHooks(test) {
|
|
72
|
-
var _a;
|
|
73
69
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
74
|
-
if (hook.type !=
|
|
70
|
+
if (hook.type != HookType.Before)
|
|
75
71
|
continue;
|
|
76
72
|
try {
|
|
77
|
-
await
|
|
73
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
78
74
|
}
|
|
79
75
|
catch (e) {
|
|
80
76
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'before' ? `.${propertyKey}:before` : ':before')));
|
|
81
77
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
82
|
-
console.error(
|
|
78
|
+
console.error(e?.stack ?? e);
|
|
83
79
|
throw e;
|
|
84
80
|
}
|
|
85
81
|
}
|
|
86
82
|
}
|
|
87
83
|
async function HandleBeforeEachHooks(test) {
|
|
88
|
-
var _a;
|
|
89
84
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
90
|
-
if (hook.type !=
|
|
85
|
+
if (hook.type != HookType.BeforeEach)
|
|
91
86
|
continue;
|
|
92
87
|
try {
|
|
93
|
-
await
|
|
88
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
94
89
|
}
|
|
95
90
|
catch (e) {
|
|
96
91
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'beforeEach' ? `.${propertyKey}:beforeEach` : ':beforeEach')));
|
|
97
92
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
98
|
-
console.error(
|
|
93
|
+
console.error(e?.stack ?? e);
|
|
99
94
|
throw e;
|
|
100
95
|
}
|
|
101
96
|
}
|
|
102
97
|
}
|
|
103
98
|
async function HandleAfterEachHooks(test) {
|
|
104
|
-
var _a;
|
|
105
99
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
106
|
-
if (hook.type !=
|
|
100
|
+
if (hook.type != HookType.AfterEach)
|
|
107
101
|
continue;
|
|
108
102
|
try {
|
|
109
|
-
await
|
|
103
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
110
104
|
}
|
|
111
105
|
catch (e) {
|
|
112
106
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'afterEach' ? `.${propertyKey}:afterEach` : ':afterEach')));
|
|
113
107
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
114
|
-
console.error(
|
|
108
|
+
console.error(e?.stack ?? e);
|
|
115
109
|
throw e;
|
|
116
110
|
}
|
|
117
111
|
}
|
|
118
112
|
}
|
|
119
113
|
async function HandleSpecs(test, log) {
|
|
120
|
-
var _a;
|
|
121
114
|
for (let [propertyKey, spec] of test.specs.entries()) {
|
|
122
115
|
let testName = colors.bold(colors.yellow(test.name + '.' + propertyKey));
|
|
123
116
|
const shouldPropertySkip = test.skip.has(propertyKey);
|
|
@@ -127,59 +120,57 @@ async function HandleSpecs(test, log) {
|
|
|
127
120
|
continue;
|
|
128
121
|
}
|
|
129
122
|
await HandleBeforeEachHooks(test);
|
|
130
|
-
let start =
|
|
123
|
+
let start = TimeDifference.begin();
|
|
131
124
|
try {
|
|
132
|
-
await
|
|
133
|
-
let timeText =
|
|
125
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), spec.timeout);
|
|
126
|
+
let timeText = TimeFactor(start.end(), spec.timeout);
|
|
134
127
|
log(`${OK_TEXT} ${timeText} ${testName}()`);
|
|
135
128
|
}
|
|
136
129
|
catch (e) {
|
|
137
|
-
if (e
|
|
130
|
+
if (e?._nole_anchor) {
|
|
138
131
|
let reason = e.reason;
|
|
139
132
|
log(`${DYNAMIC_SKIP_TEXT} ${' '.repeat(8)} ${testName}() ${reason ? '{' + reason + '}' : ''}`);
|
|
140
133
|
continue;
|
|
141
134
|
}
|
|
142
|
-
let timeText =
|
|
135
|
+
let timeText = TimeFactor(start.end(), spec.timeout);
|
|
143
136
|
console.error(`${FAILED_TEXT} ${timeText} ${testName}()`);
|
|
144
|
-
console.error(
|
|
137
|
+
console.error(e?.stack ?? e);
|
|
145
138
|
throw e;
|
|
146
139
|
}
|
|
147
140
|
await HandleAfterEachHooks(test);
|
|
148
141
|
}
|
|
149
142
|
}
|
|
150
143
|
async function HandleAfterHooks(test) {
|
|
151
|
-
var _a;
|
|
152
144
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
153
|
-
if (hook.type !=
|
|
145
|
+
if (hook.type != HookType.After)
|
|
154
146
|
continue;
|
|
155
147
|
try {
|
|
156
|
-
await
|
|
148
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
157
149
|
}
|
|
158
150
|
catch (e) {
|
|
159
151
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'after' ? `.${propertyKey}:after` : ':after')));
|
|
160
152
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
161
|
-
console.error(
|
|
153
|
+
console.error(e?.stack ?? e);
|
|
162
154
|
throw e;
|
|
163
155
|
}
|
|
164
156
|
}
|
|
165
157
|
}
|
|
166
158
|
async function HandleCleanUp(test) {
|
|
167
|
-
var _a;
|
|
168
159
|
if (test.cleanUpCalled)
|
|
169
160
|
return;
|
|
170
161
|
if (!test.dependents.every(dependent => dependent.isFinished))
|
|
171
162
|
return;
|
|
172
163
|
test.cleanUpCalled = true;
|
|
173
164
|
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
174
|
-
if (hook.type !=
|
|
165
|
+
if (hook.type != HookType.CleanUp)
|
|
175
166
|
continue;
|
|
176
167
|
try {
|
|
177
|
-
await
|
|
168
|
+
await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
|
|
178
169
|
}
|
|
179
170
|
catch (e) {
|
|
180
171
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'cleanUp' ? `.${propertyKey}:cleanUp` : ':cleanUp')));
|
|
181
172
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
182
|
-
console.error(
|
|
173
|
+
console.error(e?.stack ?? e);
|
|
183
174
|
throw e;
|
|
184
175
|
}
|
|
185
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.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HookType = exports.Test = void 0;
|
|
4
|
-
class Test {
|
|
1
|
+
export class Test {
|
|
5
2
|
constructor(target) {
|
|
6
3
|
this.target = target;
|
|
7
4
|
this.dependencies = [];
|
|
@@ -17,13 +14,12 @@ class Test {
|
|
|
17
14
|
return this.target.name;
|
|
18
15
|
}
|
|
19
16
|
}
|
|
20
|
-
|
|
21
|
-
var HookType;
|
|
17
|
+
export var HookType;
|
|
22
18
|
(function (HookType) {
|
|
23
19
|
HookType[HookType["Before"] = 0] = "Before";
|
|
24
20
|
HookType[HookType["After"] = 1] = "After";
|
|
25
21
|
HookType[HookType["BeforeEach"] = 2] = "BeforeEach";
|
|
26
22
|
HookType[HookType["AfterEach"] = 3] = "AfterEach";
|
|
27
23
|
HookType[HookType["CleanUp"] = 4] = "CleanUp";
|
|
28
|
-
})(HookType
|
|
24
|
+
})(HookType || (HookType = {}));
|
|
29
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.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Executor = void 0;
|
|
4
|
-
function Executor(fn, timeout) {
|
|
1
|
+
export function Executor(fn, timeout) {
|
|
5
2
|
return new Promise(async (resolve, reject) => {
|
|
6
3
|
let _timeout = null;
|
|
7
4
|
try {
|
|
@@ -20,5 +17,4 @@ function Executor(fn, timeout) {
|
|
|
20
17
|
resolve();
|
|
21
18
|
});
|
|
22
19
|
}
|
|
23
|
-
exports.Executor = Executor;
|
|
24
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,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimeDifference = void 0;
|
|
4
|
-
class TimeDifference {
|
|
1
|
+
export class TimeDifference {
|
|
5
2
|
constructor() {
|
|
6
3
|
this.startAt = process.hrtime();
|
|
7
4
|
}
|
|
@@ -13,5 +10,4 @@ class TimeDifference {
|
|
|
13
10
|
return diff[0] * 1000 + diff[1] / 1e6;
|
|
14
11
|
}
|
|
15
12
|
}
|
|
16
|
-
exports.TimeDifference = TimeDifference;
|
|
17
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,16 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const colors = require("colors/safe");
|
|
5
|
-
function TimeFactor(diff, timeout) {
|
|
1
|
+
import * as clrs from 'colors/safe.js';
|
|
2
|
+
const colors = clrs.default;
|
|
3
|
+
export function TimeFactor(diff, timeout) {
|
|
6
4
|
if (diff < timeout / 5)
|
|
7
5
|
return colors.green(TimeResolve(diff).padStart(9, ' '));
|
|
8
6
|
if (diff < timeout / 2)
|
|
9
7
|
return colors.yellow(TimeResolve(diff).padStart(9, ' '));
|
|
10
8
|
return colors.red(TimeResolve(diff).padStart(9, ' '));
|
|
11
9
|
}
|
|
12
|
-
|
|
13
|
-
function TimeResolve(ms) {
|
|
10
|
+
export function TimeResolve(ms) {
|
|
14
11
|
if (ms < 1000)
|
|
15
12
|
return (ms * 100 | 0) / 100 + ' ms';
|
|
16
13
|
if (ms < 60 * 1000)
|
|
@@ -19,9 +16,7 @@ function TimeResolve(ms) {
|
|
|
19
16
|
return (ms / 600 | 0) / 100 + ' m';
|
|
20
17
|
return (ms / 36000 | 0) / 100 + ' h';
|
|
21
18
|
}
|
|
22
|
-
|
|
23
|
-
function Delay(ms) {
|
|
19
|
+
export function Delay(ms) {
|
|
24
20
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
25
21
|
}
|
|
26
|
-
exports.Delay = Delay;
|
|
27
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,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nole",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"type": "module",
|
|
4
5
|
"description": "Testing Library for Typescript projects",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
@@ -13,7 +14,7 @@
|
|
|
13
14
|
},
|
|
14
15
|
"scripts": {
|
|
15
16
|
"build": "tsc",
|
|
16
|
-
"test": "node ./bin/nole.js ./test/**/*.test.ts"
|
|
17
|
+
"test": "node --loader=ts-node/esm ./bin/nole.js ./test/**/*.test.ts"
|
|
17
18
|
},
|
|
18
19
|
"keywords": [
|
|
19
20
|
"typescript",
|
|
@@ -23,11 +24,11 @@
|
|
|
23
24
|
"author": "co3moz",
|
|
24
25
|
"license": "ISC",
|
|
25
26
|
"dependencies": {
|
|
26
|
-
"@types/node": "^
|
|
27
|
+
"@types/node": "^16.11.41",
|
|
27
28
|
"colors": "^1.3.3",
|
|
28
29
|
"commander": "^2.19.0",
|
|
29
|
-
"glob": "^7.
|
|
30
|
-
"ts-node": "^8.
|
|
31
|
-
"typescript": "^4.3
|
|
30
|
+
"glob": "^7.2.3",
|
|
31
|
+
"ts-node": "^10.8.1",
|
|
32
|
+
"typescript": "^4.7.3"
|
|
32
33
|
}
|
|
33
34
|
}
|
package/src/data.ts
CHANGED
package/src/decorators.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators';
|
|
3
|
-
export { HookType } from './test';
|
|
4
|
-
export { skipTest } from './dynamic';
|
|
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,9 +1,11 @@
|
|
|
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) '));
|
|
@@ -86,7 +88,7 @@ async function HandleBeforeHooks(test: Test) {
|
|
|
86
88
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'before' ? `.${propertyKey}:before` : ':before')));
|
|
87
89
|
|
|
88
90
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
89
|
-
console.error(e?.stack ?? e);
|
|
91
|
+
console.error((e as any)?.stack ?? e);
|
|
90
92
|
throw e;
|
|
91
93
|
}
|
|
92
94
|
}
|
|
@@ -102,7 +104,7 @@ async function HandleBeforeEachHooks(test: Test) {
|
|
|
102
104
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'beforeEach' ? `.${propertyKey}:beforeEach` : ':beforeEach')));
|
|
103
105
|
|
|
104
106
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
105
|
-
console.error(e?.stack ?? e);
|
|
107
|
+
console.error((e as any)?.stack ?? e);
|
|
106
108
|
throw e;
|
|
107
109
|
}
|
|
108
110
|
}
|
|
@@ -118,7 +120,7 @@ async function HandleAfterEachHooks(test: Test) {
|
|
|
118
120
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'afterEach' ? `.${propertyKey}:afterEach` : ':afterEach')));
|
|
119
121
|
|
|
120
122
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
121
|
-
console.error(e?.stack ?? e);
|
|
123
|
+
console.error((e as any)?.stack ?? e);
|
|
122
124
|
throw e;
|
|
123
125
|
}
|
|
124
126
|
}
|
|
@@ -146,8 +148,8 @@ async function HandleSpecs(test: Test, log: Function) {
|
|
|
146
148
|
|
|
147
149
|
log(`${OK_TEXT} ${timeText} ${testName}()`);
|
|
148
150
|
} catch (e) {
|
|
149
|
-
if (e?._nole_anchor) {
|
|
150
|
-
let reason = e.reason;
|
|
151
|
+
if ((e as any)?._nole_anchor) {
|
|
152
|
+
let reason = (e as any).reason;
|
|
151
153
|
log(`${DYNAMIC_SKIP_TEXT} ${' '.repeat(8)} ${testName}() ${reason ? '{' + reason + '}' : ''}`);
|
|
152
154
|
continue;
|
|
153
155
|
}
|
|
@@ -155,7 +157,7 @@ async function HandleSpecs(test: Test, log: Function) {
|
|
|
155
157
|
let timeText = TimeFactor(start.end(), spec.timeout);
|
|
156
158
|
|
|
157
159
|
console.error(`${FAILED_TEXT} ${timeText} ${testName}()`);
|
|
158
|
-
console.error(e?.stack ?? e);
|
|
160
|
+
console.error((e as any)?.stack ?? e);
|
|
159
161
|
throw e;
|
|
160
162
|
}
|
|
161
163
|
|
|
@@ -173,7 +175,7 @@ async function HandleAfterHooks(test: Test) {
|
|
|
173
175
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'after' ? `.${propertyKey}:after` : ':after')));
|
|
174
176
|
|
|
175
177
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
176
|
-
console.error(e?.stack ?? e);
|
|
178
|
+
console.error((e as any)?.stack ?? e);
|
|
177
179
|
throw e;
|
|
178
180
|
}
|
|
179
181
|
}
|
|
@@ -195,7 +197,7 @@ async function HandleCleanUp(test: Test) {
|
|
|
195
197
|
let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'cleanUp' ? `.${propertyKey}:cleanUp` : ':cleanUp')));
|
|
196
198
|
|
|
197
199
|
console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
|
|
198
|
-
console.error(e?.stack ?? e);
|
|
200
|
+
console.error((e as any)?.stack ?? e);
|
|
199
201
|
throw e;
|
|
200
202
|
}
|
|
201
203
|
}
|
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 {
|
package/test/tsconfig.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"target": "
|
|
4
|
-
"module": "
|
|
3
|
+
"target": "es2020",
|
|
4
|
+
"module": "ES2020",
|
|
5
5
|
"lib": [
|
|
6
|
-
"
|
|
6
|
+
"es2020",
|
|
7
7
|
"esnext"
|
|
8
8
|
],
|
|
9
9
|
"declaration": true,
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
"sourceMap": true,
|
|
12
12
|
"outDir": "dist",
|
|
13
13
|
"removeComments": true,
|
|
14
|
-
"strict": true,
|
|
15
14
|
"experimentalDecorators": true,
|
|
16
15
|
"emitDecoratorMetadata": true
|
|
17
16
|
},
|
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
|
},
|