xunit.ts 0.12.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +24 -0
- package/README.md +27 -269
- package/SECURITY.md +11 -0
- package/cli.ts +2 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/src/Assertions/Contains.d.ts +16 -1
- package/dist/src/Assertions/Contains.d.ts.map +1 -1
- package/dist/src/Assertions/Contains.js +15 -0
- package/dist/src/Assertions/Contains.js.map +1 -1
- package/dist/src/Assertions/Count.d.ts +16 -1
- package/dist/src/Assertions/Count.d.ts.map +1 -1
- package/dist/src/Assertions/Count.js +15 -0
- package/dist/src/Assertions/Count.js.map +1 -1
- package/dist/src/Assertions/Defined.d.ts +15 -1
- package/dist/src/Assertions/Defined.d.ts.map +1 -1
- package/dist/src/Assertions/Defined.js +17 -3
- package/dist/src/Assertions/Defined.js.map +1 -1
- package/dist/src/Assertions/DoesNotContain.d.ts +17 -0
- package/dist/src/Assertions/DoesNotContain.d.ts.map +1 -0
- package/dist/src/Assertions/DoesNotContain.js +30 -0
- package/dist/src/Assertions/DoesNotContain.js.map +1 -0
- package/dist/src/Assertions/DoesNotThrow.d.ts +14 -0
- package/dist/src/Assertions/DoesNotThrow.d.ts.map +1 -1
- package/dist/src/Assertions/DoesNotThrow.js +15 -0
- package/dist/src/Assertions/DoesNotThrow.js.map +1 -1
- package/dist/src/Assertions/Empty.d.ts +15 -1
- package/dist/src/Assertions/Empty.d.ts.map +1 -1
- package/dist/src/Assertions/Empty.js +17 -3
- package/dist/src/Assertions/Empty.js.map +1 -1
- package/dist/src/Assertions/Equal.d.ts +15 -0
- package/dist/src/Assertions/Equal.d.ts.map +1 -1
- package/dist/src/Assertions/Equal.js +16 -1
- package/dist/src/Assertions/Equal.js.map +1 -1
- package/dist/src/Assertions/False.d.ts +15 -1
- package/dist/src/Assertions/False.d.ts.map +1 -1
- package/dist/src/Assertions/False.js +17 -3
- package/dist/src/Assertions/False.js.map +1 -1
- package/dist/src/Assertions/InstanceOf.d.ts +16 -1
- package/dist/src/Assertions/InstanceOf.d.ts.map +1 -1
- package/dist/src/Assertions/InstanceOf.js +19 -4
- package/dist/src/Assertions/InstanceOf.js.map +1 -1
- package/dist/src/Assertions/NotEmpty.d.ts +15 -1
- package/dist/src/Assertions/NotEmpty.d.ts.map +1 -1
- package/dist/src/Assertions/NotEmpty.js +17 -3
- package/dist/src/Assertions/NotEmpty.js.map +1 -1
- package/dist/src/Assertions/NotEqual.d.ts +15 -0
- package/dist/src/Assertions/NotEqual.d.ts.map +1 -1
- package/dist/src/Assertions/NotEqual.js +20 -1
- package/dist/src/Assertions/NotEqual.js.map +1 -1
- package/dist/src/Assertions/NotNull.d.ts +15 -1
- package/dist/src/Assertions/NotNull.d.ts.map +1 -1
- package/dist/src/Assertions/NotNull.js +17 -3
- package/dist/src/Assertions/NotNull.js.map +1 -1
- package/dist/src/Assertions/Null.d.ts +15 -1
- package/dist/src/Assertions/Null.d.ts.map +1 -1
- package/dist/src/Assertions/Null.js +17 -3
- package/dist/src/Assertions/Null.js.map +1 -1
- package/dist/src/Assertions/StringContains.d.ts +15 -0
- package/dist/src/Assertions/StringContains.d.ts.map +1 -1
- package/dist/src/Assertions/StringContains.js +16 -1
- package/dist/src/Assertions/StringContains.js.map +1 -1
- package/dist/src/Assertions/StringDoesNotContain.d.ts +17 -0
- package/dist/src/Assertions/StringDoesNotContain.d.ts.map +1 -0
- package/dist/src/Assertions/StringDoesNotContain.js +30 -0
- package/dist/src/Assertions/StringDoesNotContain.js.map +1 -0
- package/dist/src/Assertions/StringDoesNotEndWith.d.ts +17 -0
- package/dist/src/Assertions/StringDoesNotEndWith.d.ts.map +1 -0
- package/dist/src/Assertions/StringDoesNotEndWith.js +32 -0
- package/dist/src/Assertions/StringDoesNotEndWith.js.map +1 -0
- package/dist/src/Assertions/StringDoesNotStartWith.d.ts +17 -0
- package/dist/src/Assertions/StringDoesNotStartWith.d.ts.map +1 -0
- package/dist/src/Assertions/StringDoesNotStartWith.js +30 -0
- package/dist/src/Assertions/StringDoesNotStartWith.js.map +1 -0
- package/dist/src/Assertions/StringEndsWith.d.ts +15 -0
- package/dist/src/Assertions/StringEndsWith.d.ts.map +1 -1
- package/dist/src/Assertions/StringEndsWith.js +18 -1
- package/dist/src/Assertions/StringEndsWith.js.map +1 -1
- package/dist/src/Assertions/StringStartsWith.d.ts +15 -0
- package/dist/src/Assertions/StringStartsWith.d.ts.map +1 -1
- package/dist/src/Assertions/StringStartsWith.js +15 -0
- package/dist/src/Assertions/StringStartsWith.js.map +1 -1
- package/dist/src/Assertions/Throws.d.ts +14 -0
- package/dist/src/Assertions/Throws.d.ts.map +1 -1
- package/dist/src/Assertions/Throws.js +14 -0
- package/dist/src/Assertions/Throws.js.map +1 -1
- package/dist/src/Assertions/True.d.ts +15 -1
- package/dist/src/Assertions/True.d.ts.map +1 -1
- package/dist/src/Assertions/True.js +17 -3
- package/dist/src/Assertions/True.js.map +1 -1
- package/dist/src/Assertions/Undefined.d.ts +15 -1
- package/dist/src/Assertions/Undefined.d.ts.map +1 -1
- package/dist/src/Assertions/Undefined.js +17 -3
- package/dist/src/Assertions/Undefined.js.map +1 -1
- package/dist/src/Assertions/index.d.ts +4 -4
- package/dist/src/Assertions/index.d.ts.map +1 -1
- package/dist/src/Assertions/index.js +8 -8
- package/dist/src/Assertions/index.js.map +1 -1
- package/dist/src/CLI.d.ts +4 -1
- package/dist/src/CLI.d.ts.map +1 -1
- package/dist/src/CLI.js +9 -7
- package/dist/src/CLI.js.map +1 -1
- package/dist/src/Factory.d.ts +3 -2
- package/dist/src/Factory.d.ts.map +1 -1
- package/dist/src/Factory.js +4 -4
- package/dist/src/Factory.js.map +1 -1
- package/dist/src/Framework/Test.d.ts +14 -0
- package/dist/src/Framework/Test.d.ts.map +1 -1
- package/dist/src/Framework/Test.js +14 -0
- package/dist/src/Framework/Test.js.map +1 -1
- package/dist/src/Framework/TestSuite.d.ts +13 -4
- package/dist/src/Framework/TestSuite.d.ts.map +1 -1
- package/dist/src/Framework/TestSuite.js +9 -0
- package/dist/src/Framework/TestSuite.js.map +1 -1
- package/dist/src/Reporters/JUnitReporter.js +1 -1
- package/dist/src/Reporters/JUnitReporter.js.map +1 -1
- package/dist/src/Reporters/SonarReporter.d.ts.map +1 -1
- package/dist/src/Reporters/SonarReporter.js +3 -2
- package/dist/src/Reporters/SonarReporter.js.map +1 -1
- package/dist/src/Runners/Runner.d.ts +1 -1
- package/dist/src/Runners/Runner.d.ts.map +1 -1
- package/dist/src/Runners/Runner.js.map +1 -1
- package/dist/src/Runners/TestRunner.d.ts +1 -1
- package/dist/src/Runners/TestRunner.d.ts.map +1 -1
- package/dist/src/Runners/TestRunner.js +6 -5
- package/dist/src/Runners/TestRunner.js.map +1 -1
- package/dist/src/Runners/TestSuiteRunner.d.ts +1 -1
- package/dist/src/Runners/TestSuiteRunner.d.ts.map +1 -1
- package/dist/src/Runners/TestSuiteRunner.js.map +1 -1
- package/icon.svg +83 -0
- package/logo.svg +154 -0
- package/package.json +15 -9
- package/sonar-project.properties +1 -1
- package/src/Assertions/Contains.ts +16 -1
- package/src/Assertions/Count.ts +16 -1
- package/src/Assertions/Defined.ts +17 -3
- package/src/Assertions/DoesNotContain.ts +28 -0
- package/src/Assertions/DoesNotThrow.ts +15 -0
- package/src/Assertions/Empty.ts +17 -3
- package/src/Assertions/Equal.ts +15 -0
- package/src/Assertions/False.ts +17 -3
- package/src/Assertions/InstanceOf.ts +19 -4
- package/src/Assertions/NotEmpty.ts +17 -3
- package/src/Assertions/NotEqual.ts +17 -1
- package/src/Assertions/NotNull.ts +17 -3
- package/src/Assertions/Null.ts +17 -3
- package/src/Assertions/StringContains.ts +17 -2
- package/src/Assertions/StringDoesNotContain.ts +28 -0
- package/src/Assertions/StringDoesNotEndWith.ts +30 -0
- package/src/Assertions/StringDoesNotStartWith.ts +28 -0
- package/src/Assertions/StringEndsWith.ts +19 -2
- package/src/Assertions/StringStartsWith.ts +15 -0
- package/src/Assertions/Throws.ts +14 -0
- package/src/Assertions/True.ts +17 -3
- package/src/Assertions/Undefined.ts +17 -3
- package/src/Assertions/index.ts +4 -4
- package/src/CLI.ts +6 -5
- package/src/Factory.ts +6 -6
- package/src/Framework/Test.ts +14 -0
- package/src/Framework/TestSuite.ts +9 -0
- package/src/Reporters/SonarReporter.ts +2 -1
- package/src/Runners/Runner.ts +1 -1
- package/src/Runners/TestRunner.ts +7 -6
- package/src/Runners/TestSuiteRunner.ts +1 -1
- package/tsconfig.json +4 -2
- package/dist/src/Assertions/NotContains.d.ts +0 -2
- package/dist/src/Assertions/NotContains.d.ts.map +0 -1
- package/dist/src/Assertions/NotContains.js +0 -15
- package/dist/src/Assertions/NotContains.js.map +0 -1
- package/dist/src/Assertions/StringNotContains.d.ts +0 -2
- package/dist/src/Assertions/StringNotContains.d.ts.map +0 -1
- package/dist/src/Assertions/StringNotContains.js +0 -15
- package/dist/src/Assertions/StringNotContains.js.map +0 -1
- package/dist/src/Assertions/StringNotEndsWith.d.ts +0 -2
- package/dist/src/Assertions/StringNotEndsWith.d.ts.map +0 -1
- package/dist/src/Assertions/StringNotEndsWith.js +0 -15
- package/dist/src/Assertions/StringNotEndsWith.js.map +0 -1
- package/dist/src/Assertions/StringNotStartsWith.d.ts +0 -2
- package/dist/src/Assertions/StringNotStartsWith.d.ts.map +0 -1
- package/dist/src/Assertions/StringNotStartsWith.js +0 -15
- package/dist/src/Assertions/StringNotStartsWith.js.map +0 -1
- package/src/Assertions/NotContains.ts +0 -13
- package/src/Assertions/StringNotContains.ts +0 -13
- package/src/Assertions/StringNotEndsWith.ts +0 -13
- package/src/Assertions/StringNotStartsWith.ts +0 -13
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
import TestSuite from "./TestSuite";
|
|
2
2
|
import TestInfo from "./TestInfo";
|
|
3
|
+
/**
|
|
4
|
+
* Annotates a test method within a {@link TestSuite}
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* This instructs `xunit.ts` to run this method as part of its {@link TestSuite}
|
|
8
|
+
*
|
|
9
|
+
* @param test_name (optional) the test's display name; if not set, a sentence case version of the method name will be used
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```
|
|
13
|
+
* @Test()
|
|
14
|
+
* async UnitTestName() { ... }
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
3
17
|
export default function Test(test_name?: string): (suite: TestSuite, method_name: string, info: TestInfo) => void;
|
|
4
18
|
//# sourceMappingURL=Test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../../src/Framework/Test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,WACnB,SAAS,eAAe,MAAM,0BAGzD"}
|
|
1
|
+
{"version":3,"file":"Test.d.ts","sourceRoot":"","sources":["../../../src/Framework/Test.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,WACnB,SAAS,eAAe,MAAM,0BAGzD"}
|
|
@@ -4,6 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const TestName_1 = __importDefault(require("./TestName"));
|
|
7
|
+
/**
|
|
8
|
+
* Annotates a test method within a {@link TestSuite}
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* This instructs `xunit.ts` to run this method as part of its {@link TestSuite}
|
|
12
|
+
*
|
|
13
|
+
* @param test_name (optional) the test's display name; if not set, a sentence case version of the method name will be used
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```
|
|
17
|
+
* @Test()
|
|
18
|
+
* async UnitTestName() { ... }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
7
21
|
function Test(test_name) {
|
|
8
22
|
return function (suite, method_name, info) {
|
|
9
23
|
suite.addTest(test_name || TestName_1.default.toSentenceCase(method_name), info);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Test.js","sourceRoot":"","sources":["../../../src/Framework/Test.ts"],"names":[],"mappings":";;;;;AAEA,0DAAkC;AAElC,SAAwB,IAAI,CAAC,SAAkB;IAC3C,OAAO,UAAU,KAAgB,EAAE,WAAmB,EAAE,IAAc;QAClE,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAA;AACL,CAAC;AAJD,uBAIC"}
|
|
1
|
+
{"version":3,"file":"Test.js","sourceRoot":"","sources":["../../../src/Framework/Test.ts"],"names":[],"mappings":";;;;;AAEA,0DAAkC;AAElC;;;;;;;;;;;;;GAaG;AACH,SAAwB,IAAI,CAAC,SAAkB;IAC3C,OAAO,UAAU,KAAgB,EAAE,WAAmB,EAAE,IAAc;QAClE,KAAK,CAAC,OAAO,CAAC,SAAS,IAAI,kBAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAA;AACL,CAAC;AAJD,uBAIC"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import TestInfo from './TestInfo';
|
|
2
|
+
/**
|
|
3
|
+
* Defines a container of tests
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Extend this class for `xunit.ts` load its tests
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* export default class CustomClassTests extends TestSuite { ... }
|
|
10
|
+
*/
|
|
2
11
|
export default abstract class TestSuite {
|
|
3
12
|
assert: {
|
|
4
13
|
true: typeof import("../Assertions/True").default;
|
|
@@ -13,13 +22,13 @@ export default abstract class TestSuite {
|
|
|
13
22
|
notEmpty: typeof import("../Assertions/NotEmpty").default;
|
|
14
23
|
count: typeof import("../Assertions/Count").default;
|
|
15
24
|
contains: typeof import("../Assertions/Contains").default;
|
|
16
|
-
doesNotContain: typeof import("../Assertions/
|
|
25
|
+
doesNotContain: typeof import("../Assertions/DoesNotContain").default;
|
|
17
26
|
stringContains: typeof import("../Assertions/StringContains").default;
|
|
18
|
-
stringDoesNotContain: typeof import("../Assertions/
|
|
27
|
+
stringDoesNotContain: typeof import("../Assertions/StringDoesNotContain").default;
|
|
19
28
|
stringStartsWith: typeof import("../Assertions/StringStartsWith").default;
|
|
20
|
-
stringDoesNotStartWIth: typeof import("../Assertions/
|
|
29
|
+
stringDoesNotStartWIth: typeof import("../Assertions/StringDoesNotStartWith").default;
|
|
21
30
|
stringEndsWith: typeof import("../Assertions/StringEndsWith").default;
|
|
22
|
-
stringDoesNotEndWith: typeof import("../Assertions/
|
|
31
|
+
stringDoesNotEndWith: typeof import("../Assertions/StringDoesNotEndWith").default;
|
|
23
32
|
instanceOf: typeof import("../Assertions/InstanceOf").default;
|
|
24
33
|
throws: typeof import("../Assertions/Throws").default;
|
|
25
34
|
doesNotThrow: typeof import("../Assertions/DoesNotThrow").default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSuite.d.ts","sourceRoot":"","sources":["../../../src/Framework/TestSuite.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;IACnC,MAAM;;;;;;;;;;;;;;;;;;;;;;;MAAoB;IAE1B,OAAO,CAAC,KAAK,CAAgC;IAE7C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAOpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIxC,QAAQ;CAGX"}
|
|
1
|
+
{"version":3,"file":"TestSuite.d.ts","sourceRoot":"","sources":["../../../src/Framework/TestSuite.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAGlC;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,SAAS;IACnC,MAAM;;;;;;;;;;;;;;;;;;;;;;;MAAoB;IAE1B,OAAO,CAAC,KAAK,CAAgC;IAE7C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ;IAOpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAIxC,QAAQ;CAGX"}
|
|
@@ -4,6 +4,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const Assertions_1 = __importDefault(require("../Assertions"));
|
|
7
|
+
/**
|
|
8
|
+
* Defines a container of tests
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* Extend this class for `xunit.ts` load its tests
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* export default class CustomClassTests extends TestSuite { ... }
|
|
15
|
+
*/
|
|
7
16
|
class TestSuite {
|
|
8
17
|
constructor() {
|
|
9
18
|
this.assert = Assertions_1.default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSuite.js","sourceRoot":"","sources":["../../../src/Framework/TestSuite.ts"],"names":[],"mappings":";;;;;AACA,+DAA6C;AAE7C,MAA8B,SAAS;IAAvC;QACI,WAAM,GAAG,oBAAgB,CAAC;QAElB,UAAK,GAA6B,EAAE,CAAC;IAgBjD,CAAC;IAdG,OAAO,CAAC,IAAY,EAAE,IAAc;QAChC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,KAA+B;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ;AAnBD,4BAmBC"}
|
|
1
|
+
{"version":3,"file":"TestSuite.js","sourceRoot":"","sources":["../../../src/Framework/TestSuite.ts"],"names":[],"mappings":";;;;;AACA,+DAA6C;AAE7C;;;;;;;;GAQG;AACH,MAA8B,SAAS;IAAvC;QACI,WAAM,GAAG,oBAAgB,CAAC;QAElB,UAAK,GAA6B,EAAE,CAAC;IAgBjD,CAAC;IAdG,OAAO,CAAC,IAAY,EAAE,IAAc;QAChC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;SACnB;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,KAA+B;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ;AAnBD,4BAmBC"}
|
|
@@ -12,7 +12,7 @@ class JUnitReporter extends XMLReporter_1.default {
|
|
|
12
12
|
const data = {
|
|
13
13
|
testsuites: Object.values(results).map((result, index) => JUnitReporter.testSuite(result, index))
|
|
14
14
|
};
|
|
15
|
-
return xml_1.default(data, { indent: ' ' });
|
|
15
|
+
return (0, xml_1.default)(data, { indent: ' ' });
|
|
16
16
|
}
|
|
17
17
|
static testSuite(results, id) {
|
|
18
18
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JUnitReporter.js","sourceRoot":"","sources":["../../../src/Reporters/JUnitReporter.ts"],"names":[],"mappings":";;;;;AACA,8CAAsB;AACtB,qEAA6C;AAC7C,wDAAmD;AAEnD,gEAAwC;AAExC,MAAqB,aAAc,SAAQ,qBAAW;IAGlD,GAAG,CAAC,OAAyC;QACzC,MAAM,IAAI,GAAG;YACT,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACpG,CAAC;QACF,OAAO,aAAG,
|
|
1
|
+
{"version":3,"file":"JUnitReporter.js","sourceRoot":"","sources":["../../../src/Reporters/JUnitReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SonarReporter.d.ts","sourceRoot":"","sources":["../../../src/Reporters/SonarReporter.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAI7D,OAAO,WAAW,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"SonarReporter.d.ts","sourceRoot":"","sources":["../../../src/Reporters/SonarReporter.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAI7D,OAAO,WAAW,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAClD,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAe;IAEtD,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,MAAM;IAetD,OAAO,CAAC,MAAM,CAAC,SAAS;IAcxB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAsBvB,OAAO,CAAC,MAAM,CAAC,OAAO;IAatB,OAAO,CAAC,MAAM,CAAC,OAAO;IAatB,OAAO,CAAC,MAAM,CAAC,KAAK;CAYvB"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const xml_1 = __importDefault(require("xml"));
|
|
7
7
|
const ResultType_1 = require("../Framework/ResultType");
|
|
8
8
|
const XMLReporter_1 = __importDefault(require("./XMLReporter"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
9
10
|
class SonarReporter extends XMLReporter_1.default {
|
|
10
11
|
xml(results) {
|
|
11
12
|
const data = {
|
|
@@ -19,14 +20,14 @@ class SonarReporter extends XMLReporter_1.default {
|
|
|
19
20
|
.map(file => SonarReporter.testSuite(results[file], file))
|
|
20
21
|
]
|
|
21
22
|
};
|
|
22
|
-
return xml_1.default(data, { indent: ' ' });
|
|
23
|
+
return (0, xml_1.default)(data, { indent: ' ' });
|
|
23
24
|
}
|
|
24
25
|
static testSuite(results, file) {
|
|
25
26
|
return {
|
|
26
27
|
file: [
|
|
27
28
|
{
|
|
28
29
|
_attr: {
|
|
29
|
-
path: file.
|
|
30
|
+
path: file.substr(file.split(path_1.default.sep)[0].length + 1).replace(/\.js$/, '.ts'),
|
|
30
31
|
}
|
|
31
32
|
},
|
|
32
33
|
...Object.keys(results.results)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SonarReporter.js","sourceRoot":"","sources":["../../../src/Reporters/SonarReporter.ts"],"names":[],"mappings":";;;;;AACA,8CAAsB;AACtB,wDAAmD;AAEnD,gEAAwC;
|
|
1
|
+
{"version":3,"file":"SonarReporter.js","sourceRoot":"","sources":["../../../src/Reporters/SonarReporter.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export default class Runner {
|
|
|
6
6
|
private readonly loader;
|
|
7
7
|
private readonly runner;
|
|
8
8
|
private readonly reporters;
|
|
9
|
-
constructor(loader: TestSuiteLoader, runner: TestSuiteRunner, reporters: ResultReporter
|
|
9
|
+
constructor(loader: TestSuiteLoader, runner: TestSuiteRunner, reporters: ReadonlyArray<ResultReporter>);
|
|
10
10
|
runAll(dir: string): Promise<Record<string, TestSuiteResults>>;
|
|
11
11
|
static allTestsPassed(results: Record<string, TestSuiteResults>): boolean;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runner.d.ts","sourceRoot":"","sources":["../../../src/Runners/Runner.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAG7D,MAAM,CAAC,OAAO,OAAO,MAAM;IAEX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAmB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAmB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAA7F,MAAM,EAAE,eAAe,EAAmB,MAAM,EAAE,eAAe,EAAmB,SAAS,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"Runner.d.ts","sourceRoot":"","sources":["../../../src/Runners/Runner.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAG7D,MAAM,CAAC,OAAO,OAAO,MAAM;IAEX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAmB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAmB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAA7F,MAAM,EAAE,eAAe,EAAmB,MAAM,EAAE,eAAe,EAAmB,SAAS,EAAE,aAAa,CAAC,cAAc,CAAC;IAGnJ,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAYpE,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,OAAO;CAK5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runner.js","sourceRoot":"","sources":["../../../src/Runners/Runner.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,wDAAmD;AAEnD,MAAqB,MAAM;IAEvB,YAA6B,MAAuB,EAAmB,MAAuB,EAAmB,
|
|
1
|
+
{"version":3,"file":"Runner.js","sourceRoot":"","sources":["../../../src/Runners/Runner.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,wDAAmD;AAEnD,MAAqB,MAAM;IAEvB,YAA6B,MAAuB,EAAmB,MAAuB,EAAmB,SAAwC;QAA5H,WAAM,GAAN,MAAM,CAAiB;QAAmB,WAAM,GAAN,MAAM,CAAiB;QAAmB,cAAS,GAAT,SAAS,CAA+B;IACzJ,CAAC;IAEK,MAAM,CAAC,GAAW;;YACpB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAqC,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACrD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACrD;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO,OAAO,CAAC;QACnB,CAAC;KAAA;IAED,MAAM,CAAC,cAAc,CAAC,OAAyC;QAC3D,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACvF,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC;eAC7B,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAU,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC9G,CAAC;CACJ;AAtBD,yBAsBC"}
|
|
@@ -4,7 +4,7 @@ import ResultReporter from '../Reporters/ResultReporter';
|
|
|
4
4
|
import TestResult from "../Framework/TestResult";
|
|
5
5
|
export default class TestRunner {
|
|
6
6
|
private readonly reporters;
|
|
7
|
-
constructor(reporters: ResultReporter
|
|
7
|
+
constructor(reporters: ReadonlyArray<ResultReporter>);
|
|
8
8
|
runTest(name: string, info: TestInfo, suite: TestSuite): Promise<TestResult>;
|
|
9
9
|
private static msSince;
|
|
10
10
|
}
|
|
@@ -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,cAAc,
|
|
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"}
|
|
@@ -35,12 +35,13 @@ class TestRunner {
|
|
|
35
35
|
}
|
|
36
36
|
catch (error) {
|
|
37
37
|
const duration = TestRunner.msSince(start);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
const typedError = error;
|
|
39
|
+
if (typedError instanceof assert_1.AssertionError) {
|
|
40
|
+
yield Promise.all(this.reporters.map(r => r.testFailed(suite, name, typedError, duration)));
|
|
41
|
+
return new TestResult_1.default(ResultType_1.ResultType.Failed, duration, typedError);
|
|
41
42
|
}
|
|
42
|
-
yield Promise.all(this.reporters.map(r => r.testErrored(suite, name,
|
|
43
|
-
return new TestResult_1.default(ResultType_1.ResultType.Error, duration,
|
|
43
|
+
yield Promise.all(this.reporters.map(r => r.testErrored(suite, name, typedError, duration)));
|
|
44
|
+
return new TestResult_1.default(ResultType_1.ResultType.Error, duration, typedError);
|
|
44
45
|
}
|
|
45
46
|
});
|
|
46
47
|
}
|
|
@@ -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,
|
|
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"}
|
|
@@ -6,7 +6,7 @@ import TestRunner from './TestRunner';
|
|
|
6
6
|
export default class TestSuiteRunner {
|
|
7
7
|
private readonly runner;
|
|
8
8
|
private readonly reporters;
|
|
9
|
-
constructor(runner: TestRunner, reporters: ResultReporter
|
|
9
|
+
constructor(runner: TestRunner, reporters: ReadonlyArray<ResultReporter>);
|
|
10
10
|
runSuite(suite: TestSuite): Promise<TestSuiteResults>;
|
|
11
11
|
runTests(suite: TestSuite, tests: Record<string, TestInfo>): Promise<TestSuiteResults>;
|
|
12
12
|
}
|
|
@@ -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,cAAc,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestSuiteRunner.js","sourceRoot":"","sources":["../../../src/Runners/TestSuiteRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,qFAA6D;AAI7D,MAAqB,eAAe;IAEhC,YAA6B,MAAkB,EAAmB,
|
|
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"}
|
package/icon.svg
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
4
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
5
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
6
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
9
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
10
|
+
sodipodi:docname="icon.svg"
|
|
11
|
+
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
|
12
|
+
inkscape:export-ydpi="96"
|
|
13
|
+
inkscape:export-xdpi="96"
|
|
14
|
+
inkscape:export-filename="X:\ecoAPM\xunit.ts\docs\assets\icon.png"
|
|
15
|
+
id="svg875"
|
|
16
|
+
version="1.1"
|
|
17
|
+
viewBox="0 0 128 128"
|
|
18
|
+
height="128"
|
|
19
|
+
width="128">
|
|
20
|
+
<defs
|
|
21
|
+
id="defs869" />
|
|
22
|
+
<sodipodi:namedview
|
|
23
|
+
inkscape:window-maximized="1"
|
|
24
|
+
inkscape:window-y="58"
|
|
25
|
+
inkscape:window-x="1912"
|
|
26
|
+
inkscape:window-height="987"
|
|
27
|
+
inkscape:window-width="1680"
|
|
28
|
+
width="128mm"
|
|
29
|
+
units="px"
|
|
30
|
+
showgrid="false"
|
|
31
|
+
inkscape:document-rotation="0"
|
|
32
|
+
inkscape:current-layer="layer1"
|
|
33
|
+
inkscape:document-units="px"
|
|
34
|
+
inkscape:cy="71.552618"
|
|
35
|
+
inkscape:cx="79.729008"
|
|
36
|
+
inkscape:zoom="3.959798"
|
|
37
|
+
inkscape:pageshadow="2"
|
|
38
|
+
inkscape:pageopacity="0.0"
|
|
39
|
+
borderopacity="1.0"
|
|
40
|
+
bordercolor="#666666"
|
|
41
|
+
pagecolor="#ffffff"
|
|
42
|
+
id="base" />
|
|
43
|
+
<metadata
|
|
44
|
+
id="metadata872">
|
|
45
|
+
<rdf:RDF>
|
|
46
|
+
<cc:Work
|
|
47
|
+
rdf:about="">
|
|
48
|
+
<dc:format>image/svg+xml</dc:format>
|
|
49
|
+
<dc:type
|
|
50
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
51
|
+
<dc:title></dc:title>
|
|
52
|
+
</cc:Work>
|
|
53
|
+
</rdf:RDF>
|
|
54
|
+
</metadata>
|
|
55
|
+
<g
|
|
56
|
+
id="layer1"
|
|
57
|
+
inkscape:groupmode="layer"
|
|
58
|
+
inkscape:label="Layer 1">
|
|
59
|
+
<g
|
|
60
|
+
transform="matrix(-3.7139957,0,0,3.7296926,884.38404,-159.89924)"
|
|
61
|
+
style="font-style:normal;font-weight:normal;font-size:50.8px;line-height:1.25;font-family:sans-serif;fill:#bfbfbf;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
62
|
+
id="text2766-0"
|
|
63
|
+
aria-label="🗸">
|
|
64
|
+
<path
|
|
65
|
+
sodipodi:nodetypes="ccsccccc"
|
|
66
|
+
id="path2805"
|
|
67
|
+
style="font-size:50.8px;fill:#bfbfbf;fill-opacity:1;stroke-width:0.264583"
|
|
68
|
+
d="m 231.8494,43.408198 0.74414,1.289843 c -4.84518,3.423047 -9.33483,7.755599 -13.46894,12.997656 -4.13412,5.242057 -7.11895,10.376628 -8.9545,15.403711 l -1.0914,0.719336 c -0.94258,0.611849 -1.75287,1.223698 -2.43086,1.835547 -1.21639,-4.400349 7.20052,-16.248511 12.05508,-21.480859 4.15065,-4.415235 8.53281,-8.003646 13.14648,-10.765234 z" />
|
|
69
|
+
</g>
|
|
70
|
+
<text
|
|
71
|
+
transform="scale(0.99789345,1.002111)"
|
|
72
|
+
xml:space="preserve"
|
|
73
|
+
style="font-style:normal;font-weight:normal;font-size:189.069px;line-height:1.25;font-family:sans-serif;fill:#538d43;fill-opacity:1;stroke:none;stroke-width:0.984735"
|
|
74
|
+
x="-11.659032"
|
|
75
|
+
y="150.47607"
|
|
76
|
+
id="text2766"><tspan
|
|
77
|
+
sodipodi:role="line"
|
|
78
|
+
id="tspan2764"
|
|
79
|
+
x="-11.659032"
|
|
80
|
+
y="150.47607"
|
|
81
|
+
style="font-size:189.069px;fill:#538d43;fill-opacity:1;stroke-width:0.984735">🗸</tspan></text>
|
|
82
|
+
</g>
|
|
83
|
+
</svg>
|
package/logo.svg
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
4
|
+
xmlns:cc="http://creativecommons.org/ns#"
|
|
5
|
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
6
|
+
xmlns:svg="http://www.w3.org/2000/svg"
|
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
9
|
+
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
10
|
+
inkscape:export-ydpi="96"
|
|
11
|
+
inkscape:export-xdpi="96"
|
|
12
|
+
inkscape:export-filename="X:\ecoAPM\xunit.ts\logo-black.png"
|
|
13
|
+
sodipodi:docname="logo.svg"
|
|
14
|
+
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
|
|
15
|
+
id="svg8"
|
|
16
|
+
version="1.1"
|
|
17
|
+
viewBox="0 0 400 128"
|
|
18
|
+
height="128"
|
|
19
|
+
width="400">
|
|
20
|
+
<defs
|
|
21
|
+
id="defs2">
|
|
22
|
+
<rect
|
|
23
|
+
id="rect2858"
|
|
24
|
+
height="56"
|
|
25
|
+
width="61.5"
|
|
26
|
+
y="39"
|
|
27
|
+
x="127.5" />
|
|
28
|
+
<rect
|
|
29
|
+
id="rect2746"
|
|
30
|
+
height="38.364582"
|
|
31
|
+
width="5.0270834"
|
|
32
|
+
y="94.720833"
|
|
33
|
+
x="102.39375" />
|
|
34
|
+
</defs>
|
|
35
|
+
<sodipodi:namedview
|
|
36
|
+
inkscape:window-maximized="1"
|
|
37
|
+
inkscape:window-y="-8"
|
|
38
|
+
inkscape:window-x="-8"
|
|
39
|
+
inkscape:window-height="1137"
|
|
40
|
+
inkscape:window-width="1920"
|
|
41
|
+
inkscape:pagecheckerboard="false"
|
|
42
|
+
units="px"
|
|
43
|
+
showgrid="false"
|
|
44
|
+
inkscape:document-rotation="0"
|
|
45
|
+
inkscape:current-layer="layer1"
|
|
46
|
+
inkscape:document-units="px"
|
|
47
|
+
inkscape:cy="111.1524"
|
|
48
|
+
inkscape:cx="243.86486"
|
|
49
|
+
inkscape:zoom="2"
|
|
50
|
+
inkscape:pageshadow="2"
|
|
51
|
+
inkscape:pageopacity="0"
|
|
52
|
+
borderopacity="1.0"
|
|
53
|
+
bordercolor="#666666"
|
|
54
|
+
pagecolor="#000000"
|
|
55
|
+
id="base" />
|
|
56
|
+
<metadata
|
|
57
|
+
id="metadata5">
|
|
58
|
+
<rdf:RDF>
|
|
59
|
+
<cc:Work
|
|
60
|
+
rdf:about="">
|
|
61
|
+
<dc:format>image/svg+xml</dc:format>
|
|
62
|
+
<dc:type
|
|
63
|
+
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
64
|
+
<dc:title></dc:title>
|
|
65
|
+
</cc:Work>
|
|
66
|
+
</rdf:RDF>
|
|
67
|
+
</metadata>
|
|
68
|
+
<g
|
|
69
|
+
id="layer1"
|
|
70
|
+
inkscape:groupmode="layer"
|
|
71
|
+
inkscape:label="Layer 1">
|
|
72
|
+
<text
|
|
73
|
+
id="text2742"
|
|
74
|
+
y="168.27499"
|
|
75
|
+
x="-11.377083"
|
|
76
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:127px;line-height:1.25;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
77
|
+
xml:space="preserve"><tspan
|
|
78
|
+
sodipodi:role="line"
|
|
79
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:127px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';stroke-width:0.264583"
|
|
80
|
+
y="168.27499"
|
|
81
|
+
x="-11.377083"
|
|
82
|
+
id="tspan2740" /><tspan
|
|
83
|
+
id="tspan2754"
|
|
84
|
+
sodipodi:role="line"
|
|
85
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:127px;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';stroke-width:0.264583"
|
|
86
|
+
y="327.02499"
|
|
87
|
+
x="-11.377083" /></text>
|
|
88
|
+
<text
|
|
89
|
+
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;white-space:pre;shape-inside:url(#rect2746);fill:#000000;fill-opacity:1;stroke:none;"
|
|
90
|
+
id="text2744"
|
|
91
|
+
xml:space="preserve" />
|
|
92
|
+
<text
|
|
93
|
+
id="text2752"
|
|
94
|
+
y="26.987499"
|
|
95
|
+
x="35.983334"
|
|
96
|
+
style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
97
|
+
xml:space="preserve"><tspan
|
|
98
|
+
style="stroke-width:0.264583"
|
|
99
|
+
y="26.987499"
|
|
100
|
+
x="35.983334"
|
|
101
|
+
id="tspan2750"
|
|
102
|
+
sodipodi:role="line" /></text>
|
|
103
|
+
<text
|
|
104
|
+
transform="scale(0.99994519,1.0000548)"
|
|
105
|
+
id="text2758"
|
|
106
|
+
y="98.652382"
|
|
107
|
+
x="112.43309"
|
|
108
|
+
style="font-style:normal;font-weight:normal;font-size:95.8669px;line-height:0;font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264216"
|
|
109
|
+
xml:space="preserve"><tspan
|
|
110
|
+
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:95.8669px;line-height:1;font-family:'Noto Sans';-inkscape-font-specification:'Noto Sans';fill:#000000;fill-opacity:1;stroke-width:0.264216"
|
|
111
|
+
y="98.652382"
|
|
112
|
+
x="112.43309"
|
|
113
|
+
id="tspan2756"
|
|
114
|
+
sodipodi:role="line"><tspan
|
|
115
|
+
id="tspan3014"
|
|
116
|
+
style="fill:#ffffff;fill-opacity:1">unit</tspan><tspan
|
|
117
|
+
id="tspan3000"
|
|
118
|
+
style="fill:#808080;fill-opacity:1">.</tspan><tspan
|
|
119
|
+
id="tspan3016"
|
|
120
|
+
style="fill:#ffffff;fill-opacity:1">ts</tspan></tspan></text>
|
|
121
|
+
<text
|
|
122
|
+
style="fill:black;fill-opacity:1;line-height:1.25;stroke:none;font-family:sans-serif;font-style:normal;font-weight:normal;font-size:40px;white-space:pre;shape-inside:url(#rect2858);"
|
|
123
|
+
id="text2856"
|
|
124
|
+
xml:space="preserve" />
|
|
125
|
+
</g>
|
|
126
|
+
<g
|
|
127
|
+
inkscape:label="Layer 2"
|
|
128
|
+
id="layer2"
|
|
129
|
+
inkscape:groupmode="layer">
|
|
130
|
+
<g
|
|
131
|
+
transform="matrix(-3.7140083,0,0,3.7296903,884.38712,-159.89914)"
|
|
132
|
+
style="font-style:normal;font-weight:normal;font-size:50.8px;line-height:1.25;font-family:sans-serif;fill:#bfbfbf;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
|
133
|
+
id="text2766-0"
|
|
134
|
+
aria-label="🗸">
|
|
135
|
+
<path
|
|
136
|
+
sodipodi:nodetypes="ccsccccc"
|
|
137
|
+
id="path2805"
|
|
138
|
+
style="font-size:50.8px;fill:#bfbfbf;fill-opacity:1;stroke-width:0.264583"
|
|
139
|
+
d="m 231.8494,43.408198 0.74414,1.289843 c -4.84518,3.423047 -9.33483,7.755599 -13.46894,12.997656 -4.13412,5.242057 -7.11895,10.376628 -8.9545,15.403711 l -1.0914,0.719336 c -0.94258,0.611849 -1.75287,1.223698 -2.43086,1.835547 -1.21639,-4.400349 7.20052,-16.248511 12.05508,-21.480859 4.15065,-4.415235 8.53281,-8.003646 13.14648,-10.765234 z" />
|
|
140
|
+
</g>
|
|
141
|
+
<text
|
|
142
|
+
transform="scale(0.99789547,1.002109)"
|
|
143
|
+
xml:space="preserve"
|
|
144
|
+
style="font-style:normal;font-weight:normal;font-size:189.07px;line-height:1.25;font-family:sans-serif;fill:#538d43;fill-opacity:1;stroke:none;stroke-width:0.984736"
|
|
145
|
+
x="-11.659009"
|
|
146
|
+
y="150.47635"
|
|
147
|
+
id="text2766"><tspan
|
|
148
|
+
sodipodi:role="line"
|
|
149
|
+
id="tspan2764"
|
|
150
|
+
x="-11.659009"
|
|
151
|
+
y="150.47635"
|
|
152
|
+
style="font-size:189.07px;fill:#538d43;fill-opacity:1;stroke-width:0.984736">🗸</tspan></text>
|
|
153
|
+
</g>
|
|
154
|
+
</svg>
|
package/package.json
CHANGED
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xunit.ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "A unit testing framework for TypeScript, following standard xUnit patterns",
|
|
5
5
|
"main": "dist/xunit.js",
|
|
6
6
|
"author": "ecoAPM LLC",
|
|
7
|
+
"homepage": "https://github.com/ecoAPM/xunit.ts",
|
|
8
|
+
"bugs": "https://github.com/ecoAPM/xunit.ts/issues",
|
|
7
9
|
"license": "MIT",
|
|
8
10
|
"dependencies": {
|
|
9
11
|
"colors": "1.4.0",
|
|
10
12
|
"command-line-args": "5.2.0",
|
|
11
13
|
"command-line-usage": "6.1.1",
|
|
12
14
|
"lodash.isequal": "4.5.0",
|
|
13
|
-
"typescript": "4.
|
|
14
|
-
"xml": "
|
|
15
|
+
"typescript": "4.5.2",
|
|
16
|
+
"xml": "1.0.1"
|
|
15
17
|
},
|
|
16
18
|
"devDependencies": {
|
|
17
|
-
"@
|
|
18
|
-
"@types/command-line-
|
|
19
|
+
"@microsoft/tsdoc": "0.13.2",
|
|
20
|
+
"@types/command-line-args": "5.2.0",
|
|
21
|
+
"@types/command-line-usage": "5.0.2",
|
|
19
22
|
"@types/lodash.isequal": "4.5.5",
|
|
20
|
-
"@types/node": "16.
|
|
21
|
-
"@types/xml": "
|
|
22
|
-
"
|
|
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"
|
|
23
28
|
},
|
|
24
29
|
"scripts": {
|
|
25
30
|
"clean": "rm -rf dist",
|
|
26
31
|
"build": "tsc",
|
|
27
|
-
"test": "node dist/cli.js dist/tests"
|
|
32
|
+
"test": "node dist/cli.js dist/tests",
|
|
33
|
+
"tsdoc": "cp -r node_modules/notosans/* docs/assets && ts-node tsdoc.ts"
|
|
28
34
|
},
|
|
29
35
|
"bin": {
|
|
30
36
|
"xunit": "dist/cli.js"
|
package/sonar-project.properties
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import { AssertionError } from "assert";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Asserts that an array contains a given element
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Passes if array `haystack` contains an element with a value of `needle`
|
|
8
|
+
*
|
|
9
|
+
* Fails if array `haystack` does not contain an element with a value of `needle`
|
|
10
|
+
*
|
|
11
|
+
* @param needle the element to find
|
|
12
|
+
* @param haystack the array to search
|
|
13
|
+
* @param message (optional) message to display on failure
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* this.assert.contains(needle, haystack);
|
|
17
|
+
*/
|
|
18
|
+
export default function Contains<T>(needle: T, haystack: ReadonlyArray<T>, message?: string) {
|
|
4
19
|
if(haystack.includes(needle)) {
|
|
5
20
|
return;
|
|
6
21
|
}
|
package/src/Assertions/Count.ts
CHANGED
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import { AssertionError } from "assert";
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Asserts that an array contains a certain number of elements
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* Passes if `array` contains `expected` number of elements
|
|
8
|
+
*
|
|
9
|
+
* Fails if `array` does not contain `expected` number of elements
|
|
10
|
+
*
|
|
11
|
+
* @param expected the number of array elements expected
|
|
12
|
+
* @param array the array to check the length of
|
|
13
|
+
* @param message (optional) message to display on failure
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* this.assert.count(expected, array);
|
|
17
|
+
*/
|
|
18
|
+
export default function Count(expected: number, array: ReadonlyArray<any>, message?: string) {
|
|
4
19
|
if(array.length === expected) {
|
|
5
20
|
return;
|
|
6
21
|
}
|