nole 2.2.1 → 3.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.
Files changed (112) hide show
  1. package/README.md +142 -236
  2. package/bin/nole.js +44 -42
  3. package/dist/const.d.ts +8 -0
  4. package/dist/const.d.ts.map +1 -0
  5. package/dist/const.js +9 -0
  6. package/dist/core.d.ts +22 -0
  7. package/dist/core.d.ts.map +1 -0
  8. package/dist/core.js +56 -0
  9. package/dist/dynamic.d.ts +4 -1
  10. package/dist/dynamic.d.ts.map +1 -1
  11. package/dist/dynamic.js +35 -11
  12. package/dist/handle/after-each-hooks.d.ts +3 -0
  13. package/dist/handle/after-each-hooks.d.ts.map +1 -0
  14. package/dist/handle/after-each-hooks.js +26 -0
  15. package/dist/handle/after-hooks.d.ts +3 -0
  16. package/dist/handle/after-hooks.d.ts.map +1 -0
  17. package/dist/handle/after-hooks.js +24 -0
  18. package/dist/handle/before-each-hooks.d.ts +3 -0
  19. package/dist/handle/before-each-hooks.d.ts.map +1 -0
  20. package/dist/handle/before-each-hooks.js +26 -0
  21. package/dist/handle/before-hooks.d.ts +3 -0
  22. package/dist/handle/before-hooks.d.ts.map +1 -0
  23. package/dist/handle/before-hooks.js +24 -0
  24. package/dist/handle/cleanup-hooks.d.ts +3 -0
  25. package/dist/handle/cleanup-hooks.d.ts.map +1 -0
  26. package/dist/handle/cleanup-hooks.js +34 -0
  27. package/dist/handle/specs.d.ts +3 -0
  28. package/dist/handle/specs.d.ts.map +1 -0
  29. package/dist/handle/specs.js +41 -0
  30. package/dist/index.d.ts +3 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +4 -4
  33. package/dist/run.d.ts +7 -6
  34. package/dist/run.d.ts.map +1 -1
  35. package/dist/run.js +201 -239
  36. package/dist/symbol.d.ts +2 -0
  37. package/dist/symbol.d.ts.map +1 -0
  38. package/dist/symbol.js +2 -0
  39. package/dist/test-wrap.d.ts +37 -0
  40. package/dist/test-wrap.d.ts.map +1 -0
  41. package/dist/test-wrap.js +30 -0
  42. package/dist/utils/executor.d.ts +1 -1
  43. package/dist/utils/executor.js +20 -20
  44. package/dist/utils/executor.test.d.ts +7 -5
  45. package/dist/utils/executor.test.d.ts.map +1 -1
  46. package/dist/utils/executor.test.js +22 -49
  47. package/dist/utils/time_difference.d.ts +15 -6
  48. package/dist/utils/time_difference.d.ts.map +1 -1
  49. package/dist/utils/time_difference.js +22 -13
  50. package/dist/utils/time_difference.test.d.ts +5 -3
  51. package/dist/utils/time_difference.test.d.ts.map +1 -1
  52. package/dist/utils/time_difference.test.js +11 -24
  53. package/dist/utils/time_factor.d.ts +3 -3
  54. package/dist/utils/time_factor.d.ts.map +1 -1
  55. package/dist/utils/time_factor.js +26 -27
  56. package/dist/utils/time_factor.test.d.ts +5 -3
  57. package/dist/utils/time_factor.test.d.ts.map +1 -1
  58. package/dist/utils/time_factor.test.js +27 -42
  59. package/package.json +11 -8
  60. package/src/const.ts +11 -0
  61. package/src/core.ts +89 -0
  62. package/src/dynamic.ts +43 -1
  63. package/src/handle/after-each-hooks.ts +41 -0
  64. package/src/handle/after-hooks.ts +38 -0
  65. package/src/handle/before-each-hooks.ts +40 -0
  66. package/src/handle/before-hooks.ts +39 -0
  67. package/src/handle/cleanup-hooks.ts +55 -0
  68. package/src/handle/specs.ts +68 -0
  69. package/src/index.ts +3 -13
  70. package/src/run.ts +184 -256
  71. package/src/symbol.ts +1 -0
  72. package/src/{test.ts → test-wrap.ts} +13 -12
  73. package/src/utils/executor.test.ts +2 -5
  74. package/src/utils/executor.ts +1 -1
  75. package/src/utils/time_difference.test.ts +2 -3
  76. package/src/utils/time_factor.test.ts +2 -3
  77. package/src/utils/time_factor.ts +1 -3
  78. package/test/basic.test.ts +8 -9
  79. package/test/before.test.ts +14 -27
  80. package/test/clean-up.test.ts +12 -16
  81. package/test/dynamic-skip.test.ts +2 -4
  82. package/test/dynamic.test.ts +23 -8
  83. package/test/extend.test.ts +43 -0
  84. package/test/hook.test.ts +9 -10
  85. package/test/multi-dependency.test.ts +25 -27
  86. package/test/multiple-uppercased-chars.test.ts +8 -7
  87. package/test/skip-all.test.ts +4 -13
  88. package/test/turkish-chars.test.ts +8 -7
  89. package/tsconfig.json +9 -18
  90. package/dist/data.d.ts +0 -3
  91. package/dist/data.d.ts.map +0 -1
  92. package/dist/data.js +0 -9
  93. package/dist/data.js.map +0 -1
  94. package/dist/decorators.d.ts +0 -9
  95. package/dist/decorators.d.ts.map +0 -1
  96. package/dist/decorators.js +0 -118
  97. package/dist/decorators.js.map +0 -1
  98. package/dist/dynamic.js.map +0 -1
  99. package/dist/index.js.map +0 -1
  100. package/dist/run.js.map +0 -1
  101. package/dist/test.d.ts +0 -39
  102. package/dist/test.d.ts.map +0 -1
  103. package/dist/test.js +0 -25
  104. package/dist/test.js.map +0 -1
  105. package/dist/utils/executor.js.map +0 -1
  106. package/dist/utils/executor.test.js.map +0 -1
  107. package/dist/utils/time_difference.js.map +0 -1
  108. package/dist/utils/time_difference.test.js.map +0 -1
  109. package/dist/utils/time_factor.js.map +0 -1
  110. package/dist/utils/time_factor.test.js.map +0 -1
  111. package/src/data.ts +0 -13
  112. package/src/decorators.ts +0 -208
