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/run.js CHANGED
@@ -1,239 +1,201 @@
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;
8
- const OK_TEXT = colors.bold(colors.green(" (ok) "));
9
- const SKIP_TEXT = colors.bold(colors.yellow(" (skip) "));
10
- const DYNAMIC_SKIP_TEXT = colors.bold(colors.blue(" (dskip) "));
11
- const FAILED_TEXT = colors.bold(colors.red(" (failed) "));
12
- const HOOK_FAILED_TEXT = colors.bold(colors.red(" (hook failed) "));
13
- export function ManualRun(options) {
14
- if (!options.log) {
15
- options.log = console.log.bind(console);
16
- }
17
- const log = options.log;
18
- return new Promise(async (resolve, reject) => {
19
- try {
20
- let hashMap = new Map(HashMap());
21
- if (!hashMap.size) {
22
- log(`${FAILED_TEXT} no specs found`);
23
- throw new Error("No specs found");
24
- }
25
- while (hashMap.size) {
26
- let test = PickNextTestFromHashMap(hashMap);
27
- if (test) {
28
- hashMap.delete(test.target);
29
- CreateInstanceIfNotExists(test);
30
- HandleDependencies(test);
31
- await HandleBeforeHooks(test, options);
32
- await HandleSpecs(test, options);
33
- await HandleAfterHooks(test, options);
34
- test.isFinished = true;
35
- if (test.dependents.length == 0) {
36
- await HandleCleanUp(test, options);
37
- }
38
- }
39
- else {
40
- DependencyLock(hashMap);
41
- }
42
- }
43
- resolve();
44
- }
45
- catch (e) {
46
- reject(e);
47
- }
48
- });
49
- }
50
- function PickNextTestFromHashMap(hashMap) {
51
- for (let test of hashMap.values()) {
52
- if (test.isFinished)
53
- continue;
54
- if (!test.dependencies.every((x) => x.dependency.isFinished))
55
- continue;
56
- return test;
57
- }
58
- }
59
- function CreateInstanceIfNotExists(test) {
60
- if (!test.testInstance) {
61
- test.testInstance = new test.target();
62
- }
63
- }
64
- function HandleDependencies(test) {
65
- for (let dependency of test.dependencies) {
66
- test.testInstance[dependency.propertyKey] =
67
- dependency.dependency.testInstance;
68
- }
69
- }
70
- async function HandleBeforeHooks(test, options) {
71
- for (let [propertyKey, hook] of test.hooks.entries()) {
72
- if (hook.type != HookType.Before)
73
- continue;
74
- let hookName = colors.bold(colors.yellow(test.name +
75
- (propertyKey != "before" ? `.${propertyKey}:before` : ":before")));
76
- try {
77
- if (!options.orderDebug) {
78
- await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
79
- }
80
- else {
81
- let timeText = TimeFactor(0, hook.timeout);
82
- options.log(`${OK_TEXT} ${timeText} ${hookName}()`);
83
- }
84
- }
85
- catch (e) {
86
- console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
87
- console.error(e?.stack ?? e);
88
- throw e;
89
- }
90
- }
91
- }
92
- async function HandleBeforeEachHooks(test, options) {
93
- for (let [propertyKey, hook] of test.hooks.entries()) {
94
- if (hook.type != HookType.BeforeEach)
95
- continue;
96
- let hookName = colors.bold(colors.yellow(test.name +
97
- (propertyKey != "beforeEach"
98
- ? `.${propertyKey}:beforeEach`
99
- : ":beforeEach")));
100
- try {
101
- if (!options.orderDebug) {
102
- await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
103
- }
104
- else {
105
- let timeText = TimeFactor(0, hook.timeout);
106
- options.log(`${OK_TEXT} ${timeText} ${hookName}()`);
107
- }
108
- }
109
- catch (e) {
110
- console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
111
- console.error(e?.stack ?? e);
112
- throw e;
113
- }
114
- }
115
- }
116
- async function HandleAfterEachHooks(test, options) {
117
- for (let [propertyKey, hook] of test.hooks.entries()) {
118
- if (hook.type != HookType.AfterEach)
119
- continue;
120
- let hookName = colors.bold(colors.yellow(test.name +
121
- (propertyKey != "afterEach"
122
- ? `.${propertyKey}:afterEach`
123
- : ":afterEach")));
124
- try {
125
- if (!options.orderDebug) {
126
- await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
127
- }
128
- else {
129
- let timeText = TimeFactor(0, hook.timeout);
130
- options.log(`${OK_TEXT} ${timeText} ${hookName}()`);
131
- }
132
- }
133
- catch (e) {
134
- console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
135
- console.error(e?.stack ?? e);
136
- throw e;
137
- }
138
- }
139
- }
140
- async function HandleSpecs(test, options) {
141
- const log = options.log;
142
- for (let [propertyKey, spec] of test.specs.entries()) {
143
- let testName = colors.bold(colors.yellow(test.name + "." + propertyKey));
144
- const shouldPropertySkip = test.skip.has(propertyKey);
145
- if (shouldPropertySkip || test.skipClass) {
146
- let reason = shouldPropertySkip
147
- ? test.skip.get(propertyKey).reason
148
- : test.skipClass.reason;
149
- log(`${SKIP_TEXT} ${" ".repeat(9)} ${testName}() ${reason ? "{" + reason + "}" : ""}`);
150
- continue;
151
- }
152
- await HandleBeforeEachHooks(test, options);
153
- let start = TimeDifference.begin();
154
- try {
155
- if (!options.orderDebug) {
156
- await Executor(test.testInstance[propertyKey].bind(test.testInstance), spec.timeout);
157
- }
158
- let timeText = TimeFactor(start.end(), spec.timeout);
159
- log(`${OK_TEXT} ${timeText} ${testName}()`);
160
- }
161
- catch (e) {
162
- if (e?._nole_anchor) {
163
- let reason = e.reason;
164
- log(`${DYNAMIC_SKIP_TEXT} ${" ".repeat(8)} ${testName}() ${reason ? "{" + reason + "}" : ""}`);
165
- continue;
166
- }
167
- let timeText = TimeFactor(start.end(), spec.timeout);
168
- console.error(`${FAILED_TEXT} ${timeText} ${testName}()`);
169
- console.error(e?.stack ?? e);
170
- throw e;
171
- }
172
- await HandleAfterEachHooks(test, options);
173
- }
174
- }
175
- async function HandleAfterHooks(test, options) {
176
- for (let [propertyKey, hook] of test.hooks.entries()) {
177
- if (hook.type != HookType.After)
178
- continue;
179
- let hookName = colors.bold(colors.yellow(test.name +
180
- (propertyKey != "after" ? `.${propertyKey}:after` : ":after")));
181
- try {
182
- if (!options.orderDebug) {
183
- await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
184
- }
185
- else {
186
- let timeText = TimeFactor(0, hook.timeout);
187
- options.log(`${OK_TEXT} ${timeText} ${hookName}()`);
188
- }
189
- }
190
- catch (e) {
191
- console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
192
- console.error(e?.stack ?? e);
193
- throw e;
194
- }
195
- }
196
- }
197
- async function HandleCleanUp(test, options) {
198
- if (test.cleanUpCalled)
199
- return;
200
- if (!test.dependents.every((dependent) => dependent.isFinished && dependent.cleanUpCalled))
201
- return;
202
- test.cleanUpCalled = true;
203
- const log = options.log;
204
- for (let [propertyKey, hook] of test.hooks.entries()) {
205
- if (hook.type != HookType.CleanUp)
206
- continue;
207
- let hookName = colors.bold(colors.yellow(test.name +
208
- (propertyKey != "cleanUp" ? `.${propertyKey}:cleanUp` : ":cleanUp")));
209
- let start = TimeDifference.begin();
210
- try {
211
- if (!options.orderDebug) {
212
- await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
213
- }
214
- let timeText = TimeFactor(start.end(), hook.timeout);
215
- log(`${OK_TEXT} ${timeText} ${hookName}()`);
216
- }
217
- catch (e) {
218
- console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
219
- console.error(e?.stack ?? e);
220
- throw e;
221
- }
222
- }
223
- for (let tree of test.dependencies) {
224
- await HandleCleanUp(tree.dependency, options);
225
- }
226
- }
227
- function DependencyLock(hashMap) {
228
- console.error(FAILED_TEXT +
229
- colors.red("Looks like there is confict issue for dependency resolving!"));
230
- console.error("Possible conflicts;");
231
- for (let test of hashMap.values()) {
232
- console.error(`- class ${test.name} { ${test.dependencies
233
- .filter((x) => !x.dependency.isFinished)
234
- .map((x) => `@Dependency(${x.dependency.name}) ${x.propertyKey}`)
235
- .join(", ")} }`);
236
- }
237
- throw new Error("Dependency lock occurred!");
238
- }
239
- //# sourceMappingURL=run.js.map
1
+ import { HookType, TestWrap } from "./test-wrap.js";
2
+ import { BaseTest } from "./core.js";
3
+ import { TEST_CLASS_KEY } from "./symbol.js";
4
+ import { handleBeforeHooks } from "./handle/before-hooks.js";
5
+ import { handleSpecs } from "./handle/specs.js";
6
+ import { handleAfterHooks } from "./handle/after-hooks.js";
7
+ import { handleCleanUp } from "./handle/cleanup-hooks.js";
8
+ import { colors, FAILED_TEXT } from "./const.js";
9
+ let allTests = new Map();
10
+ let notTestedYet = new Map();
11
+ export async function ManualRun(originalTests) {
12
+ for (let test of originalTests) {
13
+ if (allTests.has(test)) {
14
+ continue;
15
+ }
16
+ const wrap = new TestWrap(test);
17
+ allTests.set(test, wrap);
18
+ notTestedYet.set(test, wrap);
19
+ }
20
+ extractInformationFromClasses(notTestedYet);
21
+ if (!notTestedYet.size) {
22
+ throw new Error("No specs found");
23
+ }
24
+ while (notTestedYet.size) {
25
+ let entry = pickNext(notTestedYet);
26
+ if (entry) {
27
+ let test = entry[1];
28
+ // console.log(colors.bold(colors.cyan(`Running test: ${test.name}`)));
29
+ notTestedYet.delete(test.target);
30
+ createInstanceIfNotExists(test);
31
+ handleDependencies(test);
32
+ await handleBeforeHooks(test);
33
+ await handleSpecs(test);
34
+ await handleAfterHooks(test);
35
+ test.isFinished = true;
36
+ if (test.dependents.length == 0) {
37
+ await handleCleanUp(test);
38
+ }
39
+ }
40
+ else {
41
+ dependencyLock(notTestedYet);
42
+ }
43
+ }
44
+ }
45
+ function extractInformationFromClasses(tests) {
46
+ for (let [target, test] of tests.entries()) {
47
+ updateInformationForClass(target, test, tests);
48
+ }
49
+ }
50
+ export function updateInformationForClass(target, test, tests) {
51
+ const config = target[TEST_CLASS_KEY];
52
+ if (config.skip) {
53
+ test.skipClass = { reason: config.skip };
54
+ }
55
+ test.dependencies = config.dependencies
56
+ ? Array.from(config.dependencies.entries().map(([key, dep]) => {
57
+ const actual = dep();
58
+ let testWrap = tests.get(actual);
59
+ if (!testWrap) {
60
+ testWrap = new TestWrap(actual);
61
+ tests.set(actual, testWrap);
62
+ allTests.set(actual, testWrap);
63
+ }
64
+ testWrap.dependents.push(test);
65
+ return {
66
+ propertyKey: key,
67
+ dependency: testWrap,
68
+ };
69
+ }))
70
+ : [];
71
+ if (config.before) {
72
+ const beforeTests = config.before();
73
+ for (let i = 0; i < beforeTests.length; i++) {
74
+ const actual = beforeTests[i];
75
+ let testWrap = tests.get(actual);
76
+ if (!testWrap) {
77
+ testWrap = new TestWrap(actual);
78
+ tests.set(actual, testWrap);
79
+ allTests.set(actual, testWrap);
80
+ }
81
+ testWrap.dependencies.push({
82
+ propertyKey: "_before_" + i,
83
+ dependency: test,
84
+ });
85
+ test.dependents.push(testWrap);
86
+ }
87
+ }
88
+ if (config.after) {
89
+ const afterTests = config.after();
90
+ for (let i = 0; i < afterTests.length; i++) {
91
+ const actual = afterTests[i];
92
+ let testWrap = tests.get(actual);
93
+ if (!testWrap) {
94
+ testWrap = new TestWrap(actual);
95
+ tests.set(actual, testWrap);
96
+ allTests.set(actual, testWrap);
97
+ }
98
+ test.dependencies.push({
99
+ propertyKey: "_after_" + i,
100
+ dependency: testWrap,
101
+ });
102
+ testWrap.dependents.push(test);
103
+ }
104
+ }
105
+ }
106
+ function pickNext(tests) {
107
+ for (let entry of tests.entries()) {
108
+ let test = entry[1];
109
+ if (test.isFinished)
110
+ continue;
111
+ if (!test.dependencies.every((x) => x.dependency.isFinished))
112
+ continue;
113
+ return entry;
114
+ }
115
+ }
116
+ export function createInstanceIfNotExists(test) {
117
+ if (!test.testInstance) {
118
+ const instance = new test.target();
119
+ test.testInstance = instance;
120
+ }
121
+ if (!test.specDetection) {
122
+ specDetection(test);
123
+ test.specDetection = true;
124
+ }
125
+ }
126
+ function specDetection(test) {
127
+ const instance = test.testInstance;
128
+ for (let key of getAllMethods(instance)) {
129
+ if (typeof key !== "string") {
130
+ continue;
131
+ }
132
+ let lowerKey = key.toLowerCase();
133
+ if (lowerKey.startsWith("skip")) {
134
+ test.skip.set(key, { reason: "marked as skipped" });
135
+ }
136
+ if (lowerKey.startsWith("hook") ||
137
+ lowerKey === "cleanup" ||
138
+ lowerKey === "before" ||
139
+ lowerKey === "after" ||
140
+ lowerKey === "beforeeach" ||
141
+ lowerKey === "aftereach") {
142
+ let type = HookType.Before;
143
+ if (lowerKey.endsWith("before")) {
144
+ type = HookType.Before;
145
+ }
146
+ else if (lowerKey.endsWith("after")) {
147
+ type = HookType.After;
148
+ }
149
+ else if (lowerKey.endsWith("beforeeach")) {
150
+ type = HookType.BeforeEach;
151
+ }
152
+ else if (lowerKey.endsWith("aftereach")) {
153
+ type = HookType.AfterEach;
154
+ }
155
+ else if (lowerKey.endsWith("cleanup")) {
156
+ type = HookType.CleanUp;
157
+ }
158
+ test.hooks.set(key, { type });
159
+ continue;
160
+ }
161
+ test.specs.set(key, {});
162
+ }
163
+ }
164
+ function getAllMethods(instance) {
165
+ let props = new Set();
166
+ let currentObj = instance;
167
+ while (currentObj && currentObj !== Object.prototype) {
168
+ Object.getOwnPropertyNames(currentObj).forEach((prop) => {
169
+ if (typeof currentObj[prop] === "function" && prop !== "constructor") {
170
+ props.add(prop);
171
+ }
172
+ });
173
+ currentObj = Object.getPrototypeOf(currentObj);
174
+ }
175
+ return Array.from(props);
176
+ }
177
+ function handleDependencies(test) {
178
+ for (let dependency of test.dependencies) {
179
+ test.testInstance[dependency.propertyKey] =
180
+ dependency.dependency.testInstance;
181
+ }
182
+ }
183
+ function dependencyLock(tests) {
184
+ console.error(FAILED_TEXT +
185
+ colors.red("Looks like there is confict issue for dependency resolving!"));
186
+ console.error("Possible conflicts;");
187
+ for (let [, test] of tests) {
188
+ console.error(`- class ${test.name} { ${test.dependencies
189
+ .filter((x) => !x.dependency.isFinished)
190
+ .map((x) => `@Dependency(${x.dependency.name}) ${x.propertyKey}`)
191
+ .join(", ")} }`);
192
+ }
193
+ throw new Error("Dependency lock occurred!");
194
+ }
195
+ export function getTestMap() {
196
+ return allTests;
197
+ }
198
+ export function getFutureTestMap() {
199
+ return notTestedYet;
200
+ }
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQXNCLE1BQU0sV0FBVyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRCxJQUFJLFFBQVEsR0FBc0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUM1RCxJQUFJLFlBQVksR0FBc0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUVoRSxNQUFNLENBQUMsS0FBSyxVQUFVLFNBQVMsQ0FBQyxhQUFzQztJQUNwRSxLQUFLLElBQUksSUFBSSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQy9CLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekIsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELDZCQUE2QixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTVDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbkMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQix1RUFBdUU7WUFFdkUsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFekIsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM5QixNQUFNLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QixNQUFNLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTdCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBRXZCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLDZCQUE2QixDQUNwQyxLQUF3QztJQUV4QyxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDM0MseUJBQXlCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FDdkMsTUFBMEIsRUFDMUIsSUFBYyxFQUNkLEtBQXdDO0lBRXhDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQWtCLENBQUM7SUFFdkQsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVk7UUFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ1IsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVCLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFFRCxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUUvQixPQUFPO2dCQUNMLFdBQVcsRUFBRSxHQUFHO2dCQUNoQixVQUFVLEVBQUUsUUFBUTthQUNyQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0g7UUFDSCxDQUFDLENBQUMsRUFBRSxDQUFDO0lBRVAsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXBDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDNUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTlCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFakMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNkLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDaEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVCLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFFRCxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDekIsV0FBVyxFQUFFLFVBQVUsR0FBRyxDQUFDO2dCQUMzQixVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU3QixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWpDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2hDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUM1QixRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqQyxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLFdBQVcsRUFBRSxTQUFTLEdBQUcsQ0FBQztnQkFDMUIsVUFBVSxFQUFFLFFBQVE7YUFDckIsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsS0FBd0M7SUFDeEQsS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUNsQyxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLFNBQVM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUFFLFNBQVM7UUFFdkUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSx5QkFBeUIsQ0FBQyxJQUFjO0lBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEIsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsSUFBYztJQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQ25DLEtBQUssSUFBSSxHQUFHLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDeEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVqQyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxJQUNFLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1lBQzNCLFFBQVEsS0FBSyxTQUFTO1lBQ3RCLFFBQVEsS0FBSyxRQUFRO1lBQ3JCLFFBQVEsS0FBSyxPQUFPO1lBQ3BCLFFBQVEsS0FBSyxZQUFZO1lBQ3pCLFFBQVEsS0FBSyxXQUFXLEVBQ3hCLENBQUM7WUFDRCxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBRTNCLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN6QixDQUFDO2lCQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUN4QixDQUFDO2lCQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUM3QixDQUFDO2lCQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztZQUM1QixDQUFDO2lCQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUN4QyxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUMxQixDQUFDO1lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QixTQUFTO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFFBQVE7SUFDN0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN0QixJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFFMUIsT0FBTyxVQUFVLElBQUksVUFBVSxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRCxNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEQsSUFBSSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLElBQUksSUFBSSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUNyRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILFVBQVUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsSUFBYztJQUN4QyxLQUFLLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUM7WUFDdkMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxLQUF3QztJQUM5RCxPQUFPLENBQUMsS0FBSyxDQUNYLFdBQVc7UUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLDZEQUE2RCxDQUFDLENBQzVFLENBQUM7SUFFRixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDckMsS0FBSyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUMzQixPQUFPLENBQUMsS0FBSyxDQUNYLFdBQVcsSUFBSSxDQUFDLElBQUksTUFBTSxJQUFJLENBQUMsWUFBWTthQUN4QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7YUFDdkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDbEIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ export declare const TEST_CLASS_KEY: unique symbol;
2
+ //# sourceMappingURL=symbol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../src/symbol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,eAA2B,CAAC"}
package/dist/symbol.js ADDED
@@ -0,0 +1,2 @@
1
+ export const TEST_CLASS_KEY = Symbol("TEST_CLASS_KEY");
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltYm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3N5bWJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMifQ==
@@ -0,0 +1,37 @@
1
+ import { BaseTest, type TestClassInfo } from "./core.js";
2
+ export interface IDependency {
3
+ propertyKey: string;
4
+ dependency: TestWrap;
5
+ }
6
+ export interface ISpec {
7
+ }
8
+ export interface IHook {
9
+ type: HookType;
10
+ }
11
+ export interface ISkip {
12
+ reason: string;
13
+ }
14
+ export declare class TestWrap {
15
+ target: new () => BaseTest;
16
+ dependencies: IDependency[];
17
+ dependents: TestWrap[];
18
+ skip: Map<string, ISkip>;
19
+ skipClass: ISkip | null;
20
+ specs: Map<string, ISpec>;
21
+ hooks: Map<string, IHook>;
22
+ isFinished: boolean;
23
+ cleanUpCalled: boolean;
24
+ testInstance: any;
25
+ specDetection: boolean;
26
+ config: TestClassInfo;
27
+ constructor(target: new () => BaseTest);
28
+ get name(): string;
29
+ }
30
+ export declare enum HookType {
31
+ Before = 0,// Trigger when test case is ready to handle
32
+ After = 1,// Trigger when test case did all the specs
33
+ BeforeEach = 2,// Trigger before each spec
34
+ AfterEach = 3,// Trigger after each spec
35
+ CleanUp = 4
36
+ }
37
+ //# sourceMappingURL=test-wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-wrap.d.ts","sourceRoot":"","sources":["../src/test-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAGzD,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,QAAQ,CAAC;CACtB;AAED,MAAM,WAAW,KAAK;CAAG;AAEzB,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,qBAAa,QAAQ;IAaA,MAAM,EAAE,UAAU,QAAQ;IAZ7C,YAAY,EAAE,WAAW,EAAE,CAAM;IACjC,UAAU,EAAE,QAAQ,EAAE,CAAM;IAC5B,IAAI,qBAA4B;IAChC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAQ;IAC/B,KAAK,qBAA4B;IACjC,KAAK,qBAA4B;IACjC,UAAU,EAAE,OAAO,CAAS;IAC5B,aAAa,EAAE,OAAO,CAAS;IAC/B,YAAY,EAAE,GAAG,CAAC;IAClB,aAAa,EAAE,OAAO,CAAS;IAC/B,MAAM,EAAE,aAAa,CAAC;gBAEH,MAAM,EAAE,UAAU,QAAQ;IAI7C,IAAI,IAAI,WAEP;CACF;AAED,oBAAY,QAAQ;IAClB,MAAM,IAAA,CAAE,4CAA4C;IACpD,KAAK,IAAA,CAAE,2CAA2C;IAClD,UAAU,IAAA,CAAE,2BAA2B;IACvC,SAAS,IAAA,CAAE,0BAA0B;IACrC,OAAO,IAAA;CACR"}
@@ -0,0 +1,30 @@
1
+ import { BaseTest } from "./core.js";
2
+ import { TEST_CLASS_KEY } from "./symbol.js";
3
+ // Old code, but works fine, so I won't change it for now
4
+ export class TestWrap {
5
+ constructor(target) {
6
+ this.target = target;
7
+ this.dependencies = [];
8
+ this.dependents = [];
9
+ this.skip = new Map();
10
+ this.skipClass = null;
11
+ this.specs = new Map();
12
+ this.hooks = new Map();
13
+ this.isFinished = false; // cleanup ignored
14
+ this.cleanUpCalled = false;
15
+ this.specDetection = false;
16
+ this.config = target[TEST_CLASS_KEY];
17
+ }
18
+ get name() {
19
+ return this.target.name;
20
+ }
21
+ }
22
+ export var HookType;
23
+ (function (HookType) {
24
+ HookType[HookType["Before"] = 0] = "Before";
25
+ HookType[HookType["After"] = 1] = "After";
26
+ HookType[HookType["BeforeEach"] = 2] = "BeforeEach";
27
+ HookType[HookType["AfterEach"] = 3] = "AfterEach";
28
+ HookType[HookType["CleanUp"] = 4] = "CleanUp";
29
+ })(HookType || (HookType = {}));
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC13cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3Rlc3Qtd3JhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFzQixNQUFNLFdBQVcsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBaUI3Qyx5REFBeUQ7QUFDekQsTUFBTSxPQUFPLFFBQVE7SUFhbkIsWUFBbUIsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFaN0MsaUJBQVksR0FBa0IsRUFBRSxDQUFDO1FBQ2pDLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFHLElBQUksR0FBRyxFQUFpQixDQUFDO1FBQ2hDLGNBQVMsR0FBaUIsSUFBSSxDQUFDO1FBQy9CLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBaUIsQ0FBQztRQUNqQyxVQUFLLEdBQUcsSUFBSSxHQUFHLEVBQWlCLENBQUM7UUFDakMsZUFBVSxHQUFZLEtBQUssQ0FBQyxDQUFDLGtCQUFrQjtRQUMvQyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUUvQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUk3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQU4sSUFBWSxRQU1YO0FBTkQsV0FBWSxRQUFRO0lBQ2xCLDJDQUFNLENBQUE7SUFDTix5Q0FBSyxDQUFBO0lBQ0wsbURBQVUsQ0FBQTtJQUNWLGlEQUFTLENBQUE7SUFDVCw2Q0FBTyxDQUFBO0FBQ1QsQ0FBQyxFQU5XLFFBQVEsS0FBUixRQUFRLFFBTW5CIn0=
@@ -1,2 +1,2 @@
1
- export declare function Executor(fn: Function, timeout: number): Promise<void>;
1
+ export declare function Executor(fn: Function, timeout: number): Promise<void>;
2
2
  //# sourceMappingURL=executor.d.ts.map
