xunit.ts 1.0.2 → 1.2.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 (172) hide show
  1. package/cli.ts +5 -5
  2. package/dist/cli.js.map +1 -1
  3. package/dist/src/Assertions/Contains.js +1 -1
  4. package/dist/src/Assertions/Contains.js.map +1 -1
  5. package/dist/src/Assertions/Count.js.map +1 -1
  6. package/dist/src/Assertions/Defined.js +2 -2
  7. package/dist/src/Assertions/Defined.js.map +1 -1
  8. package/dist/src/Assertions/DoesNotContain.js +1 -1
  9. package/dist/src/Assertions/DoesNotContain.js.map +1 -1
  10. package/dist/src/Assertions/DoesNotThrow.js +2 -2
  11. package/dist/src/Assertions/DoesNotThrow.js.map +1 -1
  12. package/dist/src/Assertions/Empty.js +1 -1
  13. package/dist/src/Assertions/Empty.js.map +1 -1
  14. package/dist/src/Assertions/Equal.js +1 -1
  15. package/dist/src/Assertions/Equal.js.map +1 -1
  16. package/dist/src/Assertions/False.js +1 -1
  17. package/dist/src/Assertions/False.js.map +1 -1
  18. package/dist/src/Assertions/InstanceOf.d.ts +1 -1
  19. package/dist/src/Assertions/InstanceOf.d.ts.map +1 -1
  20. package/dist/src/Assertions/InstanceOf.js.map +1 -1
  21. package/dist/src/Assertions/NotEmpty.js +2 -2
  22. package/dist/src/Assertions/NotEmpty.js.map +1 -1
  23. package/dist/src/Assertions/NotEqual.js +1 -1
  24. package/dist/src/Assertions/NotEqual.js.map +1 -1
  25. package/dist/src/Assertions/NotNull.js +2 -2
  26. package/dist/src/Assertions/NotNull.js.map +1 -1
  27. package/dist/src/Assertions/Null.js +1 -1
  28. package/dist/src/Assertions/Null.js.map +1 -1
  29. package/dist/src/Assertions/StringContains.js +1 -1
  30. package/dist/src/Assertions/StringContains.js.map +1 -1
  31. package/dist/src/Assertions/StringDoesNotContain.d.ts.map +1 -1
  32. package/dist/src/Assertions/StringDoesNotContain.js +1 -1
  33. package/dist/src/Assertions/StringDoesNotContain.js.map +1 -1
  34. package/dist/src/Assertions/StringDoesNotEndWith.js +1 -1
  35. package/dist/src/Assertions/StringDoesNotEndWith.js.map +1 -1
  36. package/dist/src/Assertions/StringDoesNotStartWith.d.ts.map +1 -1
  37. package/dist/src/Assertions/StringDoesNotStartWith.js +1 -1
  38. package/dist/src/Assertions/StringDoesNotStartWith.js.map +1 -1
  39. package/dist/src/Assertions/StringEndsWith.js +1 -1
  40. package/dist/src/Assertions/StringEndsWith.js.map +1 -1
  41. package/dist/src/Assertions/StringStartsWith.d.ts.map +1 -1
  42. package/dist/src/Assertions/StringStartsWith.js +1 -1
  43. package/dist/src/Assertions/StringStartsWith.js.map +1 -1
  44. package/dist/src/Assertions/Throws.js +1 -1
  45. package/dist/src/Assertions/Throws.js.map +1 -1
  46. package/dist/src/Assertions/True.js +1 -1
  47. package/dist/src/Assertions/True.js.map +1 -1
  48. package/dist/src/Assertions/Undefined.js +1 -1
  49. package/dist/src/Assertions/Undefined.js.map +1 -1
  50. package/dist/src/Assertions/index.d.ts +22 -22
  51. package/dist/src/Assertions/index.d.ts.map +1 -1
  52. package/dist/src/Assertions/index.js.map +1 -1
  53. package/dist/src/CLI.d.ts +1 -0
  54. package/dist/src/CLI.d.ts.map +1 -1
  55. package/dist/src/CLI.js +19 -8
  56. package/dist/src/CLI.js.map +1 -1
  57. package/dist/src/Factory.d.ts +4 -4
  58. package/dist/src/Factory.d.ts.map +1 -1
  59. package/dist/src/Factory.js.map +1 -1
  60. package/dist/src/Framework/ResultType.d.ts.map +1 -1
  61. package/dist/src/Framework/ResultType.js.map +1 -1
  62. package/dist/src/Framework/Test.d.ts.map +1 -1
  63. package/dist/src/Framework/Test.js.map +1 -1
  64. package/dist/src/Framework/TestName.d.ts.map +1 -1
  65. package/dist/src/Framework/TestName.js.map +1 -1
  66. package/dist/src/Framework/TestResult.d.ts.map +1 -1
  67. package/dist/src/Framework/TestResult.js.map +1 -1
  68. package/dist/src/Framework/TestSuite.d.ts +3 -2
  69. package/dist/src/Framework/TestSuite.d.ts.map +1 -1
  70. package/dist/src/Framework/TestSuite.js +12 -2
  71. package/dist/src/Framework/TestSuite.js.map +1 -1
  72. package/dist/src/Framework/TestSuiteResults.d.ts +1 -1
  73. package/dist/src/Framework/TestSuiteResults.d.ts.map +1 -1
  74. package/dist/src/Framework/TestSuiteResults.js.map +1 -1
  75. package/dist/src/IO/FileSystem.d.ts +2 -2
  76. package/dist/src/IO/FileSystem.d.ts.map +1 -1
  77. package/dist/src/IO/FileSystem.js +6 -6
  78. package/dist/src/IO/FileSystem.js.map +1 -1
  79. package/dist/src/IO/Output.d.ts.map +1 -1
  80. package/dist/src/IO/Output.js.map +1 -1
  81. package/dist/src/Reporters/ConsoleReporter.d.ts.map +1 -1
  82. package/dist/src/Reporters/ConsoleReporter.js +8 -7
  83. package/dist/src/Reporters/ConsoleReporter.js.map +1 -1
  84. package/dist/src/Reporters/FileReporter.d.ts.map +1 -1
  85. package/dist/src/Reporters/FileReporter.js +1 -0
  86. package/dist/src/Reporters/FileReporter.js.map +1 -1
  87. package/dist/src/Reporters/JUnitReporter.d.ts +2 -2
  88. package/dist/src/Reporters/JUnitReporter.d.ts.map +1 -1
  89. package/dist/src/Reporters/JUnitReporter.js +7 -7
  90. package/dist/src/Reporters/JUnitReporter.js.map +1 -1
  91. package/dist/src/Reporters/ResultReporter.d.ts +3 -3
  92. package/dist/src/Reporters/ResultReporter.d.ts.map +1 -1
  93. package/dist/src/Reporters/SonarReporter.d.ts +2 -2
  94. package/dist/src/Reporters/SonarReporter.d.ts.map +1 -1
  95. package/dist/src/Reporters/SonarReporter.js +16 -16
  96. package/dist/src/Reporters/SonarReporter.js.map +1 -1
  97. package/dist/src/Reporters/XMLReporter.d.ts.map +1 -1
  98. package/dist/src/Reporters/XMLReporter.js.map +1 -1
  99. package/dist/src/Runners/Runner.d.ts +3 -3
  100. package/dist/src/Runners/Runner.d.ts.map +1 -1
  101. package/dist/src/Runners/Runner.js +8 -8
  102. package/dist/src/Runners/Runner.js.map +1 -1
  103. package/dist/src/Runners/TestRunner.d.ts +4 -4
  104. package/dist/src/Runners/TestRunner.d.ts.map +1 -1
  105. package/dist/src/Runners/TestRunner.js +4 -4
  106. package/dist/src/Runners/TestRunner.js.map +1 -1
  107. package/dist/src/Runners/TestSuiteLoader.d.ts +4 -4
  108. package/dist/src/Runners/TestSuiteLoader.d.ts.map +1 -1
  109. package/dist/src/Runners/TestSuiteLoader.js +28 -20
  110. package/dist/src/Runners/TestSuiteLoader.js.map +1 -1
  111. package/dist/src/Runners/TestSuiteRunner.d.ts +6 -6
  112. package/dist/src/Runners/TestSuiteRunner.d.ts.map +1 -1
  113. package/dist/src/Runners/TestSuiteRunner.js +3 -3
  114. package/dist/src/Runners/TestSuiteRunner.js.map +1 -1
  115. package/dist/xunit.d.ts +3 -3
  116. package/dist/xunit.d.ts.map +1 -1
  117. package/dist/xunit.js.map +1 -1
  118. package/package.json +39 -37
  119. package/src/Assertions/Contains.ts +10 -10
  120. package/src/Assertions/Count.ts +11 -11
  121. package/src/Assertions/Defined.ts +11 -11
  122. package/src/Assertions/DoesNotContain.ts +11 -11
  123. package/src/Assertions/DoesNotThrow.ts +13 -13
  124. package/src/Assertions/Empty.ts +11 -11
  125. package/src/Assertions/Equal.ts +12 -12
  126. package/src/Assertions/False.ts +11 -11
  127. package/src/Assertions/InstanceOf.ts +2 -2
  128. package/src/Assertions/NotEmpty.ts +11 -11
  129. package/src/Assertions/NotEqual.ts +12 -12
  130. package/src/Assertions/NotNull.ts +11 -11
  131. package/src/Assertions/Null.ts +11 -11
  132. package/src/Assertions/StringContains.ts +11 -11
  133. package/src/Assertions/StringDoesNotContain.ts +12 -12
  134. package/src/Assertions/StringDoesNotEndWith.ts +13 -13
  135. package/src/Assertions/StringDoesNotStartWith.ts +12 -12
  136. package/src/Assertions/StringEndsWith.ts +13 -13
  137. package/src/Assertions/StringStartsWith.ts +12 -12
  138. package/src/Assertions/Throws.ts +11 -11
  139. package/src/Assertions/True.ts +11 -11
  140. package/src/Assertions/Undefined.ts +12 -12
  141. package/src/Assertions/index.ts +45 -45
  142. package/src/CLI.ts +96 -85
  143. package/src/Factory.ts +25 -25
  144. package/src/Framework/ResultType.ts +4 -4
  145. package/src/Framework/Test.ts +6 -6
  146. package/src/Framework/TestName.ts +7 -7
  147. package/src/Framework/TestResult.ts +3 -2
  148. package/src/Framework/TestSuite.ts +29 -18
  149. package/src/Framework/TestSuiteResults.ts +17 -16
  150. package/src/IO/FileSystem.ts +28 -29
  151. package/src/IO/Output.ts +21 -20
  152. package/src/Reporters/ConsoleReporter.ts +88 -87
  153. package/src/Reporters/FileReporter.ts +29 -29
  154. package/src/Reporters/JUnitReporter.ts +80 -80
  155. package/src/Reporters/ResultReporter.ts +20 -12
  156. package/src/Reporters/SonarReporter.ts +86 -86
  157. package/src/Reporters/XMLReporter.ts +6 -6
  158. package/src/Runners/Runner.ts +21 -21
  159. package/src/Runners/TestRunner.ts +34 -33
  160. package/src/Runners/TestSuiteLoader.ts +51 -45
  161. package/src/Runners/TestSuiteRunner.ts +27 -26
  162. package/tsconfig.json +23 -26
  163. package/xunit.ts +6 -6
  164. package/.editorconfig +0 -24
  165. package/CODE_OF_CONDUCT.md +0 -128
  166. package/CONTRIBUTING.md +0 -26
  167. package/LICENSE +0 -21
  168. package/README.md +0 -132
  169. package/SECURITY.md +0 -11
  170. package/icon.svg +0 -83
  171. package/logo.svg +0 -154
  172. package/sonar-project.properties +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunner.d.ts","sourceRoot":"","sources":["../../../src/Runners/TestRunner.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,UAAU;IAEf,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC;IAE/D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IA2BlF,OAAO,CAAC,MAAM,CAAC,OAAO;CAIzB"}
