nole 3.1.0 → 3.2.1
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/README.md +40 -0
- package/dist/cjs/const.js +45 -0
- package/dist/cjs/core.js +61 -0
- package/dist/cjs/dynamic.js +56 -0
- package/dist/cjs/handle/after-each-hooks.js +29 -0
- package/dist/cjs/handle/after-hooks.js +27 -0
- package/dist/cjs/handle/before-each-hooks.js +29 -0
- package/dist/cjs/handle/before-hooks.js +37 -0
- package/dist/cjs/handle/cleanup-hooks.js +37 -0
- package/dist/cjs/handle/specs.js +52 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/run.js +216 -0
- package/dist/cjs/symbol.js +6 -0
- package/dist/cjs/test-wrap.js +33 -0
- package/dist/cjs/utils/executor.js +23 -0
- package/dist/cjs/utils/time_difference.js +26 -0
- package/dist/cjs/utils/time_factor.js +31 -0
- package/dist/core.d.ts +3 -1
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +2 -2
- package/dist/dynamic.d.ts +1 -0
- package/dist/dynamic.d.ts.map +1 -1
- package/dist/dynamic.js +6 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +3 -2
- package/dist/symbol.d.ts +1 -0
- package/dist/symbol.d.ts.map +1 -1
- package/dist/symbol.js +2 -1
- package/package.json +17 -6
- package/.github/workflows/ci.yaml +0 -34
- package/dist/pipeline.test.d.ts +0 -7
- package/dist/pipeline.test.d.ts.map +0 -1
- package/dist/pipeline.test.js +0 -124
- package/dist/utils/executor.test.d.ts +0 -8
- package/dist/utils/executor.test.d.ts.map +0 -1
- package/dist/utils/executor.test.js +0 -22
- package/dist/utils/time_difference.test.d.ts +0 -6
- package/dist/utils/time_difference.test.d.ts.map +0 -1
- package/dist/utils/time_difference.test.js +0 -11
- package/dist/utils/time_factor.test.d.ts +0 -6
- package/dist/utils/time_factor.test.d.ts.map +0 -1
- package/dist/utils/time_factor.test.js +0 -27
- package/tsconfig.json +0 -18
package/README.md
CHANGED
|
@@ -472,3 +472,43 @@ export class HookOverrideTest extends HookInitialTest {
|
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
474
|
```
|
|
475
|
+
|
|
476
|
+
## CommonJS support
|
|
477
|
+
|
|
478
|
+
Nole ships both an ESM and a CommonJS build, wired up through the package
|
|
479
|
+
`exports` map. Use whichever your project speaks — `import` gets the ESM build,
|
|
480
|
+
`require` gets the CommonJS one:
|
|
481
|
+
|
|
482
|
+
```js
|
|
483
|
+
import { Test } from "nole"; // ESM
|
|
484
|
+
const { Test } = require("nole"); // CommonJS
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
You don't even need TypeScript. A plain CommonJS `.js` test file works:
|
|
488
|
+
|
|
489
|
+
```js
|
|
490
|
+
// test/commonjs/require.test.js
|
|
491
|
+
const { Test } = require("nole");
|
|
492
|
+
|
|
493
|
+
exports.CommonJSTest = class CommonJSTest extends Test() {
|
|
494
|
+
async check() {
|
|
495
|
+
console.log("It works from CommonJS");
|
|
496
|
+
}
|
|
497
|
+
};
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
When discovering tests, nole loads each file with the loader that matches its own
|
|
501
|
+
module format: ESM files via `import()`, CommonJS files via `require()`. The
|
|
502
|
+
format is decided the same way Node decides it — `.mts`/`.cts` win by extension,
|
|
503
|
+
otherwise the nearest `package.json` `type` field is used. So ESM and CommonJS
|
|
504
|
+
test files can even live side by side in one run:
|
|
505
|
+
|
|
506
|
+
```bash
|
|
507
|
+
$ nole './test/**/*.test.{ts,js}'
|
|
508
|
+
(ok) 0.11 ms QueueTest.push()
|
|
509
|
+
(ok) 0.58 ms CommonJSTest.check()
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
> Quote your globs (`'./test/**/*.test.{ts,js}'`) so nole expands them itself
|
|
513
|
+
> instead of relying on the shell — this keeps discovery consistent across
|
|
514
|
+
> environments.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DEFAULT_TIMEOUT = exports.HOOK_FAILED_TEXT = exports.FAILED_TEXT = exports.DYNAMIC_SKIP_TEXT = exports.SKIP_TEXT = exports.OK_TEXT = exports.colors = void 0;
|
|
37
|
+
const clrs = __importStar(require("colors/safe.js"));
|
|
38
|
+
exports.colors = clrs.default;
|
|
39
|
+
exports.OK_TEXT = exports.colors.bold(exports.colors.green(" (ok) "));
|
|
40
|
+
exports.SKIP_TEXT = exports.colors.bold(exports.colors.yellow(" (skip) "));
|
|
41
|
+
exports.DYNAMIC_SKIP_TEXT = exports.colors.bold(exports.colors.blue(" (dskip) "));
|
|
42
|
+
exports.FAILED_TEXT = exports.colors.bold(exports.colors.red(" (failed) "));
|
|
43
|
+
exports.HOOK_FAILED_TEXT = exports.colors.bold(exports.colors.red(" (hook failed) "));
|
|
44
|
+
exports.DEFAULT_TIMEOUT = 5000;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsTUFBWSxJQUFJLDJDQUF1QjtBQUUxQixRQUFBLE1BQU0sR0FBSSxJQUFZLENBQUMsT0FBTyxDQUFDO0FBRS9CLFFBQUEsT0FBTyxHQUFHLFFBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUNsRCxRQUFBLFNBQVMsR0FBRyxRQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBQSxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDckQsUUFBQSxpQkFBaUIsR0FBRyxRQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7QUFDNUQsUUFBQSxXQUFXLEdBQUcsUUFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQUEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ3BELFFBQUEsZ0JBQWdCLEdBQUcsUUFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQUEsTUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7QUFFOUQsUUFBQSxlQUFlLEdBQUcsSUFBSSxDQUFDIn0=
|
package/dist/cjs/core.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.BaseTest = void 0;
|
|
5
|
+
exports.Test = Test;
|
|
6
|
+
const symbol_js_1 = require("./symbol.js");
|
|
7
|
+
class BaseTest {
|
|
8
|
+
}
|
|
9
|
+
exports.BaseTest = BaseTest;
|
|
10
|
+
_a = symbol_js_1.TEST_CLASS_KEY;
|
|
11
|
+
BaseTest[_a] = {
|
|
12
|
+
dependencies: new Map(),
|
|
13
|
+
timeout: 5000,
|
|
14
|
+
};
|
|
15
|
+
function Test({ dependencies, skip, before, after, timeout, } = {}) {
|
|
16
|
+
var _b, _c, _d;
|
|
17
|
+
function wrap(superClassInfo) {
|
|
18
|
+
const deps = dependencies ? dependencies : {};
|
|
19
|
+
const classInfo = { ...superClassInfo };
|
|
20
|
+
if (!classInfo.dependencies) {
|
|
21
|
+
classInfo.dependencies = new Map();
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
classInfo.dependencies = new Map(classInfo.dependencies);
|
|
25
|
+
}
|
|
26
|
+
if (before !== undefined) {
|
|
27
|
+
classInfo.before = before;
|
|
28
|
+
}
|
|
29
|
+
if (after !== undefined) {
|
|
30
|
+
classInfo.after = after;
|
|
31
|
+
}
|
|
32
|
+
for (const key of Object.keys(deps)) {
|
|
33
|
+
const config = deps[key];
|
|
34
|
+
if (symbol_js_1.TEST_CLASS_KEY in config) {
|
|
35
|
+
classInfo.dependencies.set(key, (() => config));
|
|
36
|
+
}
|
|
37
|
+
else if (typeof config === "function") {
|
|
38
|
+
classInfo.dependencies.set(key, config);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new Error(`Invalid dependency configuration for key ${key}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (skip !== undefined) {
|
|
45
|
+
classInfo.skip = skip;
|
|
46
|
+
}
|
|
47
|
+
if (timeout !== undefined) {
|
|
48
|
+
classInfo.timeout = timeout;
|
|
49
|
+
}
|
|
50
|
+
return classInfo;
|
|
51
|
+
}
|
|
52
|
+
return _b = class extends (_c = BaseTest) {
|
|
53
|
+
constructor() {
|
|
54
|
+
super();
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
_d = symbol_js_1.TEST_CLASS_KEY,
|
|
58
|
+
_b[_d] = wrap(Reflect.get(_c, symbol_js_1.TEST_CLASS_KEY, _b)),
|
|
59
|
+
_b;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkNBQWlFO0FBV2pFO0NBT0M7O0tBSlMsMEJBQWM7QUFBZixZQUFnQixHQUFrQjtJQUN2QyxZQUFZLEVBQUUsSUFBSSxHQUFHLEVBQUU7SUFDdkIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBTUosY0FFRSxFQUNBLFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLEtBQUssRUFDTCxPQUFPLEdBQ1IsR0FNRyxFQUFFOztJQUtKLFNBQVMsSUFBSSxDQUFDLGNBQTZCO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBRSxFQUFXLENBQUM7UUFFeEQsTUFBTSxTQUFTLEdBQUcsRUFBRSxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBRXhDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUIsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVELElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3pCLFNBQVMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDO1FBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXpCLElBQUksMEJBQWMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDN0IsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFRLENBQUMsQ0FBQztZQUN6RCxDQUFDO2lCQUFNLElBQUksT0FBTyxNQUFNLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQ3hDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNyRSxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLFNBQVMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQixTQUFTLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUM5QixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sS0FBQSxLQUFNLFNBQVEsTUFBQSxRQUFRLENBQUE7WUFHM0I7Z0JBQ0UsS0FBSyxFQUFFLENBQUM7WUFDVixDQUFDO1NBQ0Y7YUFMUywwQkFBYztRQUFmLE1BQWdCLEdBQWtCLElBQUksQ0FBQyxnQkFBTSwwQkFBYyxLQUFmLENBQWtCO1VBSzdCLENBQUM7QUFDN0MsQ0FBQyJ9
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.skipTest = skipTest;
|
|
4
|
+
exports.skipClass = skipClass;
|
|
5
|
+
exports.isSkipped = isSkipped;
|
|
6
|
+
exports.getTest = getTest;
|
|
7
|
+
exports.addTest = addTest;
|
|
8
|
+
const run_js_1 = require("./run.js");
|
|
9
|
+
const symbol_js_1 = require("./symbol.js");
|
|
10
|
+
const test_wrap_js_1 = require("./test-wrap.js");
|
|
11
|
+
function skipTest(reason) {
|
|
12
|
+
throw new NoleManualSkip(reason);
|
|
13
|
+
}
|
|
14
|
+
function skipClass(reason) {
|
|
15
|
+
throw new NoleManualClassSkip(reason);
|
|
16
|
+
}
|
|
17
|
+
function isSkipped(instance) {
|
|
18
|
+
const info = instance[symbol_js_1.TEST_INSTANCE_INFO];
|
|
19
|
+
return !!info?.skip;
|
|
20
|
+
}
|
|
21
|
+
class NoleManualSkip extends Error {
|
|
22
|
+
constructor(reason) {
|
|
23
|
+
super(`Dynamicly skipped! ${reason}`);
|
|
24
|
+
this.reason = reason;
|
|
25
|
+
this._nole_anchor = 1;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
class NoleManualClassSkip extends Error {
|
|
29
|
+
constructor(reason) {
|
|
30
|
+
super(`Dynamicly skipped! ${reason}`);
|
|
31
|
+
this.reason = reason;
|
|
32
|
+
this._nole_anchor = 2;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function getTest(test) {
|
|
36
|
+
const testWrap = (0, run_js_1.getTestMap)().get(test());
|
|
37
|
+
if (!testWrap) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
(0, run_js_1.createInstanceIfNotExists)(testWrap);
|
|
41
|
+
return testWrap.testInstance;
|
|
42
|
+
}
|
|
43
|
+
function addTest(test) {
|
|
44
|
+
const testMap = (0, run_js_1.getTestMap)();
|
|
45
|
+
const remainingTests = (0, run_js_1.getFutureTestMap)();
|
|
46
|
+
const testClass = test();
|
|
47
|
+
if (testMap.has(testClass)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const testWrap = new test_wrap_js_1.TestWrap(testClass);
|
|
51
|
+
remainingTests.set(testClass, testWrap);
|
|
52
|
+
testMap.set(testClass, testWrap);
|
|
53
|
+
(0, run_js_1.updateInformationForClass)(testClass, testWrap, testMap);
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9keW5hbWljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFDQSxxQ0FLa0I7QUFDbEIsMkNBQWlFO0FBQ2pFLGlEQUEwQztBQUUxQyxrQkFBeUIsTUFBZTtJQUN0QyxNQUFNLElBQUksY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxtQkFBMEIsTUFBZTtJQUN2QyxNQUFNLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDeEMsQ0FBQztBQUVELG1CQUEwQixRQUFrQjtJQUMxQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsOEJBQWtCLENBQUMsQ0FBQztJQUUxQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLGNBQWUsU0FBUSxLQUFLO0lBR2hDLFlBQW1CLE1BQWU7UUFDaEMsS0FBSyxDQUFDLHNCQUFzQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRHJCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFGbEMsaUJBQVksR0FBRyxDQUFDLENBQUM7SUFJakIsQ0FBQztDQUNGO0FBRUQsTUFBTSxtQkFBb0IsU0FBUSxLQUFLO0lBR3JDLFlBQW1CLE1BQWU7UUFDaEMsS0FBSyxDQUFDLHNCQUFzQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRHJCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFGbEMsaUJBQVksR0FBRyxDQUFDLENBQUM7SUFJakIsQ0FBQztDQUNGO0FBRUQsaUJBQ0UsSUFBdUI7SUFFdkIsTUFBTSxRQUFRLEdBQUcsSUFBQSxtQkFBVSxHQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBUyxDQUF5QixDQUFDO0lBRXpFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQUEsa0NBQXlCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEMsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBQy9CLENBQUM7QUFFRCxpQkFBNEMsSUFBdUI7SUFDakUsTUFBTSxPQUFPLEdBQUcsSUFBQSxtQkFBVSxHQUFFLENBQUM7SUFDN0IsTUFBTSxjQUFjLEdBQUcsSUFBQSx5QkFBZ0IsR0FBRSxDQUFDO0lBRTFDLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDO0lBRXpCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksdUJBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUVqQyxJQUFBLGtDQUF5QixFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFeEQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIn0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleAfterEachHooks = handleAfterEachHooks;
|
|
4
|
+
const test_wrap_js_1 = require("../test-wrap.js");
|
|
5
|
+
const executor_js_1 = require("../utils/executor.js");
|
|
6
|
+
const time_factor_js_1 = require("../utils/time_factor.js");
|
|
7
|
+
const const_js_1 = require("../const.js");
|
|
8
|
+
async function handleAfterEachHooks(test) {
|
|
9
|
+
const timeout = test.config.timeout ?? const_js_1.DEFAULT_TIMEOUT;
|
|
10
|
+
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
11
|
+
if (hook.type != test_wrap_js_1.HookType.AfterEach)
|
|
12
|
+
continue;
|
|
13
|
+
let hookName = const_js_1.colors.bold(const_js_1.colors.yellow(test.name +
|
|
14
|
+
(propertyKey != "afterEach"
|
|
15
|
+
? `.${propertyKey}:afterEach`
|
|
16
|
+
: ":afterEach")));
|
|
17
|
+
try {
|
|
18
|
+
await (0, executor_js_1.Executor)(test.testInstance[propertyKey].bind(test.testInstance), timeout);
|
|
19
|
+
let timeText = (0, time_factor_js_1.TimeFactor)(0, timeout);
|
|
20
|
+
console.log(`${const_js_1.OK_TEXT} ${timeText} ${hookName}()`);
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
console.error(`${const_js_1.HOOK_FAILED_TEXT} ${hookName}()`);
|
|
24
|
+
console.error(e?.stack ?? e);
|
|
25
|
+
throw e;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZ0ZXItZWFjaC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGUvYWZ0ZXItZWFjaC1ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBcUQ7QUFDckQsc0RBQWdEO0FBQ2hELDREQUFxRDtBQUNyRCwwQ0FLcUI7QUFFZCxLQUFLLCtCQUErQixJQUFjO0lBQ3ZELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLDBCQUFlLENBQUM7SUFFdkQsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksdUJBQVEsQ0FBQyxTQUFTO1lBQUUsU0FBUztRQUU5QyxJQUFJLFFBQVEsR0FBRyxpQkFBTSxDQUFDLElBQUksQ0FDeEIsaUJBQU0sQ0FBQyxNQUFNLENBQ1gsSUFBSSxDQUFDLElBQUk7WUFDUCxDQUFDLFdBQVcsSUFBSSxXQUFXO2dCQUN6QixDQUFDLENBQUMsSUFBSSxXQUFXLFlBQVk7Z0JBQzdCLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FDcEIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFBLHNCQUFRLEVBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUN0RCxPQUFPLENBQ1IsQ0FBQztZQUVGLElBQUksUUFBUSxHQUFHLElBQUEsMkJBQVUsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFPLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsMkJBQWdCLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQztZQUNuRCxPQUFPLENBQUMsS0FBSyxDQUFFLENBQVMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleAfterHooks = handleAfterHooks;
|
|
4
|
+
const test_wrap_js_1 = require("../test-wrap.js");
|
|
5
|
+
const executor_js_1 = require("../utils/executor.js");
|
|
6
|
+
const time_factor_js_1 = require("../utils/time_factor.js");
|
|
7
|
+
const const_js_1 = require("../const.js");
|
|
8
|
+
async function handleAfterHooks(test) {
|
|
9
|
+
const timeout = test.config.timeout ?? const_js_1.DEFAULT_TIMEOUT;
|
|
10
|
+
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
11
|
+
if (hook.type != test_wrap_js_1.HookType.After)
|
|
12
|
+
continue;
|
|
13
|
+
let hookName = const_js_1.colors.bold(const_js_1.colors.yellow(test.name +
|
|
14
|
+
(propertyKey != "after" ? `.${propertyKey}:after` : ":after")));
|
|
15
|
+
try {
|
|
16
|
+
await (0, executor_js_1.Executor)(test.testInstance[propertyKey].bind(test.testInstance), timeout);
|
|
17
|
+
let timeText = (0, time_factor_js_1.TimeFactor)(0, timeout);
|
|
18
|
+
console.log(`${const_js_1.OK_TEXT} ${timeText} ${hookName}()`);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
console.error(`${const_js_1.HOOK_FAILED_TEXT} ${hookName}()`);
|
|
22
|
+
console.error(e?.stack ?? e);
|
|
23
|
+
throw e;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZ0ZXItaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlL2FmdGVyLWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQUFxRDtBQUNyRCxzREFBZ0Q7QUFDaEQsNERBQXFEO0FBQ3JELDBDQUtxQjtBQUVkLEtBQUssMkJBQTJCLElBQWM7SUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksMEJBQWUsQ0FBQztJQUV2RCxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSx1QkFBUSxDQUFDLEtBQUs7WUFBRSxTQUFTO1FBRTFDLElBQUksUUFBUSxHQUFHLGlCQUFNLENBQUMsSUFBSSxDQUN4QixpQkFBTSxDQUFDLE1BQU0sQ0FDWCxJQUFJLENBQUMsSUFBSTtZQUNQLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQ2hFLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILE1BQU0sSUFBQSxzQkFBUSxFQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDdEQsT0FBTyxDQUNSLENBQUM7WUFDRixJQUFJLFFBQVEsR0FBRyxJQUFBLDJCQUFVLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxrQkFBTyxJQUFJLFFBQVEsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLDJCQUFnQixJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFTLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleBeforeEachHooks = handleBeforeEachHooks;
|
|
4
|
+
const test_wrap_js_1 = require("../test-wrap.js");
|
|
5
|
+
const executor_js_1 = require("../utils/executor.js");
|
|
6
|
+
const time_factor_js_1 = require("../utils/time_factor.js");
|
|
7
|
+
const const_js_1 = require("../const.js");
|
|
8
|
+
async function handleBeforeEachHooks(test) {
|
|
9
|
+
const timeout = test.config.timeout ?? const_js_1.DEFAULT_TIMEOUT;
|
|
10
|
+
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
11
|
+
if (hook.type != test_wrap_js_1.HookType.BeforeEach)
|
|
12
|
+
continue;
|
|
13
|
+
let hookName = const_js_1.colors.bold(const_js_1.colors.yellow(test.name +
|
|
14
|
+
(propertyKey != "beforeEach"
|
|
15
|
+
? `.${propertyKey}:beforeEach`
|
|
16
|
+
: ":beforeEach")));
|
|
17
|
+
try {
|
|
18
|
+
await (0, executor_js_1.Executor)(test.testInstance[propertyKey].bind(test.testInstance), timeout);
|
|
19
|
+
let timeText = (0, time_factor_js_1.TimeFactor)(0, timeout);
|
|
20
|
+
console.log(`${const_js_1.OK_TEXT} ${timeText} ${hookName}()`);
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
console.error(`${const_js_1.HOOK_FAILED_TEXT} ${hookName}()`);
|
|
24
|
+
console.error(e?.stack ?? e);
|
|
25
|
+
throw e;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLWVhY2gtaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlL2JlZm9yZS1lYWNoLWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGtEQUFxRDtBQUNyRCxzREFBZ0Q7QUFDaEQsNERBQXFEO0FBQ3JELDBDQUtxQjtBQUVkLEtBQUssZ0NBQWdDLElBQWM7SUFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksMEJBQWUsQ0FBQztJQUV2RCxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSx1QkFBUSxDQUFDLFVBQVU7WUFBRSxTQUFTO1FBQy9DLElBQUksUUFBUSxHQUFHLGlCQUFNLENBQUMsSUFBSSxDQUN4QixpQkFBTSxDQUFDLE1BQU0sQ0FDWCxJQUFJLENBQUMsSUFBSTtZQUNQLENBQUMsV0FBVyxJQUFJLFlBQVk7Z0JBQzFCLENBQUMsQ0FBQyxJQUFJLFdBQVcsYUFBYTtnQkFDOUIsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUNyQixDQUNGLENBQUM7UUFFRixJQUFJLENBQUM7WUFDSCxNQUFNLElBQUEsc0JBQVEsRUFDWixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQ3RELE9BQU8sQ0FDUixDQUFDO1lBRUYsSUFBSSxRQUFRLEdBQUcsSUFBQSwyQkFBVSxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUV0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQU8sSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRywyQkFBZ0IsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxLQUFLLENBQUUsQ0FBUyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleBeforeHooks = handleBeforeHooks;
|
|
4
|
+
const test_wrap_js_1 = require("../test-wrap.js");
|
|
5
|
+
const executor_js_1 = require("../utils/executor.js");
|
|
6
|
+
const time_factor_js_1 = require("../utils/time_factor.js");
|
|
7
|
+
const const_js_1 = require("../const.js");
|
|
8
|
+
async function handleBeforeHooks(test) {
|
|
9
|
+
const timeout = test.config.timeout ?? const_js_1.DEFAULT_TIMEOUT;
|
|
10
|
+
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
11
|
+
if (hook.type != test_wrap_js_1.HookType.Before)
|
|
12
|
+
continue;
|
|
13
|
+
let hookName = const_js_1.colors.bold(const_js_1.colors.yellow(test.name +
|
|
14
|
+
(propertyKey != "before" ? `.${propertyKey}:before` : ":before")));
|
|
15
|
+
try {
|
|
16
|
+
await (0, executor_js_1.Executor)(test.testInstance[propertyKey].bind(test.testInstance), timeout);
|
|
17
|
+
let timeText = (0, time_factor_js_1.TimeFactor)(0, timeout);
|
|
18
|
+
console.log(`${const_js_1.OK_TEXT} ${timeText} ${hookName}()`);
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
const anchor = e?._nole_anchor;
|
|
22
|
+
if (anchor === 1) {
|
|
23
|
+
throw new Error("You cannot just skip the before hook! Probably you ment to skip the whole test class!");
|
|
24
|
+
}
|
|
25
|
+
else if (anchor === 2) {
|
|
26
|
+
let reason = e.reason;
|
|
27
|
+
test.skipClass = { reason, origin: ":" + propertyKey };
|
|
28
|
+
console.log(`${const_js_1.DYNAMIC_SKIP_TEXT} ${" ".repeat(8)} ${hookName}() ${reason ? "{" + reason + "}" : ""}`);
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
console.error(`${const_js_1.HOOK_FAILED_TEXT} ${hookName}()`);
|
|
32
|
+
console.error(e?.stack ?? e);
|
|
33
|
+
throw e;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLWhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hhbmRsZS9iZWZvcmUtaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0RBQXFEO0FBQ3JELHNEQUFnRDtBQUNoRCw0REFBcUQ7QUFDckQsMENBTXFCO0FBRWQsS0FBSyw0QkFBNEIsSUFBYztJQUNwRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSwwQkFBZSxDQUFDO0lBRXZELEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLHVCQUFRLENBQUMsTUFBTTtZQUFFLFNBQVM7UUFFM0MsSUFBSSxRQUFRLEdBQUcsaUJBQU0sQ0FBQyxJQUFJLENBQ3hCLGlCQUFNLENBQUMsTUFBTSxDQUNYLElBQUksQ0FBQyxJQUFJO1lBQ1AsQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FDbkUsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFBLHNCQUFRLEVBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUN0RCxPQUFPLENBQ1IsQ0FBQztZQUVGLElBQUksUUFBUSxHQUFHLElBQUEsMkJBQVUsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGtCQUFPLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLE1BQU0sR0FBSSxDQUFTLEVBQUUsWUFBWSxDQUFDO1lBQ3hDLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLHVGQUF1RixDQUN4RixDQUFDO1lBQ0osQ0FBQztpQkFBTSxJQUFJLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxNQUFNLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLFdBQVcsRUFBRSxDQUFDO2dCQUN2RCxPQUFPLENBQUMsR0FBRyxDQUNULEdBQUcsNEJBQWlCLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLE1BQy9DLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2hDLEVBQUUsQ0FDSCxDQUFDO2dCQUNGLFNBQVM7WUFDWCxDQUFDO1lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLDJCQUFnQixJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFTLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleCleanUp = handleCleanUp;
|
|
4
|
+
const test_wrap_js_1 = require("../test-wrap.js");
|
|
5
|
+
const executor_js_1 = require("../utils/executor.js");
|
|
6
|
+
const time_difference_js_1 = require("../utils/time_difference.js");
|
|
7
|
+
const time_factor_js_1 = require("../utils/time_factor.js");
|
|
8
|
+
const const_js_1 = require("../const.js");
|
|
9
|
+
async function handleCleanUp(test) {
|
|
10
|
+
const timeout = test.config.timeout ?? const_js_1.DEFAULT_TIMEOUT;
|
|
11
|
+
if (test.cleanUpCalled)
|
|
12
|
+
return;
|
|
13
|
+
if (!test.dependents.every((dependent) => dependent.isFinished && dependent.cleanUpCalled))
|
|
14
|
+
return;
|
|
15
|
+
test.cleanUpCalled = true;
|
|
16
|
+
for (let [propertyKey, hook] of test.hooks.entries()) {
|
|
17
|
+
if (hook.type != test_wrap_js_1.HookType.CleanUp)
|
|
18
|
+
continue;
|
|
19
|
+
let hookName = const_js_1.colors.bold(const_js_1.colors.yellow(test.name +
|
|
20
|
+
(propertyKey != "cleanUp" ? `.${propertyKey}:cleanUp` : ":cleanUp")));
|
|
21
|
+
let start = time_difference_js_1.TimeDifference.begin();
|
|
22
|
+
try {
|
|
23
|
+
await (0, executor_js_1.Executor)(test.testInstance[propertyKey].bind(test.testInstance), timeout);
|
|
24
|
+
let timeText = (0, time_factor_js_1.TimeFactor)(start.end(), timeout);
|
|
25
|
+
console.log(`${const_js_1.OK_TEXT} ${timeText} ${hookName}()`);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
console.error(`${const_js_1.HOOK_FAILED_TEXT} ${hookName}()`);
|
|
29
|
+
console.error(e?.stack ?? e);
|
|
30
|
+
throw e;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
for (let tree of test.dependencies) {
|
|
34
|
+
await handleCleanUp(tree.dependency);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW51cC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oYW5kbGUvY2xlYW51cC1ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBcUQ7QUFDckQsc0RBQWdEO0FBQ2hELG9FQUE2RDtBQUM3RCw0REFBcUQ7QUFDckQsMENBS3FCO0FBRWQsS0FBSyx3QkFBd0IsSUFBYztJQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSwwQkFBZSxDQUFDO0lBRXZELElBQUksSUFBSSxDQUFDLGFBQWE7UUFBRSxPQUFPO0lBQy9CLElBQ0UsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDcEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FDL0Q7UUFFRCxPQUFPO0lBRVQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFFMUIsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksdUJBQVEsQ0FBQyxPQUFPO1lBQUUsU0FBUztRQUU1QyxJQUFJLFFBQVEsR0FBRyxpQkFBTSxDQUFDLElBQUksQ0FDeEIsaUJBQU0sQ0FBQyxNQUFNLENBQ1gsSUFBSSxDQUFDLElBQUk7WUFDUCxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUN0RSxDQUNGLENBQUM7UUFDRixJQUFJLEtBQUssR0FBRyxtQ0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRW5DLElBQUksQ0FBQztZQUNILE1BQU0sSUFBQSxzQkFBUSxFQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDdEQsT0FBTyxDQUNSLENBQUM7WUFFRixJQUFJLFFBQVEsR0FBRyxJQUFBLDJCQUFVLEVBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRWhELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxrQkFBTyxJQUFJLFFBQVEsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLDJCQUFnQixJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFTLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleSpecs = handleSpecs;
|
|
4
|
+
const executor_js_1 = require("../utils/executor.js");
|
|
5
|
+
const time_difference_js_1 = require("../utils/time_difference.js");
|
|
6
|
+
const time_factor_js_1 = require("../utils/time_factor.js");
|
|
7
|
+
const after_each_hooks_js_1 = require("./after-each-hooks.js");
|
|
8
|
+
const before_each_hooks_js_1 = require("./before-each-hooks.js");
|
|
9
|
+
const const_js_1 = require("../const.js");
|
|
10
|
+
async function handleSpecs(test) {
|
|
11
|
+
const timeout = test.config.timeout ?? const_js_1.DEFAULT_TIMEOUT;
|
|
12
|
+
for (let [propertyKey, spec] of test.specs.entries()) {
|
|
13
|
+
let testName = const_js_1.colors.bold(const_js_1.colors.yellow(test.name + "." + propertyKey));
|
|
14
|
+
const shouldPropertySkip = test.skip.has(propertyKey);
|
|
15
|
+
if (shouldPropertySkip || test.skipClass) {
|
|
16
|
+
let reason = shouldPropertySkip
|
|
17
|
+
? test.skip.get(propertyKey).reason
|
|
18
|
+
: test.skipClass.reason;
|
|
19
|
+
const hasOrigin = !!test.skipClass?.origin;
|
|
20
|
+
const TEXT = hasOrigin ? const_js_1.DYNAMIC_SKIP_TEXT : const_js_1.SKIP_TEXT;
|
|
21
|
+
console.log(`${TEXT} ${" ".repeat(hasOrigin ? 8 : 9)} ${testName}() ${reason ? "{" + reason + "}" : ""}${hasOrigin ? `\n${" ".repeat(22)}↳ skip came from ${test.skipClass?.origin}` : ``}`);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
await (0, before_each_hooks_js_1.handleBeforeEachHooks)(test);
|
|
25
|
+
let start = time_difference_js_1.TimeDifference.begin();
|
|
26
|
+
try {
|
|
27
|
+
await (0, executor_js_1.Executor)(test.testInstance[propertyKey].bind(test.testInstance), timeout);
|
|
28
|
+
let timeText = (0, time_factor_js_1.TimeFactor)(start.end(), timeout);
|
|
29
|
+
console.log(`${const_js_1.OK_TEXT} ${timeText} ${testName}()`);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
const anchor = e?._nole_anchor;
|
|
33
|
+
if (anchor === 1) {
|
|
34
|
+
let reason = e.reason;
|
|
35
|
+
console.log(`${const_js_1.DYNAMIC_SKIP_TEXT} ${" ".repeat(8)} ${testName}() ${reason ? "{" + reason + "}" : ""}`);
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
else if (anchor === 2) {
|
|
39
|
+
let reason = e.reason;
|
|
40
|
+
test.skipClass = { reason, origin: "." + propertyKey };
|
|
41
|
+
console.log(`${const_js_1.DYNAMIC_SKIP_TEXT} ${" ".repeat(8)} ${testName}() ${reason ? "{" + reason + "}" : ""}`);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
let timeText = (0, time_factor_js_1.TimeFactor)(start.end(), timeout);
|
|
45
|
+
console.error(`${const_js_1.FAILED_TEXT} ${timeText} ${testName}()`);
|
|
46
|
+
console.error(e?.stack ?? e);
|
|
47
|
+
throw e;
|
|
48
|
+
}
|
|
49
|
+
await (0, after_each_hooks_js_1.handleAfterEachHooks)(test);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGFuZGxlL3NwZWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHNEQUFnRDtBQUNoRCxvRUFBNkQ7QUFDN0QsNERBQXFEO0FBQ3JELCtEQUE2RDtBQUM3RCxpRUFBK0Q7QUFDL0QsMENBT3FCO0FBRWQsS0FBSyxzQkFBc0IsSUFBYztJQUM5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSwwQkFBZSxDQUFDO0lBRXZELEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDckQsSUFBSSxRQUFRLEdBQUcsaUJBQU0sQ0FBQyxJQUFJLENBQUMsaUJBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUV6RSxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELElBQUksa0JBQWtCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3pDLElBQUksTUFBTSxHQUFHLGtCQUFrQjtnQkFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBRSxDQUFDLE1BQU07Z0JBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBVSxDQUFDLE1BQU0sQ0FBQztZQUUzQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUM7WUFDM0MsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBaUIsQ0FBQyxDQUFDLENBQUMsb0JBQVMsQ0FBQztZQUN2RCxPQUFPLENBQUMsR0FBRyxDQUNULEdBQUcs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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSkipped = exports.addTest = exports.getTest = exports.skipClass = exports.skipTest = exports.BaseTest = exports.Test = exports.HookType = void 0;
|
|
4
|
+
var test_wrap_js_1 = require("./test-wrap.js");
|
|
5
|
+
Object.defineProperty(exports, "HookType", { enumerable: true, get: function () { return test_wrap_js_1.HookType; } });
|
|
6
|
+
var core_js_1 = require("./core.js");
|
|
7
|
+
Object.defineProperty(exports, "Test", { enumerable: true, get: function () { return core_js_1.Test; } });
|
|
8
|
+
Object.defineProperty(exports, "BaseTest", { enumerable: true, get: function () { return core_js_1.BaseTest; } });
|
|
9
|
+
var dynamic_js_1 = require("./dynamic.js");
|
|
10
|
+
Object.defineProperty(exports, "skipTest", { enumerable: true, get: function () { return dynamic_js_1.skipTest; } });
|
|
11
|
+
Object.defineProperty(exports, "skipClass", { enumerable: true, get: function () { return dynamic_js_1.skipClass; } });
|
|
12
|
+
Object.defineProperty(exports, "getTest", { enumerable: true, get: function () { return dynamic_js_1.getTest; } });
|
|
13
|
+
Object.defineProperty(exports, "addTest", { enumerable: true, get: function () { return dynamic_js_1.addTest; } });
|
|
14
|
+
Object.defineProperty(exports, "isSkipped", { enumerable: true, get: function () { return dynamic_js_1.isSkipped; } });
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0NBQTBDO0FBQWpDLHdHQUFBLFFBQVEsT0FBQTtBQUNqQixxQ0FBMkM7QUFBbEMsK0ZBQUEsSUFBSSxPQUFBO0FBQUUsbUdBQUEsUUFBUSxPQUFBO0FBRXZCLDJDQUFnRjtBQUF2RSxzR0FBQSxRQUFRLE9BQUE7QUFBRSx1R0FBQSxTQUFTLE9BQUE7QUFBRSxxR0FBQSxPQUFPLE9BQUE7QUFBRSxxR0FBQSxPQUFPLE9BQUE7QUFBRSx1R0FBQSxTQUFTLE9BQUEifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|