nole 1.0.12 → 2.0.2

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 (67) hide show
  1. package/README.md +32 -0
  2. package/bin/nole.js +22 -22
  3. package/dist/data.d.ts +1 -1
  4. package/dist/data.d.ts.map +1 -1
  5. package/dist/data.js +2 -6
  6. package/dist/data.js.map +1 -1
  7. package/dist/decorators.d.ts +2 -1
  8. package/dist/decorators.d.ts.map +1 -1
  9. package/dist/decorators.js +20 -17
  10. package/dist/decorators.js.map +1 -1
  11. package/dist/dynamic.js +1 -5
  12. package/dist/dynamic.js.map +1 -1
  13. package/dist/index.d.ts +3 -3
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -13
  16. package/dist/index.js.map +1 -1
  17. package/dist/run.d.ts.map +1 -1
  18. package/dist/run.js +39 -44
  19. package/dist/run.js.map +1 -1
  20. package/dist/run.test.d.ts +4 -0
  21. package/dist/run.test.d.ts.map +1 -0
  22. package/dist/run.test.js +31 -0
  23. package/dist/run.test.js.map +1 -0
  24. package/dist/test.d.ts +1 -0
  25. package/dist/test.d.ts.map +1 -1
  26. package/dist/test.js +5 -8
  27. package/dist/test.js.map +1 -1
  28. package/dist/utils/executor.js +1 -5
  29. package/dist/utils/executor.js.map +1 -1
  30. package/dist/utils/executor.test.d.ts +6 -0
  31. package/dist/utils/executor.test.d.ts.map +1 -0
  32. package/dist/utils/executor.test.js +49 -0
  33. package/dist/utils/executor.test.js.map +1 -0
  34. package/dist/utils/time_difference.js +1 -5
  35. package/dist/utils/time_difference.js.map +1 -1
  36. package/dist/utils/time_difference.test.d.ts +4 -0
  37. package/dist/utils/time_difference.test.d.ts.map +1 -0
  38. package/dist/utils/time_difference.test.js +24 -0
  39. package/dist/utils/time_difference.test.js.map +1 -0
  40. package/dist/utils/time_factor.d.ts +1 -1
  41. package/dist/utils/time_factor.d.ts.map +1 -1
  42. package/dist/utils/time_factor.js +5 -10
  43. package/dist/utils/time_factor.js.map +1 -1
  44. package/dist/utils/time_factor.test.d.ts +4 -0
  45. package/dist/utils/time_factor.test.d.ts.map +1 -0
  46. package/dist/utils/time_factor.test.js +42 -0
  47. package/dist/utils/time_factor.test.js.map +1 -0
  48. package/package.json +28 -6
  49. package/src/data.ts +2 -2
  50. package/src/decorators.ts +19 -2
  51. package/src/index.ts +3 -3
  52. package/src/run.ts +30 -21
  53. package/src/test.ts +3 -4
  54. package/src/utils/executor.test.ts +27 -0
  55. package/src/utils/executor.ts +1 -1
  56. package/src/utils/time_difference.test.ts +12 -0
  57. package/src/utils/time_factor.test.ts +29 -0
  58. package/src/utils/time_factor.ts +3 -1
  59. package/test/basic.test.ts +1 -1
  60. package/test/clean-up.test.ts +1 -1
  61. package/test/dynamic-skip.test.ts +1 -1
  62. package/test/dynamic.test.ts +1 -1
  63. package/test/hook.test.ts +2 -2
  64. package/test/multi-dependency.test.ts +23 -0
  65. package/test/skip-all.test.ts +9 -3
  66. package/test/tsconfig.json +3 -4
  67. package/tsconfig.json +4 -4
package/README.md CHANGED
@@ -5,6 +5,10 @@ Nole
5
5
 
6
6
  Nole is a testing platform just like mocha.. You can create test classes and declare specs with decorators..
7
7
 