@@ -1,20 +1,20 @@
1
- export function Executor(fn, timeout) {
2
- return new Promise(async (resolve, reject) => {
3
- let _timeout = null;
4
- try {
5
- let expectPromise = fn();
6
- if (expectPromise && expectPromise.then) {
7
- _timeout = setTimeout(function () {
8
- reject(new Error("Timeout occurred! value: " + timeout));
9
- }, timeout);
10
- await expectPromise;
11
- }
12
- }
13
- catch (e) {
14
- reject(e);
15
- }
16
- clearTimeout(_timeout);
17
- resolve();
18
- });
19
- }
20
- //# sourceMappingURL=executor.js.map
1
+ export function Executor(fn, timeout) {
2
+ return new Promise(async (resolve, reject) => {
3
+ let _timeout = null;
4
+ try {
5
+ let expectPromise = fn();
6
+ if (expectPromise && expectPromise.then) {
7
+ _timeout = setTimeout(function () {
8
+ reject(new Error("Timeout occurred! value: " + timeout));
9
+ }, timeout);
10
+ await expectPromise;
11
+ }
12
+ }
13
+ catch (e) {
14
+ reject(e);
15
+ }
16
+ clearTimeout(_timeout);
17
+ resolve();
18
+ });
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZXhlY3V0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLFFBQVEsQ0FBQyxFQUFZLEVBQUUsT0FBZTtJQUNwRCxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDM0MsSUFBSSxRQUFRLEdBQTBCLElBQUksQ0FBQztRQUUzQyxJQUFJLENBQUM7WUFDSCxJQUFJLGFBQWEsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUN6QixJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hDLFFBQVEsR0FBRyxVQUFVLENBQUM7b0JBQ3BCLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQywyQkFBMkIsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRVosTUFBTSxhQUFhLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1osQ0FBQztRQUVELFlBQVksQ0FBQyxRQUFTLENBQUMsQ0FBQztRQUV4QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
@@ -1,6 +1,8 @@
1
- export declare class ExecutorTest {
2
- evaluate(): Promise<void>;
3
- throws(): Promise<void>;
4
- timeout(): Promise<void>;
5
- }
1
+ declare const ExecutorTest_base: new () => {} & import("../core.js").BaseTest;
2
+ export declare class ExecutorTest extends ExecutorTest_base {
3
+ evaluate(): Promise<void>;
4
+ throws(): Promise<void>;
5
+ timeout(): Promise<void>;
6
+ }
7
+ export {};
6
8
  //# sourceMappingURL=executor.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executor.test.d.ts","sourceRoot":"","sources":["../../src/utils/executor.test.ts"],"names":[],"mappings":"AAIA,qBAAa,YAAY;IAEjB,QAAQ;IAMR,MAAM;IASN,OAAO;CAKd"}
1
+ {"version":3,"file":"executor.test.d.ts","sourceRoot":"","sources":["../../src/utils/executor.test.ts"],"names":[],"mappings":";AAIA,qBAAa,YAAa,SAAQ,iBAAM;IAChC,QAAQ;IAKR,MAAM;IAQN,OAAO;CAKd"}