1
+ {"version":3,"file":"TestRunner.d.ts","sourceRoot":"","sources":["../../../src/Runners/TestRunner.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,UAAU,MAAM,yBAAyB,CAAC;AAGjD,MAAM,CAAC,OAAO,OAAO,UAAU;IAElB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC;IAGrE,OAAO,CAAC,MAAM,CAAC,OAAO;IAKhB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;CA0BlF"}
@@ -19,6 +19,10 @@ class TestRunner {
19
19
  constructor(reporters) {
20
20
  this.reporters = reporters;
21
21
  }
22
+ static msSince(start) {
23
+ const duration = process.hrtime(start);
24
+ return duration[0] * 1000 + duration[1] / 1000000;
25
+ }
22
26
  runTest(name, info, suite) {
23
27
  return __awaiter(this, void 0, void 0, function* () {
24
28
  yield Promise.all(this.reporters.map(r => r.testStarted(suite, name)));
@@ -45,10 +49,6 @@ class TestRunner {
45
49
  }
46
50
  });
47
51
  }
48
- static msSince(start) {
49
- const duration = process.hrtime(start);
50
- return duration[0] * 1000 + duration[1] / 1000000;
51
- }
52
52
  }
53
53
  exports.default = TestRunner;
54
54
  //# sourceMappingURL=TestRunner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestRunner.js","sourceRoot":"","sources":["../../../src/Runners/TestRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,wDAAqD;AAErD,yEAAiD;AACjD,mCAAsC;AAEtC,MAAqB,UAAU;IAE3B,YAA6B,SAAwC;QAAxC,cAAS,GAAT,SAAS,CAA+B;IAAI,CAAC;IAEpE,OAAO,CAAC,IAAY,EAAE,IAAc,EAAE,KAAgB;;YACxD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1E,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aACnD;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI;gBACA,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChF,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aAEtD;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,KAAc,CAAC;gBAClC,IAAI,UAAU,YAAY,uBAAc,EAAE;oBACtC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC5F,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iBAClE;gBAED,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7F,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aACjE;QACL,CAAC;KAAA;IAEO,MAAM,CAAC,OAAO,CAAC,KAAuB;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAS,CAAC;IACzD,CAAC;CACJ;AAnCD,6BAmCC"}
1
+ {"version":3,"file":"TestRunner.js","sourceRoot":"","sources":["../../../src/Runners/TestRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,wDAAqD;AAErD,yEAAiD;AACjD,mCAAwC;AAExC,MAAqB,UAAU;IAE9B,YAA6B,SAAwC;QAAxC,cAAS,GAAT,SAAS,CAA+B;IACrE,CAAC;IAEO,MAAM,CAAC,OAAO,CAAC,KAAyB;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAS,CAAC;IACtD,CAAC;IAEK,OAAO,CAAC,IAAY,EAAE,IAAc,EAAE,KAAgB;;YAC3D,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC1E,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aAChD;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/B,IAAI;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAChF,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;aAEnD;YAAC,OAAO,KAAK,EAAE;gBACf,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,MAAM,UAAU,GAAG,KAAc,CAAC;gBAClC,IAAI,UAAU,YAAY,uBAAc,EAAE;oBACzC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC5F,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iBAC/D;gBAED,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7F,OAAO,IAAI,oBAAU,CAAC,uBAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC9D;QACF,CAAC;KAAA;CACD;AApCD,6BAoCC"}
@@ -1,11 +1,11 @@
1
- import TestSuite from '../Framework/TestSuite';
2
- import FileSystem from '../IO/FileSystem';
1
+ import TestSuite from "../Framework/TestSuite";
2
+ import FileSystem from "../IO/FileSystem";
3
3
  export default class TestSuiteLoader {
4
4
  private readonly file_system;
5
5
  constructor(file_system: FileSystem);
6
- loadTestSuites(dir: string): Promise<Record<string, TestSuite>>;
7
- static loadTestSuite(file: string): Promise<TestSuite | null>;
6
+ static loadTestSuite(file: string, filters: RegExp[]): Promise<TestSuite | null>;
8
7
  static getModulePath(current_dir: string, file: string): string;
9
8
  static isFromNodeModules(dir: string): boolean;
9
+ loadTestSuites(dir: string, filters: RegExp[]): Promise<Record<string, TestSuite>>;
10
10
  }
11
11
  //# sourceMappingURL=TestSuiteLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestSuiteLoader.d.ts","sourceRoot":"","sources":["../../../src/Runners/TestSuiteLoader.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,eAAe;IAEpB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,UAAU;IAE9C,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;WAaxD,aAAa,CAAC,IAAI,EAAE,MAAM;IAavC,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAWtD,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM;CAGvC"}
1
+ {"version":3,"file":"TestSuiteLoader.d.ts","sourceRoot":"","sources":["../../../src/Runners/TestSuiteLoader.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAG1C,MAAM,CAAC,OAAO,OAAO,eAAe;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,UAAU;WAGvC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;IAiB1D,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAWtD,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM;IAI9B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAcxF"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -38,28 +42,18 @@ class TestSuiteLoader {
38
42
  constructor(file_system) {
39
43
  this.file_system = file_system;
40
44
  }
41
- loadTestSuites(dir) {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- const files = (yield this.file_system.getFiles(dir))
44
- .filter((file) => FileSystem_1.default.extension(file) === FileSystem_1.default.extension(__filename));
45
- const suites = {};
46
- for (const file of files) {
47
- const suite = yield TestSuiteLoader.loadTestSuite(file);
48
- if (suite !== undefined && suite !== null) {
49
- suites[file] = suite;
50
- }
51
- }
52
- return suites;
53
- });
54
- }
55
- static loadTestSuite(file) {
45
+ static loadTestSuite(file, filters) {
46
+ var _a, _b;
56
47
  return __awaiter(this, void 0, void 0, function* () {
57
48
  const module_path = TestSuiteLoader.getModulePath(__dirname, file);
58
49
  const test_class = yield Promise.resolve().then(() => __importStar(require(module_path)));
59
- if (!(test_class.default.prototype instanceof TestSuite_1.default)) {
50
+ if (!(((_a = test_class.default) === null || _a === void 0 ? void 0 : _a.prototype) instanceof TestSuite_1.default)) {
51
+ return null;
52
+ }
53
+ const tests = (_b = test_class.default) === null || _b === void 0 ? void 0 : _b.prototype.getTests(filters);
54
+ if (tests === undefined || Object.keys(tests).length === 0) {
60
55
  return null;
61
56
  }
62
- const tests = test_class.default.prototype.getTests();
63
57
  const suite = new test_class.default();
64
58
  suite.setTests(tests);
65
59
  return suite;
@@ -71,12 +65,26 @@ class TestSuiteLoader {
71
65
  : `..${path_1.default.sep}..${path_1.default.sep}..`;
72
66
  const extension = FileSystem_1.default.extension(file);
73
67
  const module_name = extension.length > 0
74
- ? file.substr(0, file.length - extension.length - 1)
68
+ ? file.substring(0, file.length - extension.length - 1)
75
69
  : file;
76
70
  return `${root}${path_1.default.sep}${module_name}`;
77
71
  }
78
72
  static isFromNodeModules(dir) {
79
- return dir.indexOf('node_modules') !== -1;
73
+ return dir.indexOf("node_modules") !== -1;
74
+ }
75
+ loadTestSuites(dir, filters) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const suites = {};
78
+ const files = (yield this.file_system.getFiles(dir))
79
+ .filter((file) => FileSystem_1.default.extension(file) === FileSystem_1.default.extension(__filename));
80
+ for (const file of files) {
81
+ const suite = yield TestSuiteLoader.loadTestSuite(file, filters);
82
+ if (suite !== undefined && suite !== null) {
83
+ suites[file] = suite;
84
+ }
85
+ }
86
+ return suites;
87
+ });
80
88
  }
81
89
  }
82
90
  exports.default = TestSuiteLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"TestSuiteLoader.js","sourceRoot":"","sources":["../../../src/Runners/TestSuiteLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA+C;AAC/C,kEAA0C;AAC1C,gDAAwB;AAExB,MAAqB,eAAe;IAEhC,YAA6B,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;IAAI,CAAC;IAEnD,cAAc,CAAC,GAAW;;YAC5B,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,oBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YACvF,MAAM,MAAM,GAA8B,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;oBACvC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;iBACxB;aACJ;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAED,MAAM,CAAO,aAAa,CAAC,IAAY;;YACnC,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,wDAAa,WAAW,GAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,YAAY,mBAAS,CAAC,EAAE;gBACtD,OAAO,IAAI,CAAC;aACf;YAED,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACtD,MAAM,KAAK,GAAc,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAClD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;KAAA;IAED,MAAM,CAAC,aAAa,CAAC,WAAmB,EAAE,IAAY;QAClD,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,CAAC,CAAC,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,IAAI;YAC1D,CAAC,CAAC,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,IAAI,CAAC;QACrC,MAAM,SAAS,GAAG,oBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC;QACX,OAAO,GAAG,IAAI,GAAG,cAAI,CAAC,GAAG,GAAG,WAAW,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAW;QAChC,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;CACJ;AA5CD,kCA4CC"}
1
+ {"version":3,"file":"TestSuiteLoader.js","sourceRoot":"","sources":["../../../src/Runners/TestSuiteLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAA+C;AAC/C,kEAA0C;AAC1C,gDAAwB;AAExB,MAAqB,eAAe;IACnC,YAA6B,WAAuB;QAAvB,gBAAW,GAAX,WAAW,CAAY;IACpD,CAAC;IAED,MAAM,CAAO,aAAa,CAAC,IAAY,EAAE,OAAiB;;;YACzD,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,UAAU,GAAG,wDAAa,WAAW,GAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,SAAS,aAAY,mBAAS,CAAC,EAAE;gBAC1D,OAAO,IAAI,CAAC;aACZ;YAED,MAAM,KAAK,GAAG,MAAA,UAAU,CAAC,OAAO,0CAAE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3D,OAAO,IAAI,CAAC;aACZ;YAED,MAAM,KAAK,GAAc,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAClD,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC;;KACb;IAED,MAAM,CAAC,aAAa,CAAC,WAAmB,EAAE,IAAY;QACrD,MAAM,IAAI,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACxE,CAAC,CAAC,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,IAAI;YAC1D,CAAC,CAAC,KAAK,cAAI,CAAC,GAAG,KAAK,cAAI,CAAC,GAAG,IAAI,CAAC;QAClC,MAAM,SAAS,GAAG,oBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACvD,CAAC,CAAC,IAAI,CAAC;QACR,OAAO,GAAG,IAAI,GAAG,cAAI,CAAC,GAAG,GAAG,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAAW;QACnC,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEK,cAAc,CAAC,GAAW,EAAE,OAAiB;;YAClD,MAAM,MAAM,GAA8B,EAAE,CAAC;YAE7C,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;iBAClD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,oBAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;YAEpF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACzB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;oBAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;iBACrB;aACD;YACD,OAAO,MAAM,CAAC;QACf,CAAC;KAAA;CACD;AAlDD,kCAkDC"}
@@ -1,13 +1,13 @@
1
- import ResultReporter from '../Reporters/ResultReporter';
2
- import TestSuite from '../Framework/TestSuite';
3
- import TestSuiteResults from '../Framework/TestSuiteResults';
4
- import TestInfo from '../Framework/TestInfo';
5
- import TestRunner from './TestRunner';
1
+ import ResultReporter from "../Reporters/ResultReporter";
2
+ import TestSuite from "../Framework/TestSuite";
3
+ import TestSuiteResults from "../Framework/TestSuiteResults";
4
+ import TestInfo from "../Framework/TestInfo";
5
+ import TestRunner from "./TestRunner";
6
6
  export default class TestSuiteRunner {
7
7
  private readonly runner;
8
8
  private readonly reporters;
9
9
  constructor(runner: TestRunner, reporters: ReadonlyArray<ResultReporter>);
10
- runSuite(suite: TestSuite): Promise<TestSuiteResults>;
10
+ runSuite(suite: TestSuite, filters: RegExp[]): Promise<TestSuiteResults>;
11
11
  runTests(suite: TestSuite, tests: Record<string, TestInfo>): Promise<TestSuiteResults>;
12
12
  }
13
13
  //# sourceMappingURL=TestSuiteRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TestSuiteRunner.d.ts","sourceRoot":"","sources":["../../../src/Runners/TestSuiteRunner.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAe;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAc,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAA9C,MAAM,EAAE,UAAU,EAAmB,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC;IAEpG,QAAQ,CAAC,KAAK,EAAE,SAAS;IAQzB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;CAenE"}
1
+ {"version":3,"file":"TestSuiteRunner.d.ts","sourceRoot":"","sources":["../../../src/Runners/TestSuiteRunner.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAC7D,OAAO,QAAQ,MAAM,uBAAuB,CAAC;AAC7C,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,eAAe;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAc,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAA9C,MAAM,EAAE,UAAU,EAAmB,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC;IAGpG,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE;IAQ5C,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;CAehE"}
@@ -18,10 +18,10 @@ class TestSuiteRunner {
18
18
  this.runner = runner;
19
19
  this.reporters = reporters;
20
20
  }
21
- runSuite(suite) {
21
+ runSuite(suite, filters) {
22
22
  return __awaiter(this, void 0, void 0, function* () {
23
23
  yield Promise.all(this.reporters.map(r => r.suiteStarted(suite)));
24
- const tests = suite.getTests();
24
+ const tests = suite.getTests(filters);
25
25
  const results = yield this.runTests(suite, tests);
26
26
  yield Promise.all(this.reporters.map(r => r.suiteCompleted(suite, results)));
27
27
  return results;
@@ -31,7 +31,7 @@ class TestSuiteRunner {
31
31
  return __awaiter(this, void 0, void 0, function* () {
32
32
  const results = new TestSuiteResults_1.default(suite);
33
33
  if (tests === undefined || tests === null || Object.keys(tests).length === 0) {
34
- yield Promise.all(this.reporters.map(r => r.testIncomplete(suite, '(no tests found)')));
34
+ yield Promise.all(this.reporters.map(r => r.testIncomplete(suite, "(no tests found)")));
35
35
  return results;
36
36
  }
37
37
  const test_names = Object.keys(tests);
@@ -1 +1 @@
1
- {"version":3,"file":"TestSuiteRunner.js","sourceRoot":"","sources":["../../../src/Runners/TestSuiteRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,qFAA6D;AAI7D,MAAqB,eAAe;IAEhC,YAA6B,MAAkB,EAAmB,SAAwC;QAA7E,WAAM,GAAN,MAAM,CAAY;QAAmB,cAAS,GAAT,SAAS,CAA+B;IAAI,CAAC;IAEzG,QAAQ,CAAC,KAAgB;;YAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAgB,EAAE,KAA+B;;YAC5D,MAAM,OAAO,GAAG,IAAI,0BAAgB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC1E,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACxF,OAAO,OAAO,CAAC;aAClB;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;gBAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACnC;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;CACJ;AA3BD,kCA2BC"}
1
+ {"version":3,"file":"TestSuiteRunner.js","sourceRoot":"","sources":["../../../src/Runners/TestSuiteRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,qFAA6D;AAI7D,MAAqB,eAAe;IAEnC,YAA6B,MAAkB,EAAmB,SAAwC;QAA7E,WAAM,GAAN,MAAM,CAAY;QAAmB,cAAS,GAAT,SAAS,CAA+B;IAC1G,CAAC;IAEK,QAAQ,CAAC,KAAgB,EAAE,OAAiB;;YACjD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO,OAAO,CAAC;QAChB,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAgB,EAAE,KAA+B;;YAC/D,MAAM,OAAO,GAAG,IAAI,0BAAgB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7E,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACxF,OAAO,OAAO,CAAC;aACf;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aAChC;YAED,OAAO,OAAO,CAAC;QAChB,CAAC;KAAA;CACD;AA5BD,kCA4BC"}
package/dist/xunit.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import Test from './src/Framework/Test';
2
- import TestSuite from './src/Framework/TestSuite';
3
- import Assert from './src/Assertions';
1
+ import Test from "./src/Framework/Test";
2
+ import TestSuite from "./src/Framework/TestSuite";
3
+ import Assert from "./src/Assertions";
4
4
  export { Test, TestSuite, Assert };
5
5
  //# sourceMappingURL=xunit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"xunit.d.ts","sourceRoot":"","sources":["../xunit.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EACH,IAAI,EACJ,SAAS,EACT,MAAM,EACT,CAAC"}
1
+ {"version":3,"file":"xunit.d.ts","sourceRoot":"","sources":["../xunit.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,sBAAsB,CAAC;AACxC,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EACN,IAAI,EACJ,SAAS,EACT,MAAM,EACN,CAAC"}
package/dist/xunit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"xunit.js","sourceRoot":"","sources":["../xunit.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAwC;AAKpC,eALG,cAAI,CAKH;AAJR,0EAAkD;AAK9C,oBALG,mBAAS,CAKH;AAJb,kEAAsC;AAKlC,iBALG,oBAAM,CAKH"}
1
+ {"version":3,"file":"xunit.js","sourceRoot":"","sources":["../xunit.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAwC;AAKvC,eALM,cAAI,CAKN;AAJL,0EAAkD;AAKjD,oBALM,mBAAS,CAKN;AAJV,kEAAsC;AAKrC,iBALM,oBAAM,CAKN"}
package/package.json CHANGED
@@ -1,38 +1,40 @@
1
1
  {
2
- "name": "xunit.ts",
3
- "version": "1.0.2",
4
- "description": "A unit testing framework for TypeScript, following standard xUnit patterns",
5
- "main": "dist/xunit.js",
6
- "author": "ecoAPM LLC",
7
- "homepage": "https://github.com/ecoAPM/xunit.ts",
8
- "bugs": "https://github.com/ecoAPM/xunit.ts/issues",
9
- "license": "MIT",
10
- "dependencies": {
11
- "colors": "1.4.0",
12
- "command-line-args": "5.2.0",
13
- "command-line-usage": "6.1.1",
14
- "lodash.isequal": "4.5.0",
15
- "typescript": "4.5.2",
16
- "xml": "1.0.1"
17
- },
18
- "devDependencies": {
19
- "@microsoft/tsdoc": "0.13.2",
20
- "@types/command-line-args": "5.2.0",
21
- "@types/command-line-usage": "5.0.2",
22
- "@types/lodash.isequal": "4.5.5",
23
- "@types/node": "16.11.10",
24
- "@types/xml": "1.0.6",
25
- "notosans": "5.0.0",
26
- "ts-mockito": "2.6.1",
27
- "ts-node": "10.4.0"
28
- },
29
- "scripts": {
30
- "clean": "rm -rf dist",
31
- "build": "tsc",
32
- "test": "node dist/cli.js dist/tests",
33
- "tsdoc": "cp -r node_modules/notosans/* docs/assets && ts-node tsdoc.ts"
34
- },
35
- "bin": {
36
- "xunit": "dist/cli.js"
37
- }
38
- }
2
+ "name": "xunit.ts",
3
+ "version": "1.2.0",
4
+ "description": "A unit testing framework for TypeScript, following standard xUnit patterns",
5
+ "main": "dist/xunit.js",
6
+ "author": "ecoAPM LLC",
7
+ "homepage": "https://github.com/ecoAPM/xunit.ts",
8
+ "bugs": "https://github.com/ecoAPM/xunit.ts/issues",
9
+ "license": "MIT",
10
+ "dependencies": {
11
+ "colors": "1.4.0",
12
+ "command-line-args": "5.2.1",
13
+ "command-line-usage": "6.1.3",
14
+ "lodash.isequal": "4.5.0",
15
+ "xml": "1.0.1"
16
+ },
17
+ "devDependencies": {
18
+ "@types/command-line-args": "5.2.0",
19
+ "@types/command-line-usage": "5.0.2",
20
+ "@types/lodash.isequal": "4.5.6",
21
+ "@types/node": "17.0.41",
22
+ "@types/xml": "1.0.8",
23
+ "@typescript-eslint/eslint-plugin": "5.27.1",
24
+ "@typescript-eslint/parser": "5.27.1",
25
+ "eslint": "8.17.0",
26
+ "ts-mockito": "2.6.1",
27
+ "typescript": "4.7.3"
28
+ },
29
+ "peerDependencies": {
30
+ "typescript": "^4.0.0"
31
+ },
32
+ "scripts": {
33
+ "clean": "rm -rf dist",
34
+ "build": "tsc",
35
+ "test": "node dist/cli.js dist/tests"
36
+ },
37
+ "bin": {
38
+ "xunit": "dist/cli.js"
39
+ }
40
+ }
@@ -2,10 +2,10 @@ import { AssertionError } from "assert";
2
2
 
3
3
  /**
4
4
  * Asserts that an array contains a given element
5
- *
5
+ *
6
6
  * @remarks
7
7
  * Passes if array `haystack` contains an element with a value of `needle`
8
- *
8
+ *
9
9
  * Fails if array `haystack` does not contain an element with a value of `needle`
10
10
  *
11
11
  * @param needle the element to find
@@ -16,13 +16,13 @@ import { AssertionError } from "assert";
16
16
  * this.assert.contains(needle, haystack);
17
17
  */
18
18
  export default function Contains<T>(needle: T, haystack: ReadonlyArray<T>, message?: string) {
19
- if(haystack.includes(needle)) {
20
- return;
21
- }
19
+ if (haystack.includes(needle)) {
20
+ return;
21
+ }
22
22
 
23
- throw new AssertionError({
24
- message: message || 'Expected array containing expression, but array did not contain expression',
25
- expected: needle,
26
- actual: haystack
27
- });
23
+ throw new AssertionError({
24
+ message: message || "Expected array containing expression, but array did not contain expression",
25
+ expected: needle,
26
+ actual: haystack
27
+ });
28
28
  }
@@ -2,27 +2,27 @@ import { AssertionError } from "assert";
2
2
 
3
3
  /**
4
4
  * Asserts that an array contains a certain number of elements
5
- *
5
+ *
6
6
  * @remarks
7
7
  * Passes if `array` contains `expected` number of elements
8
- *
8
+ *
9
9
  * Fails if `array` does not contain `expected` number of elements
10
10
  *
11
11
  * @param expected the number of array elements expected
12
12
  * @param array the array to check the length of
13
13
  * @param message (optional) message to display on failure
14
- *
14
+ *
15
15
  * @example
16
16
  * this.assert.count(expected, array);
17
17
  */
18
18
  export default function Count(expected: number, array: ReadonlyArray<any>, message?: string) {
19
- if(array.length === expected) {
20
- return;
21
- }
19
+ if (array.length === expected) {
20
+ return;
21
+ }
22
22
 
23
- throw new AssertionError({
24
- message: message || `Expected array with ${expected} elements, but array had ${array.length} elements`,
25
- expected: expected,
26
- actual: array.length
27
- });
23
+ throw new AssertionError({
24
+ message: message || `Expected array with ${expected} elements, but array had ${array.length} elements`,
25
+ expected: expected,
26
+ actual: array.length
27
+ });
28
28
  }
@@ -2,26 +2,26 @@ import { AssertionError } from "assert";
2
2
 
3
3
  /**
4
4
  * Asserts that a value is defined (any value other than `undefined`)
5
- *
5
+ *
6
6
  * @remarks
7
7
  * Passes if `expression` does not evaluate to `undefined`
8
- *
8
+ *
9
9
  * Fails if `expression` evaluates to `undefined`
10
10
  *
11
11
  * @param expression the value to check
12
12
  * @param message (optional) message to display on failure
13
- *
13
+ *
14
14
  * @example
15
15
  * this.assert.defined(expression);
16
16
  */
17
17
  export default function Defined(expression: any, message?: string) {
18
- if(expression !== undefined) {
19
- return;
20
- }
18
+ if (expression !== undefined) {
19
+ return;
20
+ }
21
21
 
22
- throw new AssertionError({
23
- message: message || 'Expected expression to be defined, but expression is undefined',
24
- expected: '(not undefined expression)',
25
- actual: expression
26
- });
22
+ throw new AssertionError({
23
+ message: message || "Expected expression to be defined, but expression is undefined",
24
+ expected: "(not undefined expression)",
25
+ actual: expression
26
+ });
27
27
  }
@@ -2,27 +2,27 @@ import { AssertionError } from "assert";
2
2
 
3
3
  /**
4
4
  * Asserts that an array does not contain a given element
5
- *
5
+ *
6
6
  * @remarks
7
7
  * Passes if array `haystack` does not contain an element with a value of `needle`
8
- *
8
+ *
9
9
  * Fails if array `haystack` contains an element with a value of `needle`
10
10
  *
11
11
  * @param needle the element to find
12
12
  * @param haystack the array to search
13
13
  * @param message (optional) message to display on failure
14
- *
14
+ *
15
15
  * @example
16
16
  * this.assert.doesNotContain(needle, haystack);
17
17
  */
18
18
  export default function DoesNotContain<T>(needle: T, haystack: ReadonlyArray<T>, message?: string) {
19
- if(!haystack.includes(needle)) {
20
- return;
21
- }
19
+ if (!haystack.includes(needle)) {
20
+ return;
21
+ }
22
22
 
23
- throw new AssertionError({
24
- message: message || 'Expected array not containing expression, but array contained expression',
25
- expected: needle,
26
- actual: haystack
27
- });
23
+ throw new AssertionError({
24
+ message: message || "Expected array not containing expression, but array contained expression",
25
+ expected: needle,
26
+ actual: haystack
27
+ });
28
28
  }
@@ -2,27 +2,27 @@ import { AssertionError } from "assert";
2
2
 
3
3
  /**
4
4
  * Asserts that an expression does not throw an error/exception
5
- *
5
+ *
6
6
  * @remarks
7
7
  * Passes if calling `expression` does not throw an error/exception
8
- *
8
+ *
9
9
  * Fails if calling `expression` throws an error/exception
10
10
  *
11
11
  * @param expression the expression to run
12
12
  * @param message (optional) message to display on failure
13
- *
13
+ *
14
14
  * @example
15
15
  * this.assert.doesNotThrow(() => expression);
16
16
  */
17
17
  export default function DoesNotThrow(expression: () => any, message?: string) {
18
- try {
19
- expression();
20
- return;
21
- } catch (exception) {
22
- throw new AssertionError({
23
- message: message || 'Expected expression to not throw exception, but expression did throw exception',
24
- expected: '(no exception)',
25
- actual: exception
26
- });
27
- }
18
+ try {
19
+ expression();
20
+ return;
21
+ } catch (exception) {
22
+ throw new AssertionError({
23
+ message: message || "Expected expression to not throw exception, but expression did throw exception",
24
+ expected: "(no exception)",
25
+ actual: exception
26
+ });
27
+ }
28
28
  }
@@ -2,26 +2,26 @@ import { AssertionError } from "assert";
2
2
 
3
3
  /**
4
4
  * Asserts that an array is empty
5
- *
5
+ *
6
6
  * @remarks
7
7
  * Passes if `array` contains zero elements
8
- *
8
+ *
9
9
  * Fails if `array` contains any elements
10
10
  *
11
11
  * @param array the array to check
12
12
  * @param message (optional) message to display on failure
13
- *
13
+ *
14
14
  * @example
15
15
  * this.assert.empty(array);
16
16
  */
17
17
  export default function Empty(array: ReadonlyArray<any>, message?: string) {
18
- if(array.length === 0) {
19
- return;
20
- }
18
+ if (array.length === 0) {
19
+ return;
20
+ }
21
21
 
22
- throw new AssertionError({
23
- message: message || 'Expected expression to be empty, but expression was not empty',
24
- expected: [],
25
- actual: array
26
- })
22
+ throw new AssertionError({
23
+ message: message || "Expected expression to be empty, but expression was not empty",
24
+ expected: [],
25
+ actual: array
26
+ });
27
27
  }
@@ -1,14 +1,14 @@
1
1
  import { AssertionError } from "assert";
2
- import equal from 'lodash.isequal';
2
+ import equal from "lodash.isequal";
3
3
 
4
4
  /**
5
5
  * Asserts that two values are equal
6
- *
6
+ *
7
7
  * @remarks
8
8
  * Passes if `actual` and `expected` evaluate to equal values
9
- *
9
+ *
10
10
  * Fails if `actual` and `expected` do not evaluate to equal values
11
- *
11
+ *
12
12
  * @param expected the expected value
13
13
  * @param actual the actual value
14
14
  * @param message (optional) message to display on failure
@@ -17,13 +17,13 @@ import equal from 'lodash.isequal';
17
17
  * this.assert.equal(expected, actual);
18
18
  */
19
19
  export default function Equal(expected: any, actual: any, message?: string) {
20
- if(equal(actual, expected)) {
21
- return;
22
- }
20
+ if (equal(actual, expected)) {
21
+ return;
22
+ }
23
23
 
24
- throw new AssertionError({
25
- message: message || 'Expected expressions to be equal, but expressions are not equal',
26
- expected: expected,
27
- actual: actual,
28
- });
24
+ throw new AssertionError({
25
+ message: message || "Expected expressions to be equal, but expressions are not equal",
26
+ expected: expected,
27
+ actual: actual,
28
+ });
29
29
  }
@@ -2,12 +2,12 @@ import { AssertionError } from "assert";
2
2
 
3
3
  /**
4
4
  * Asserts that a given value is equal to `false`
5
- *
5
+ *
6
6
  * @remarks
7
7
  * Passes if `expression` evaluates to `false`
8
- *
8
+ *
9
9
  * Fails if `expression` does not evaluate to `false`
10
- *
10
+ *
11
11
  * @param expression the value to check
12
12
  * @param message (optional) message to display on failure
13
13
  *
@@ -15,13 +15,13 @@ import { AssertionError } from "assert";
15
15
  * this.assert.false(expression);
16
16
  */
17
17
  export default function False(expression: any, message?: string) {
18
- if(expression === false) {
19
- return;
20
- }
18
+ if (expression === false) {
19
+ return;
20
+ }
21
21
 
22
- throw new AssertionError({
23
- message: message || 'Expected expression to be false, but expression is not false',
24
- expected: false,
25
- actual: expression
26
- });
22
+ throw new AssertionError({
23
+ message: message || "Expected expression to be false, but expression is not false",
24
+ expected: false,
25
+ actual: expression
26
+ });
27
27
  }