8
+ > Use nole 2.x for ESM and Typescript.
9
+
10
+ > Use nole 1.x for CommonJS. (ability to disable Typescript with -T option)
11
+
8
12
  ```ts
9
13
  // test/queue.test.ts
10
14
  import { Spec } from 'nole';
@@ -146,6 +150,32 @@ class Other {
146
150
  > * All dependencies will be waited until done
147
151
  > * If dependencies cannot resolve, it will occurr an error after the available tests done.
148
152
 
153
+
154
+ ## Multi Dependencies
155
+
156
+ Easier way to declare dependencies by decorating class with an array.
157
+
158
+ ```ts
159
+ // test/redis.test.ts
160
+ import { Spec, Dependencies } from 'nole';
161
+ import { Database } from './database.test';
162
+ import { Other } from './other.test';
163
+
164
+ @Dependencies([
165
+ Database,
166
+ Other
167
+ ])
168
+ class Redis {
169
+ database: Database; // camel-case syntax
170
+ // even though other does not exist in this test, but nole will make sure it is completed when this test runs
171
+
172
+ @Spec()
173
+ async DoThings() {
174
+ await database.connection.doStuff();
175
+ }
176
+ }
177
+ ```
178
+
149
179
  ## Hook
150
180
 
151
181
  Hooks will help you to develop helper methods.
@@ -258,6 +288,8 @@ We do not provide assert library. You can use chai or should.js.
258
288
 
259
289
  ## Compiled files
260
290
 
291
+ > Deprecated (v2.x+), It will always use ts-node/esm module
292
+
261
293
  You can run the compiled test files with `-T` option.
262
294
 
263
295
  ```bash
package/bin/nole.js CHANGED
@@ -1,19 +1,20 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node --loader=ts-node/esm
2
2
 
3
- const program = require('commander');
4
- const glob = require('glob');
5
- const path = require('path');
6
- const colors = require('colors/safe');
7
- const package = require('../package.json');
8
- const { ManualRun } = require('../dist/run');
9
- const { TimeDifference } = require('../dist/utils/time_difference');
10
- const { TimeResolve } = require('../dist/utils/time_factor');
3
+ import program from 'commander';
4
+ import glob from 'glob';
5
+ import path from 'path';
6
+ import fs from 'fs';
7
+ import colors from 'colors/safe.js';
8
+ import { ManualRun } from '../dist/run.js';
9
+ import { TimeDifference } from '../dist/utils/time_difference.js';
10
+ import { TimeResolve } from '../dist/utils/time_factor.js';
11
+
12
+ const pkg = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url)).toString())
11
13
 
12
14
  program
13
15
  .usage('<glob> ...')
14
- .option('-T, --no-typescript', 'disable ts-node register')
15
16
  .option('-L, --no-log', 'disable console.log')
16
- .version(package.version)
17
+ .version(pkg.version)
17
18
  .parse(process.argv);
18
19
 
19
20
 
@@ -23,7 +24,7 @@ if (!program.args.length) {
23
24
  let time = TimeDifference.begin();
24
25
 
25
26
  let log = console.log.bind(console);
26
-
27
+
27
28
  if (!program.log) {
28
29
  console.log = function () { }
29
30
  }
@@ -36,7 +37,7 @@ if (!program.args.length) {
36
37
 
37
38
  resolve(matches);
38
39
  })