package/dist/core.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import { TEST_CLASS_KEY } from "./symbol.js";
2
+ export interface TestClassInfo {
3
+ dependencies?: Map<string, () => new () => BaseTest>;
4
+ skip?: string;
5
+ before?: () => Array<new () => BaseTest>;
6
+ after?: () => Array<new () => BaseTest>;
7
+ timeout?: number;
8
+ }
9
+ export declare class BaseTest {
10
+ static [TEST_CLASS_KEY]: TestClassInfo;
11
+ }
12
+ type DependencyDefinitionRule<T extends BaseTest> = () => new () => T;
13
+ type InferDependencyDefinition<T> = T extends () => infer U ? U : never;
14
+ export declare function Test<Deps extends Record<string, DependencyDefinitionRule<any>> = {}>({ dependencies, skip, before, after, timeout, }?: {
15
+ dependencies?: Deps;
16
+ skip?: string;
17
+ before?: () => Array<new () => BaseTest>;
18
+ after?: () => Array<new () => BaseTest>;
19
+ timeout?: number;
20
+ }): new () => { [K in keyof Deps]: InstanceType<InferDependencyDefinition<Deps[K]>>; } & BaseTest;
21
+ export {};
22
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,UAAU,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,QAAQ;IACnB,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,aAAa,CAGpC;CACH;AAED,KAAK,wBAAwB,CAAC,CAAC,SAAS,QAAQ,IAAI,MAAM,UAAU,CAAC,CAAC;AACtE,KAAK,yBAAyB,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAExE,wBAAgB,IAAI,CAClB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAC/D,EACA,YAAY,EACZ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,GACR,GAAE;IACD,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,UAAU,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CACb,GAqDY,UAAU,GAnDvB,CAAC,uEAmD8B,QAAQ,CAC3C"}
package/dist/core.js ADDED
@@ -0,0 +1,56 @@
1
+ var _a;
2
+ import { TEST_CLASS_KEY } from "./symbol.js";
3
+ export class BaseTest {
4
+ }
5
+ _a = TEST_CLASS_KEY;
6
+ BaseTest[_a] = {
7
+ dependencies: new Map(),
8
+ timeout: 5000,
9
+ };
10
+ export function Test({ dependencies, skip, before, after, timeout, } = {}) {
11
+ var _b, _c, _d;
12
+ function wrap(superClassInfo) {
13
+ const deps = dependencies ? dependencies : {};
14
+ const classInfo = { ...superClassInfo };
15
+ if (!classInfo.dependencies) {
16
+ classInfo.dependencies = new Map();
17
+ }
18
+ else {
19
+ classInfo.dependencies = new Map(classInfo.dependencies);
20
+ }
21
+ if (before !== undefined) {
22
+ classInfo.before = before;
23
+ }
24
+ if (after !== undefined) {
25
+ classInfo.after = after;
26
+ }
27
+ for (const key of Object.keys(deps)) {
28
+ const config = deps[key];
29
+ if (TEST_CLASS_KEY in config) {
30
+ classInfo.dependencies.set(key, (() => config));
31
+ }
32
+ else if (typeof config === "function") {
33
+ classInfo.dependencies.set(key, config);
34
+ }
35
+ else {
36
+ throw new Error(`Invalid dependency configuration for key ${key}`);
37
+ }
38
+ }
39
+ if (skip !== undefined) {
40
+ classInfo.skip = skip;
41
+ }
42
+ if (timeout !== undefined) {
43
+ classInfo.timeout = timeout;
44
+ }
45
+ return classInfo;
46
+ }
47
+ return _b = class extends (_c = BaseTest) {
48
+ constructor() {
49
+ super();
50
+ }
51
+ },
52
+ _d = TEST_CLASS_KEY,
53
+ _b[_d] = wrap(Reflect.get(_c, TEST_CLASS_KEY, _b)),
54
+ _b;
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBVTdDLE1BQU0sT0FBTyxRQUFROztLQUNYLGNBQWM7QUFBZixZQUFnQixHQUFrQjtJQUN2QyxZQUFZLEVBQUUsSUFBSSxHQUFHLEVBQUU7SUFDdkIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBTUosTUFBTSxVQUFVLElBQUksQ0FFbEIsRUFDQSxZQUFZLEVBQ1osSUFBSSxFQUNKLE1BQU0sRUFDTixLQUFLLEVBQ0wsT0FBTyxNQU9MLEVBQUU7O0lBS0osU0FBUyxJQUFJLENBQUMsY0FBNkI7UUFDekMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFFLEVBQVcsQ0FBQztRQUV4RCxNQUFNLFNBQVMsR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLENBQUM7UUFFeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM1QixTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDTixTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekIsU0FBUyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDNUIsQ0FBQztRQUVELElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLFNBQVMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7UUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFekIsSUFBSSxjQUFjLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQzdCLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBUSxDQUFDLENBQUM7WUFDekQsQ0FBQztpQkFBTSxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO2dCQUN4QyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDMUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDckUsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2QixTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUIsU0FBUyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDOUIsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLEtBQUEsS0FBTSxTQUFRLE1BQUEsUUFBUSxDQUFBO1lBRzNCO2dCQUNFLEtBQUssRUFBRSxDQUFDO1lBQ1YsQ0FBQztTQUNGO2FBTFMsY0FBYztRQUFmLE1BQWdCLEdBQWtCLElBQUksQ0FBQyxnQkFBTSxjQUFjLEtBQWYsQ0FBa0I7VUFLN0IsQ0FBQztBQUM3QyxDQUFDIn0=
package/dist/dynamic.d.ts CHANGED
@@ -1,2 +1,5 @@
1
- export declare function skipTest(reason?: string): void;
1
+ import { BaseTest } from "./core.js";
2
+ export declare function skipTest(reason?: string): never;
3
+ export declare function getTest<T extends BaseTest>(test: () => new () => T): Partial<T> | null;
4
+ export declare function addTest<T extends BaseTest>(test: () => new () => T): boolean;
2
5
  //# sourceMappingURL=dynamic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,QAEvC"}
1
+ {"version":3,"file":"dynamic.d.ts","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AASrC,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAE/C;AAUD,wBAAgB,OAAO,CAAC,CAAC,SAAS,QAAQ,EACxC,IAAI,EAAE,MAAM,UAAU,CAAC,GACtB,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAUnB;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC,WAiBlE"}
package/dist/dynamic.js CHANGED
@@ -1,11 +1,35 @@
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
1
+ import { BaseTest } from "./core.js";
2
+ import { createInstanceIfNotExists, getFutureTestMap, getTestMap, updateInformationForClass, } from "./run.js";
3
+ import { TestWrap } from "./test-wrap.js";
4
+ export function skipTest(reason) {
5
+ throw new NoleManualSkip(reason);
6
+ }
7
+ class NoleManualSkip extends Error {
8
+ constructor(reason) {
9
+ super(`Dynamicly skipped! ${reason}`);
10
+ this.reason = reason;
11
+ this._nole_anchor = 1;
12
+ }
13
+ }
14
+ export function getTest(test) {
15
+ const testWrap = getTestMap().get(test());
16
+ if (!testWrap) {
17
+ return null;
18
+ }
19
+ createInstanceIfNotExists(testWrap);
20
+ return testWrap.testInstance;
21
+ }
22
+ export function addTest(test) {
23
+ const testMap = getTestMap();
24
+ const remainingTests = getFutureTestMap();
25
+ const testClass = test();
26
+ if (testMap.has(testClass)) {
27
+ return false;
28
+ }
29
+ const testWrap = new TestWrap(testClass);
30
+ remainingTests.set(testClass, testWrap);
31
+ testMap.set(testClass, testWrap);
32
+ updateInformationForClass(testClass, testWrap, testMap);
33
+ return true;
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9keW5hbWljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLHlCQUF5QixHQUMxQixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUFlO0lBQ3RDLE1BQU0sSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sY0FBZSxTQUFRLEtBQUs7SUFHaEMsWUFBbUIsTUFBZTtRQUNoQyxLQUFLLENBQUMsc0JBQXNCLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFEckIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUZsQyxpQkFBWSxHQUFHLENBQUMsQ0FBQztJQUlqQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUNyQixJQUF1QjtJQUV2QixNQUFNLFFBQVEsR0FBRyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFTLENBQXlCLENBQUM7SUFFekUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEMsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFxQixJQUF1QjtJQUNqRSxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUM3QixNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRTFDLE1BQU0sU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDO0lBRXpCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLGNBQWMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRWpDLHlCQUF5QixDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFeEQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ import { TestWrap } from "../test-wrap.js";
2
+ export declare function handleAfterEachHooks(test: TestWrap): Promise<void>;
3
+ //# sourceMappingURL=after-each-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"after-each-hooks.d.ts","sourceRoot":"","sources":["../../src/handle/after-each-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAUrD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,iBA8BxD"}
@@ -0,0 +1,26 @@
1
+ import { HookType, TestWrap } from "../test-wrap.js";
2
+ import { Executor } from "../utils/executor.js";
3
+ import { TimeFactor } from "../utils/time_factor.js";
4
+ import { colors, DEFAULT_TIMEOUT, HOOK_FAILED_TEXT, OK_TEXT, } from "../const.js";
5
+ export async function handleAfterEachHooks(test) {
6
+ const timeout = test.config.timeout ?? DEFAULT_TIMEOUT;
7
+ for (let [propertyKey, hook] of test.hooks.entries()) {
8
+ if (hook.type != HookType.AfterEach)
9
+ continue;
10
+ let hookName = colors.bold(colors.yellow(test.name +
11
+ (propertyKey != "afterEach"
12
+ ? `.${propertyKey}:afterEach`
13
+ : ":afterEach")));
14
+ try {
15
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), timeout);
16
+ let timeText = TimeFactor(0, timeout);
17
+ console.log(`${OK_TEXT} ${timeText} ${hookName}()`);
18
+ }
19
+ catch (e) {
20
+ console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
21
+ console.error(e?.stack ?? e);
22
+ throw e;
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZ0ZXItZWFjaC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYW5kbGUvYWZ0ZXItZWFjaC1ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLE9BQU8sR0FDUixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUFDLElBQWM7SUFDdkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksZUFBZSxDQUFDO0lBRXZELEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDckQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQyxTQUFTO1lBQUUsU0FBUztRQUU5QyxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUN4QixNQUFNLENBQUMsTUFBTSxDQUNYLElBQUksQ0FBQyxJQUFJO1lBQ1AsQ0FBQyxXQUFXLElBQUksV0FBVztnQkFDekIsQ0FBQyxDQUFDLElBQUksV0FBVyxZQUFZO2dCQUM3QixDQUFDLENBQUMsWUFBWSxDQUFDLENBQ3BCLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxDQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDdEQsT0FBTyxDQUNSLENBQUM7WUFFRixJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsZ0JBQWdCLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQztZQUNuRCxPQUFPLENBQUMsS0FBSyxDQUFFLENBQVMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { TestWrap } from "../test-wrap.js";
2
+ export declare function handleAfterHooks(test: TestWrap): Promise<void>;
3
+ //# sourceMappingURL=after-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"after-hooks.d.ts","sourceRoot":"","sources":["../../src/handle/after-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAUrD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,iBA2BpD"}
@@ -0,0 +1,24 @@
1
+ import { HookType, TestWrap } from "../test-wrap.js";
2
+ import { Executor } from "../utils/executor.js";
3
+ import { TimeFactor } from "../utils/time_factor.js";
4
+ import { colors, DEFAULT_TIMEOUT, HOOK_FAILED_TEXT, OK_TEXT, } from "../const.js";
5
+ export async function handleAfterHooks(test) {
6
+ const timeout = test.config.timeout ?? DEFAULT_TIMEOUT;
7
+ for (let [propertyKey, hook] of test.hooks.entries()) {
8
+ if (hook.type != HookType.After)
9
+ continue;
10
+ let hookName = colors.bold(colors.yellow(test.name +
11
+ (propertyKey != "after" ? `.${propertyKey}:after` : ":after")));
12
+ try {
13
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), timeout);
14
+ let timeText = TimeFactor(0, timeout);
15
+ console.log(`${OK_TEXT} ${timeText} ${hookName}()`);
16
+ }
17
+ catch (e) {
18
+ console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
19
+ console.error(e?.stack ?? e);
20
+ throw e;
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZ0ZXItaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFuZGxlL2FmdGVyLWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsTUFBTSxFQUNOLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsT0FBTyxHQUNSLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxLQUFLLFVBQVUsZ0JBQWdCLENBQUMsSUFBYztJQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUM7SUFFdkQsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLEtBQUs7WUFBRSxTQUFTO1FBRTFDLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQ1gsSUFBSSxDQUFDLElBQUk7WUFDUCxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUNoRSxDQUNGLENBQUM7UUFFRixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsQ0FDWixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQ3RELE9BQU8sQ0FDUixDQUFDO1lBQ0YsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUV0QyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxJQUFJLFFBQVEsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLGdCQUFnQixJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFTLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ import { TestWrap } from "../test-wrap.js";
2
+ export declare function handleBeforeEachHooks(test: TestWrap): Promise<void>;
3
+ //# sourceMappingURL=before-each-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"before-each-hooks.d.ts","sourceRoot":"","sources":["../../src/handle/before-each-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAUrD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,iBA6BzD"}
@@ -0,0 +1,26 @@
1
+ import { HookType, TestWrap } from "../test-wrap.js";
2
+ import { Executor } from "../utils/executor.js";
3
+ import { TimeFactor } from "../utils/time_factor.js";
4
+ import { colors, DEFAULT_TIMEOUT, HOOK_FAILED_TEXT, OK_TEXT, } from "../const.js";
5
+ export async function handleBeforeEachHooks(test) {
6
+ const timeout = test.config.timeout ?? DEFAULT_TIMEOUT;
7
+ for (let [propertyKey, hook] of test.hooks.entries()) {
8
+ if (hook.type != HookType.BeforeEach)
9
+ continue;
10
+ let hookName = colors.bold(colors.yellow(test.name +
11
+ (propertyKey != "beforeEach"
12
+ ? `.${propertyKey}:beforeEach`
13
+ : ":beforeEach")));
14
+ try {
15
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), timeout);
16
+ let timeText = TimeFactor(0, timeout);
17
+ console.log(`${OK_TEXT} ${timeText} ${hookName}()`);
18
+ }
19
+ catch (e) {
20
+ console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
21
+ console.error(e?.stack ?? e);
22
+ throw e;
23
+ }
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLWVhY2gtaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFuZGxlL2JlZm9yZS1lYWNoLWhvb2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsTUFBTSxFQUNOLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsT0FBTyxHQUNSLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxLQUFLLFVBQVUscUJBQXFCLENBQUMsSUFBYztJQUN4RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUM7SUFFdkQsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLFVBQVU7WUFBRSxTQUFTO1FBQy9DLElBQUksUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQ1gsSUFBSSxDQUFDLElBQUk7WUFDUCxDQUFDLFdBQVcsSUFBSSxZQUFZO2dCQUMxQixDQUFDLENBQUMsSUFBSSxXQUFXLGFBQWE7Z0JBQzlCLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FDckIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLENBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUN0RCxPQUFPLENBQ1IsQ0FBQztZQUVGLElBQUksUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxnQkFBZ0IsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxLQUFLLENBQUUsQ0FBUyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLENBQUMsQ0FBQztRQUNWLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ import { TestWrap } from "../test-wrap.js";
2
+ export declare function handleBeforeHooks(test: TestWrap): Promise<void>;
3
+ //# sourceMappingURL=before-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"before-hooks.d.ts","sourceRoot":"","sources":["../../src/handle/before-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAUrD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,iBA4BrD"}
@@ -0,0 +1,24 @@
1
+ import { HookType, TestWrap } from "../test-wrap.js";
2
+ import { Executor } from "../utils/executor.js";
3
+ import { TimeFactor } from "../utils/time_factor.js";
4
+ import { colors, DEFAULT_TIMEOUT, HOOK_FAILED_TEXT, OK_TEXT, } from "../const.js";
5
+ export async function handleBeforeHooks(test) {
6
+ const timeout = test.config.timeout ?? DEFAULT_TIMEOUT;
7
+ for (let [propertyKey, hook] of test.hooks.entries()) {
8
+ if (hook.type != HookType.Before)
9
+ continue;
10
+ let hookName = colors.bold(colors.yellow(test.name +
11
+ (propertyKey != "before" ? `.${propertyKey}:before` : ":before")));
12
+ try {
13
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), timeout);
14
+ let timeText = TimeFactor(0, timeout);
15
+ console.log(`${OK_TEXT} ${timeText} ${hookName}()`);
16
+ }
17
+ catch (e) {
18
+ console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
19
+ console.error(e?.stack ?? e);
20
+ throw e;
21
+ }
22
+ }
23
+ }
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLWhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hhbmRsZS9iZWZvcmUtaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUNmLGdCQUFnQixFQUNoQixPQUFPLEdBQ1IsTUFBTSxhQUFhLENBQUM7QUFFckIsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxJQUFjO0lBQ3BELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLGVBQWUsQ0FBQztJQUV2RCxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsTUFBTTtZQUFFLFNBQVM7UUFFM0MsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLE1BQU0sQ0FDWCxJQUFJLENBQUMsSUFBSTtZQUNQLENBQUMsV0FBVyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQ25FLENBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxDQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDdEQsT0FBTyxDQUNSLENBQUM7WUFFRixJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRXRDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsZ0JBQWdCLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQztZQUNuRCxPQUFPLENBQUMsS0FBSyxDQUFFLENBQVMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { TestWrap } from "../test-wrap.js";
2
+ export declare function handleCleanUp(test: TestWrap): Promise<void>;
3
+ //# sourceMappingURL=cleanup-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanup-hooks.d.ts","sourceRoot":"","sources":["../../src/handle/cleanup-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAWrD,wBAAsB,aAAa,CAAC,IAAI,EAAE,QAAQ,iBA2CjD"}
@@ -0,0 +1,34 @@
1
+ import { HookType, TestWrap } from "../test-wrap.js";
2
+ import { Executor } from "../utils/executor.js";
3
+ import { TimeDifference } from "../utils/time_difference.js";
4
+ import { TimeFactor } from "../utils/time_factor.js";
5
+ import { colors, DEFAULT_TIMEOUT, HOOK_FAILED_TEXT, OK_TEXT, } from "../const.js";
6
+ export async function handleCleanUp(test) {
7
+ const timeout = test.config.timeout ?? DEFAULT_TIMEOUT;
8
+ if (test.cleanUpCalled)
9
+ return;
10
+ if (!test.dependents.every((dependent) => dependent.isFinished && dependent.cleanUpCalled))
11
+ return;
12
+ test.cleanUpCalled = true;
13
+ for (let [propertyKey, hook] of test.hooks.entries()) {
14
+ if (hook.type != HookType.CleanUp)
15
+ continue;
16
+ let hookName = colors.bold(colors.yellow(test.name +
17
+ (propertyKey != "cleanUp" ? `.${propertyKey}:cleanUp` : ":cleanUp")));
18
+ let start = TimeDifference.begin();
19
+ try {
20
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), timeout);
21
+ let timeText = TimeFactor(start.end(), timeout);
22
+ console.log(`${OK_TEXT} ${timeText} ${hookName}()`);
23
+ }
24
+ catch (e) {
25
+ console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
26
+ console.error(e?.stack ?? e);
27
+ throw e;
28
+ }
29
+ }
30
+ for (let tree of test.dependencies) {
31
+ await handleCleanUp(tree.dependency);
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW51cC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oYW5kbGUvY2xlYW51cC1ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFDTCxNQUFNLEVBQ04sZUFBZSxFQUNmLGdCQUFnQixFQUNoQixPQUFPLEdBQ1IsTUFBTSxhQUFhLENBQUM7QUFFckIsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQUMsSUFBYztJQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxlQUFlLENBQUM7SUFFdkQsSUFBSSxJQUFJLENBQUMsYUFBYTtRQUFFLE9BQU87SUFDL0IsSUFDRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUNwQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsYUFBYSxDQUMvRDtRQUVELE9BQU87SUFFVCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUUxQixLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ3JELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsT0FBTztZQUFFLFNBQVM7UUFFNUMsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDeEIsTUFBTSxDQUFDLE1BQU0sQ0FDWCxJQUFJLENBQUMsSUFBSTtZQUNQLENBQUMsV0FBVyxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3RFLENBQ0YsQ0FBQztRQUNGLElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVuQyxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsQ0FDWixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQ3RELE9BQU8sQ0FDUixDQUFDO1lBRUYsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVoRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxJQUFJLFFBQVEsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLGdCQUFnQixJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7WUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFTLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import { TestWrap } from "../test-wrap.js";
2
+ export declare function handleSpecs(test: TestWrap): Promise<void>;
3
+ //# sourceMappingURL=specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../src/handle/specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAerD,wBAAsB,WAAW,CAAC,IAAI,EAAE,QAAQ,iBAoD/C"}
@@ -0,0 +1,41 @@
1
+ import { HookType, TestWrap } from "../test-wrap.js";
2
+ import { Executor } from "../utils/executor.js";
3
+ import { TimeDifference } from "../utils/time_difference.js";
4
+ import { TimeFactor } from "../utils/time_factor.js";
5
+ import { handleAfterEachHooks } from "./after-each-hooks.js";
6
+ import { handleBeforeEachHooks } from "./before-each-hooks.js";
7
+ import { colors, DEFAULT_TIMEOUT, DYNAMIC_SKIP_TEXT, FAILED_TEXT, OK_TEXT, SKIP_TEXT, } from "../const.js";
8
+ export async function handleSpecs(test) {
9
+ const timeout = test.config.timeout ?? DEFAULT_TIMEOUT;
10
+ for (let [propertyKey, spec] of test.specs.entries()) {
11
+ let testName = colors.bold(colors.yellow(test.name + "." + propertyKey));
12
+ const shouldPropertySkip = test.skip.has(propertyKey);
13
+ if (shouldPropertySkip || test.skipClass) {
14
+ let reason = shouldPropertySkip
15
+ ? test.skip.get(propertyKey).reason
16
+ : test.skipClass.reason;
17
+ console.log(`${SKIP_TEXT} ${" ".repeat(9)} ${testName}() ${reason ? "{" + reason + "}" : ""}`);
18
+ continue;
19
+ }
20
+ await handleBeforeEachHooks(test);
21
+ let start = TimeDifference.begin();
22
+ try {
23
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), timeout);
24
+ let timeText = TimeFactor(start.end(), timeout);
25
+ console.log(`${OK_TEXT} ${timeText} ${testName}()`);
26
+ }
27
+ catch (e) {
28
+ if (e?._nole_anchor) {
29
+ let reason = e.reason;
30
+ console.log(`${DYNAMIC_SKIP_TEXT} ${" ".repeat(8)} ${testName}() ${reason ? "{" + reason + "}" : ""}`);
31
+ continue;
32
+ }
33
+ let timeText = TimeFactor(start.end(), timeout);
34
+ console.error(`${FAILED_TEXT} ${timeText} ${testName}()`);
35
+ console.error(e?.stack ?? e);
36
+ throw e;
37
+ }
38
+ await handleAfterEachHooks(test);
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGFuZGxlL3NwZWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxPQUFPLEVBQ1AsU0FBUyxHQUNWLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxLQUFLLFVBQVUsV0FBVyxDQUFDLElBQWM7SUFDOUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksZUFBZSxDQUFDO0lBRXZELEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDckQsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFekUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxJQUFJLGtCQUFrQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN6QyxJQUFJLE1BQU0sR0FBRyxrQkFBa0I7Z0JBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUUsQ0FBQyxNQUFNO2dCQUNwQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVUsQ0FBQyxNQUFNLENBQUM7WUFDM0IsT0FBTyxDQUFDLEdBQUcsQ0FDVCxHQUFHLFNBQVMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsTUFDdkMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDaEMsRUFBRSxDQUNILENBQUM7WUFDRixTQUFTO1FBQ1gsQ0FBQztRQUVELE1BQU0scUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEMsSUFBSSxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRW5DLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxDQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFDdEQsT0FBTyxDQUNSLENBQUM7WUFFRixJQUFJLFFBQVEsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBRWhELE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFLLENBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxNQUFNLEdBQUksQ0FBUyxDQUFDLE1BQU0sQ0FBQztnQkFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FDVCxHQUFHLGlCQUFpQixJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxNQUMvQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUNoQyxFQUFFLENBQ0gsQ0FBQztnQkFDRixTQUFTO1lBQ1gsQ0FBQztZQUVELElBQUksUUFBUSxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFFaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLFdBQVcsSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLENBQUMsQ0FBQztZQUMxRCxPQUFPLENBQUMsS0FBSyxDQUFFLENBQVMsRUFBRSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO1FBRUQsTUFBTSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDO0FBQ0gsQ0FBQyJ9
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Dependency, Spec, Hook, Skip, SkipClass, Dependencies, Dependencies as After, Dependents as Before, Dependents, } from "./decorators.js";
2
- export { HookType } from "./test.js";
3
- export { skipTest } from "./dynamic.js";
1
+ export { HookType } from "./test-wrap.js";
2
+ export { Test } from "./core.js";
3
+ export { skipTest, getTest, addTest } from "./dynamic.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,IAAI,KAAK,EACrB,UAAU,IAAI,MAAM,EACpB,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { Dependency, Spec, Hook, Skip, SkipClass, Dependencies, Dependencies as After, Dependents as Before, Dependents, } from "./decorators.js";
2
- export { HookType } from "./test.js";
3
- export { skipTest } from "./dynamic.js";
4
- //# sourceMappingURL=index.js.map
1
+ export { HookType } from "./test-wrap.js";
2
+ export { Test } from "./core.js";
3
+ export { skipTest, getTest, addTest } from "./dynamic.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDIn0=
package/dist/run.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- interface Options {
2
- log: Function;
3
- orderDebug: boolean;
4
- }
5
- export declare function ManualRun(options: Options): Promise<void>;
6
- export {};
1
+ import { TestWrap } from "./test-wrap.js";
2
+ import { BaseTest } from "./core.js";
3
+ export declare function ManualRun(originalTests: Set<new () => BaseTest>): Promise<void>;
4
+ export declare function updateInformationForClass(target: new () => BaseTest, test: TestWrap, tests: Map<new () => BaseTest, TestWrap>): void;
5
+ export declare function createInstanceIfNotExists(test: TestWrap): void;
6
+ export declare function getTestMap(): Map<new () => BaseTest, TestWrap>;
7
+ export declare function getFutureTestMap(): Map<new () => BaseTest, TestWrap>;
7
8
  //# 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":"AAeA,UAAU,OAAO;IACf,GAAG,EAAE,QAAQ,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,iBA2CzC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAsB,MAAM,WAAW,CAAC;AAWzD,wBAAsB,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,QAAQ,CAAC,iBA0CrE;AAUD,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,UAAU,QAAQ,EAC1B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,GAAG,CAAC,UAAU,QAAQ,EAAE,QAAQ,CAAC,QA2EzC;AAYD,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,QAWvD;AAuFD,wBAAgB,UAAU,kBAnPE,QAAQ,YAqPnC;AAED,wBAAgB,gBAAgB,kBAtPA,QAAQ,YAwPvC"}