39
- }))).then(list => {
40
+ }))).then(async list => {
40
41
  let fileList = [];
41
42
 
42
43
  for (let item of list) {
@@ -50,25 +51,24 @@ if (!program.args.length) {
50
51
 
51
52
  let file = time.end();
52
53
 
53
- if (program.typescript) {
54
- require('ts-node').register();
55
- }
56
-
57
54
  for (let file of fileList) {
58
- require(file);
55
+ await import(`file://${file}`);
59
56
  }
60
57
 
61
58
  let prop = time.end();
62
59
 
63
- log('Nole tests v' + package.version);
64
- ManualRun(log).then(() => {
60
+ log('Nole tests v' + pkg.version);
61
+ try {
62
+ await ManualRun(log);
63
+
65
64
  log(' discover: %s', TimeResolve(file))
66
65
  log(' resolve: %s', TimeResolve(prop - file))
67
66
  log(' tests: %s', TimeResolve(time.end() - prop))
68
67
  process.exit(0);
69
- }).catch(e => {
68
+ } catch(e) {
69
+ console.error(e);
70
70
  process.exit(1);
71
- })
71
+ }
72
72
  }).catch(e => {
73
73
  failed('Error occurred on resolving files');
74
74
  console.error(e.stack || e);
package/dist/data.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { Test } from "./test";
1
+ import { Test } from "./test.js";
2
2
  export declare function HashMap(): Map<any, Test>;
3
3
  //# sourceMappingURL=data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAI9B,wBAAgB,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAQxC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,wBAAgB,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAQxC"}
package/dist/data.js CHANGED
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HashMap = void 0;
4
1
  const KEY = '_nole_hash';
5
- function HashMap() {
6
- let g = global || {};
2
+ export function HashMap() {
3
+ let g = global;
7
4
  if (g[KEY]) {
8
5
  return g[KEY];
9
6
  }
10
7
  return g[KEY] = new Map();
11
8
  }
12
- exports.HashMap = HashMap;
13
9
  //# sourceMappingURL=data.js.map
package/dist/data.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":";;;AAEA,MAAM,GAAG,GAAG,YAAY,CAAC;AAEzB,SAAgB,OAAO;IACrB,IAAI,CAAC,GAAQ,MAAM,IAAI,EAAE,CAAC;IAE1B,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACf;IAED,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAa,CAAC;AACvC,CAAC;AARD,0BAQC"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":"AAEA,MAAM,GAAG,GAAG,YAAY,CAAC;AAEzB,MAAM,UAAU,OAAO;IACrB,IAAI,CAAC,GAAQ,MAAM,CAAC;IAEpB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;QACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;KACf;IAED,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAa,CAAC;AACvC,CAAC"}
@@ -1,6 +1,7 @@
1
- import { HookType, ClassDefition } from "./test";
1
+ import { HookType, ClassDefition } from "./test.js";
2
2
  export declare function Spec(timeout?: number): MethodDecorator;
3
3
  export declare function Dependency<T>(dependency: ClassDefition<T>): PropertyDecorator;
4
+ export declare function Dependencies(dependencies: ClassDefition<any>[]): ClassDecorator;
4
5
  export declare function Hook(type: HookType, timeout?: number): MethodDecorator;
5
6
  export declare function Skip(reason?: string): MethodDecorator;
6
7
  export declare function SkipClass(reason?: string): ClassDecorator;
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,QAAQ,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAMvD,wBAAgB,IAAI,CAAC,OAAO,GAAE,MAAa,GAAG,eAAe,CAI5D;AAOD,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAI7E;AAQD,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,MAAa,GAAG,eAAe,CAI5E;AAOD,wBAAgB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAIrD;AAMD,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAIzD"}
1
+ {"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAO1D,wBAAgB,IAAI,CAAC,OAAO,GAAE,MAAa,GAAG,eAAe,CAI5D;AAOD,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAI7E;AAMD,wBAAgB,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,cAAc,CAS/E;AASD,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAE,MAAa,GAAG,eAAe,CAI5E;AAOD,wBAAgB,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAIrD;AAMD,wBAAgB,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAIzD"}
@@ -1,42 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SkipClass = exports.Skip = exports.Hook = exports.Dependency = exports.Spec = void 0;
4
- const data_1 = require("./data");
5
- const test_1 = require("./test");
6
- function Spec(timeout = 5000) {
1
+ import { HashMap } from "./data.js";
2
+ import { Test } from "./test.js";
3
+ import camelcase from "camelcase";
4
+ export function Spec(timeout = 5000) {
7
5
  return function (target, propertyKey) {
8
6
  DeclareSpecForTestClass(target, propertyKey, timeout);
9
7
  };
10
8
  }
11
- exports.Spec = Spec;
12
- function Dependency(dependency) {
9
+ export function Dependency(dependency) {
13
10
  return function (target, propertyKey) {
14
11
  DeclareDependencyForTestClass(target, propertyKey, dependency);
15
12
  };
16
13
  }
17
- exports.Dependency = Dependency;
18
- function Hook(type, timeout = 5000) {
14
+ export function Dependencies(dependencies) {
15
+ return function (target) {
16
+ for (const dependency of dependencies) {
17
+ const propertyKey = camelcase(dependency.name, {
18
+ preserveConsecutiveUppercase: true
19
+ });
20
+ DeclareDependencyForTestClass({ constructor: target }, propertyKey, dependency);
21
+ }
22
+ };
23
+ }
24
+ export function Hook(type, timeout = 5000) {
19
25
  return function (target, propertyKey) {
20
26
  DeclareHookForTestClass(target, propertyKey, type, timeout);
21
27
  };
22
28
  }
23
- exports.Hook = Hook;
24
- function Skip(reason) {
29
+ export function Skip(reason) {
25
30
  return function (target, propertyKey) {
26
31
  DeclareAsSkipped(target, propertyKey, reason ? reason : '');
27
32
  };
28
33
  }
29
- exports.Skip = Skip;
30
- function SkipClass(reason) {
34
+ export function SkipClass(reason) {
31
35
  return function (target) {
32
36
  DeclareAsSkippedClass(target, reason ? reason : '');
33
37
  };
34
38
  }
35
- exports.SkipClass = SkipClass;
36
39
  function GetTestInstanceOfTarget(target) {
37
- let instance = data_1.HashMap().get(target);
40
+ let instance = HashMap().get(target);
38
41
  if (!instance) {
39
- data_1.HashMap().set(target, instance = new test_1.Test(target));
42
+ HashMap().set(target, instance = new Test(target));
40
43
  }
41
44
  return instance;
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":"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"}
package/dist/dynamic.js CHANGED
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.skipTest = void 0;
4
- function skipTest(reason) {
1
+ export function skipTest(reason) {
5
2
  throw new NoleManualSkip(reason);
6
3
  }
7
- exports.skipTest = skipTest;
8
4
  class NoleManualSkip extends Error {
9
5
  constructor(reason) {
10
6
  super(`Dynamicly skipped! ${reason}`);
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":";;;AAAA,SAAgB,QAAQ,CAAC,MAAe;IACtC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAFD,4BAEC;AAED,MAAM,cAAe,SAAQ,KAAK;IAGhC,YAAmB,MAAe;QAChC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QADrB,WAAM,GAAN,MAAM,CAAS;QAFlC,iBAAY,GAAG,CAAC,CAAC;IAIjB,CAAC;CACF"}
1
+ {"version":3,"file":"dynamic.js","sourceRoot":"","sources":["../src/dynamic.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,MAAe;IACtC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,cAAe,SAAQ,KAAK;IAGhC,YAAmB,MAAe;QAChC,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QADrB,WAAM,GAAN,MAAM,CAAS;QAFlC,iBAAY,GAAG,CAAC,CAAC;IAIjB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { Dependency, Spec, Hook, Skip, SkipClass } from './decorators';
2
- export { HookType } from './test';
3
- export { skipTest } from './dynamic';
1
+ export { Dependency, Spec, Hook, Skip, SkipClass, Dependencies } from './decorators.js';
2
+ export { HookType } from './test.js';
3
+ export { skipTest } 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":"AACA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.skipTest = exports.HookType = exports.SkipClass = exports.Skip = exports.Hook = exports.Spec = exports.Dependency = void 0;
4
- var decorators_1 = require("./decorators");
5
- Object.defineProperty(exports, "Dependency", { enumerable: true, get: function () { return decorators_1.Dependency; } });
6
- Object.defineProperty(exports, "Spec", { enumerable: true, get: function () { return decorators_1.Spec; } });
7
- Object.defineProperty(exports, "Hook", { enumerable: true, get: function () { return decorators_1.Hook; } });
8
- Object.defineProperty(exports, "Skip", { enumerable: true, get: function () { return decorators_1.Skip; } });
9
- Object.defineProperty(exports, "SkipClass", { enumerable: true, get: function () { return decorators_1.SkipClass; } });
10
- var test_1 = require("./test");
11
- Object.defineProperty(exports, "HookType", { enumerable: true, get: function () { return test_1.HookType; } });
12
- var dynamic_1 = require("./dynamic");
13
- Object.defineProperty(exports, "skipTest", { enumerable: true, get: function () { return dynamic_1.skipTest; } });
1
+ export { Dependency, Spec, Hook, Skip, SkipClass, Dependencies } from './decorators.js';
2
+ export { HookType } from './test.js';
3
+ export { skipTest } from './dynamic.js';
14
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,2CAAuE;AAA9D,wGAAA,UAAU,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,kGAAA,IAAI,OAAA;AAAE,uGAAA,SAAS,OAAA;AAChD,+BAAkC;AAAzB,gGAAA,QAAQ,OAAA;AACjB,qCAAqC;AAA5B,mGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAaA,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,iBAyCtC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAeA,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,iBA2CtC"}
package/dist/run.js CHANGED
@@ -1,24 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ManualRun = void 0;
4
- const data_1 = require("./data");
5
- const time_difference_1 = require("./utils/time_difference");
6
- const time_factor_1 = require("./utils/time_factor");
7
- const colors = require("colors/safe");
8
- const executor_1 = require("./utils/executor");
9
- const test_1 = require("./test");
1
+ import { HashMap } from "./data.js";
2
+ import { TimeDifference } from "./utils/time_difference.js";
3
+ import { TimeFactor } from "./utils/time_factor.js";
4
+ import * as clrs from 'colors/safe.js';
5
+ import { Executor } from "./utils/executor.js";
6
+ import { HookType } from "./test.js";
7
+ const colors = clrs.default;
10
8
  const OK_TEXT = colors.bold(colors.green(' (ok) '));
11
9
  const SKIP_TEXT = colors.bold(colors.yellow(' (skip) '));
12
10
  const DYNAMIC_SKIP_TEXT = colors.bold(colors.blue(' (dskip) '));
13
11
  const FAILED_TEXT = colors.bold(colors.red(' (failed) '));
14
12
  const HOOK_FAILED_TEXT = colors.bold(colors.red(' (hook failed) '));
15
- function ManualRun(log) {
13
+ export function ManualRun(log) {
16
14
  if (!log) {
17
15
  log = console.log.bind(console);
18
16
  }
19
17
  return new Promise(async (resolve, reject) => {
20
18
  try {
21
- let hashMap = new Map(data_1.HashMap());
19
+ let hashMap = new Map(HashMap());
22
20
  if (!hashMap.size) {
23
21
  log(`${FAILED_TEXT} no specs found`);
24
22
  throw new Error('No specs found');
@@ -32,10 +30,11 @@ function ManualRun(log) {
32
30
  await HandleBeforeHooks(test);
33
31
  await HandleSpecs(test, log);
34
32
  await HandleAfterHooks(test);
33
+ test.isFinished = true;
35
34
  if (test.dependents.length == 0) {
36
- await HandleCleanUp(test);
35
+ await HandleCleanUp(test, log);
37
36
  }
38
- test.isFinished = true;
37
+ test.isFullyFinished = true;
39
38
  }
40
39
  else {
41
40
  DependencyLock(hashMap);
@@ -48,7 +47,6 @@ function ManualRun(log) {
48
47
  }
49
48
  });
50
49
  }
51
- exports.ManualRun = ManualRun;
52
50
  function PickNextTestFromHashMap(hashMap) {
53
51
  for (let test of hashMap.values()) {
54
52
  if (test.isFinished)
@@ -69,55 +67,51 @@ function HandleDependencies(test) {
69
67
  }
70
68
  }
71
69
  async function HandleBeforeHooks(test) {
72
- var _a;
73
70
  for (let [propertyKey, hook] of test.hooks.entries()) {
74
- if (hook.type != test_1.HookType.Before)
71
+ if (hook.type != HookType.Before)
75
72
  continue;
76
73
  try {
77
- await executor_1.Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
74
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
78
75
  }
79
76
  catch (e) {
80
77
  let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'before' ? `.${propertyKey}:before` : ':before')));
81
78
  console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
82
- console.error((_a = e === null || e === void 0 ? void 0 : e.stack) !== null && _a !== void 0 ? _a : e);
79
+ console.error(e?.stack ?? e);
83
80
  throw e;
84
81
  }
85
82
  }
86
83
  }
87
84
  async function HandleBeforeEachHooks(test) {
88
- var _a;
89
85
  for (let [propertyKey, hook] of test.hooks.entries()) {
90
- if (hook.type != test_1.HookType.BeforeEach)
86
+ if (hook.type != HookType.BeforeEach)
91
87
  continue;
92
88
  try {
93
- await executor_1.Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
89
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
94
90
  }
95
91
  catch (e) {
96
92
  let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'beforeEach' ? `.${propertyKey}:beforeEach` : ':beforeEach')));
97
93
  console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
98
- console.error((_a = e === null || e === void 0 ? void 0 : e.stack) !== null && _a !== void 0 ? _a : e);
94
+ console.error(e?.stack ?? e);
99
95
  throw e;
100
96
  }
101
97
  }
102
98
  }
103
99
  async function HandleAfterEachHooks(test) {
104
- var _a;
105
100
  for (let [propertyKey, hook] of test.hooks.entries()) {
106
- if (hook.type != test_1.HookType.AfterEach)
101
+ if (hook.type != HookType.AfterEach)
107
102
  continue;
108
103
  try {
109
- await executor_1.Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
104
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
110
105
  }
111
106
  catch (e) {
112
107
  let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'afterEach' ? `.${propertyKey}:afterEach` : ':afterEach')));
113
108
  console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
114
- console.error((_a = e === null || e === void 0 ? void 0 : e.stack) !== null && _a !== void 0 ? _a : e);
109
+ console.error(e?.stack ?? e);
115
110
  throw e;
116
111
  }
117
112
  }
118
113
  }
119
114
  async function HandleSpecs(test, log) {
120
- var _a;
121
115
  for (let [propertyKey, spec] of test.specs.entries()) {
122
116
  let testName = colors.bold(colors.yellow(test.name + '.' + propertyKey));
123
117
  const shouldPropertySkip = test.skip.has(propertyKey);
@@ -127,64 +121,65 @@ async function HandleSpecs(test, log) {
127
121
  continue;
128
122
  }
129
123
  await HandleBeforeEachHooks(test);
130
- let start = time_difference_1.TimeDifference.begin();
124
+ let start = TimeDifference.begin();
131
125
  try {
132
- await executor_1.Executor(test.testInstance[propertyKey].bind(test.testInstance), spec.timeout);
133
- let timeText = time_factor_1.TimeFactor(start.end(), spec.timeout);
126
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), spec.timeout);
127
+ let timeText = TimeFactor(start.end(), spec.timeout);
134
128
  log(`${OK_TEXT} ${timeText} ${testName}()`);
135
129
  }
136
130
  catch (e) {
137
- if (e === null || e === void 0 ? void 0 : e._nole_anchor) {
131
+ if (e?._nole_anchor) {
138
132
  let reason = e.reason;
139
133
  log(`${DYNAMIC_SKIP_TEXT} ${' '.repeat(8)} ${testName}() ${reason ? '{' + reason + '}' : ''}`);
140
134
  continue;
141
135
  }
142
- let timeText = time_factor_1.TimeFactor(start.end(), spec.timeout);
136
+ let timeText = TimeFactor(start.end(), spec.timeout);
143
137
  console.error(`${FAILED_TEXT} ${timeText} ${testName}()`);
144
- console.error((_a = e === null || e === void 0 ? void 0 : e.stack) !== null && _a !== void 0 ? _a : e);
138
+ console.error(e?.stack ?? e);
145
139
  throw e;
146
140
  }
147
141
  await HandleAfterEachHooks(test);
148
142
  }
149
143
  }
150
144
  async function HandleAfterHooks(test) {
151
- var _a;
152
145
  for (let [propertyKey, hook] of test.hooks.entries()) {
153
- if (hook.type != test_1.HookType.After)
146
+ if (hook.type != HookType.After)
154
147
  continue;
155
148
  try {
156
- await executor_1.Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
149
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
157
150
  }
158
151
  catch (e) {
159
152
  let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'after' ? `.${propertyKey}:after` : ':after')));
160
153
  console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
161
- console.error((_a = e === null || e === void 0 ? void 0 : e.stack) !== null && _a !== void 0 ? _a : e);
154
+ console.error(e?.stack ?? e);
162
155
  throw e;
163
156
  }
164
157
  }
165
158
  }
166
- async function HandleCleanUp(test) {
167
- var _a;
159
+ async function HandleCleanUp(test, log) {
168
160
  if (test.cleanUpCalled)
169
161
  return;
170
162
  if (!test.dependents.every(dependent => dependent.isFinished))
171
163
  return;
172
164
  test.cleanUpCalled = true;
173
165
  for (let [propertyKey, hook] of test.hooks.entries()) {
174
- if (hook.type != test_1.HookType.CleanUp)
166
+ if (hook.type != HookType.CleanUp)
175
167
  continue;
168
+ let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'cleanUp' ? `.${propertyKey}:cleanUp` : ':cleanUp')));
169
+ let start = TimeDifference.begin();
176
170
  try {
177
- await executor_1.Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
171
+ await Executor(test.testInstance[propertyKey].bind(test.testInstance), hook.timeout);
172
+ let timeText = TimeFactor(start.end(), hook.timeout);
173
+ log(`${OK_TEXT} ${timeText} ${hookName}()`);
178
174
  }
179
175
  catch (e) {
180
- let hookName = colors.bold(colors.yellow(test.name + (propertyKey != 'cleanUp' ? `.${propertyKey}:cleanUp` : ':cleanUp')));
181
176
  console.error(`${HOOK_FAILED_TEXT} ${hookName}()`);
182
- console.error((_a = e === null || e === void 0 ? void 0 : e.stack) !== null && _a !== void 0 ? _a : e);
177
+ console.error(e?.stack ?? e);
183
178
  throw e;
184
179
  }
185
180
  }
186
181
  for (let tree of test.dependencies) {
187
- HandleCleanUp(tree.dependency);
182
+ await HandleCleanUp(tree.dependency, log);
188
183
  }
189
184
  }
190
185
  function DependencyLock(hashMap) {
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare class RunTest {
2
+ evaluate(): Promise<void>;
3
+ }
4
+ //# sourceMappingURL=run.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.test.d.ts","sourceRoot":"","sources":["../src/run.test.ts"],"names":[],"mappings":"AAIA,qBAAa,OAAO;IAEZ,QAAQ;CAYf"}
@@ -0,0 +1,31 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { HashMap } from "./data.js";
11
+ import { Spec } from "./index.js";
12
+ import { ManualRun } from "./run.js";
13
+ export class RunTest {
14
+ async evaluate() {
15
+ const hashmap = HashMap();
16
+ const backup = new Map(hashmap);
17
+ hashmap.clear();
18
+ await ManualRun(console.log);
19
+ hashmap.clear();
20
+ for (const [key, value] of backup.entries()) {
21
+ hashmap.set(key, value);
22
+ }
23
+ }
24
+ }
25
+ __decorate([
26
+ Spec(),
27
+ __metadata("design:type", Function),
28
+ __metadata("design:paramtypes", []),
29
+ __metadata("design:returntype", Promise)
30
+ ], RunTest.prototype, "evaluate", null);
31
+ //# sourceMappingURL=run.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.test.js","sourceRoot":"","sources":["../src/run.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,OAAO,OAAO;IAElB,KAAK,CAAC,QAAQ;QACZ,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE;YAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACzB;IACH,CAAC;CACF;AAZC;IADC,IAAI,EAAE;;;;uCAYN"}
package/dist/test.d.ts CHANGED
@@ -21,6 +21,7 @@ export declare class Test {
21
21
  specs: Map<string, ISpec>;
22
22
  hooks: Map<string, IHook>;
23
23
  isFinished: boolean;
24
+ isFullyFinished: boolean;
24
25
  cleanUpCalled: boolean;
25
26
  testInstance: any;
26
27
  constructor(target: any);