@reporters/junit 1.0.4 → 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.
- package/CHANGELOG.md +14 -0
- package/README.md +2 -0
- package/package.json +1 -1
- package/tests/index.test.js +33 -5
- package/tests/output.v18.js +9 -1
- package/tests/output.v19.js +6 -0
- package/tests/output.v20.js +37 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.2.0](https://github.com/MoLow/reporters/compare/junit-v1.1.0...junit-v1.2.0) (2023-07-05)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* publish with provenance ([6ee1e46](https://github.com/MoLow/reporters/commit/6ee1e46040329edeb0f40f753093b6952984f001))
|
|
9
|
+
|
|
10
|
+
## [1.1.0](https://github.com/MoLow/reporters/compare/junit-v1.0.4...junit-v1.1.0) (2023-05-30)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* report node 20 features ([c99a76c](https://github.com/MoLow/reporters/commit/c99a76c0f6bef75abb2c053c82c88448b0c82690))
|
|
16
|
+
|
|
3
17
|
## [1.0.4](https://github.com/MoLow/reporters/compare/junit-v1.0.3...junit-v1.0.4) (2023-04-03)
|
|
4
18
|
|
|
5
19
|
|
package/README.md
CHANGED
package/package.json
CHANGED
package/tests/index.test.js
CHANGED
|
@@ -1,10 +1,38 @@
|
|
|
1
|
+
const { test } = require('node:test');
|
|
1
2
|
const { spawnSync } = require('child_process');
|
|
2
3
|
const assert = require('assert');
|
|
3
4
|
const { compareLines } = require('../../../tests/utils');
|
|
4
|
-
|
|
5
|
-
const output = require(`./output.${process.version.split('.')[0]}`);
|
|
5
|
+
const reporter = require('../index');
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
test('spwan with reporter', () => {
|
|
8
|
+
// eslint-disable-next-line import/no-dynamic-require, global-require
|
|
9
|
+
const output = require(`./output.${process.version.split('.')[0]}`);
|
|
10
|
+
const child = spawnSync(process.execPath, ['--test-reporter', './index.js', '../../tests/example'], { env: {} });
|
|
11
|
+
assert.strictEqual(child.stderr?.toString(), '');
|
|
12
|
+
compareLines(child.stdout?.toString(), output.stdout);
|
|
13
|
+
});
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
|
|
15
|
+
test('empty', async () => {
|
|
16
|
+
const lines = [];
|
|
17
|
+
for await (const line of reporter([])) {
|
|
18
|
+
lines.push(line);
|
|
19
|
+
}
|
|
20
|
+
assert.deepStrictEqual(lines, [
|
|
21
|
+
'<?xml version="1.0" encoding="utf-8"?>\n',
|
|
22
|
+
'<testsuites>\n',
|
|
23
|
+
'</testsuites>\n',
|
|
24
|
+
]);
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
test('single test', async () => {
|
|
28
|
+
const lines = [];
|
|
29
|
+
for await (const line of reporter([{ type: 'test:pass', data: { name: 'test', nesting: 0, details: { duration_ms: 100 } } }])) {
|
|
30
|
+
lines.push(line);
|
|
31
|
+
}
|
|
32
|
+
assert.deepStrictEqual(lines, [
|
|
33
|
+
'<?xml version="1.0" encoding="utf-8"?>\n',
|
|
34
|
+
'<testsuites>\n',
|
|
35
|
+
'\t<undefined name="root">\n\t<testcase name="test" time="0.100000" classname="test"/>\n\t</undefined>\n',
|
|
36
|
+
'</testsuites>\n',
|
|
37
|
+
]);
|
|
38
|
+
});
|
package/tests/output.v18.js
CHANGED
|
@@ -8,7 +8,9 @@ module.exports = {
|
|
|
8
8
|
\\[Error \\[ERR_TEST_FAILURE\\]: this is an error\\] {
|
|
9
9
|
failureType: 'testCodeFailure',
|
|
10
10
|
cause: Error: this is an error
|
|
11
|
-
|
|
11
|
+
.*
|
|
12
|
+
.*
|
|
13
|
+
.*
|
|
12
14
|
.*
|
|
13
15
|
.*
|
|
14
16
|
.*
|
|
@@ -24,6 +26,12 @@ module.exports = {
|
|
|
24
26
|
\t<testsuite name="more tests" time=".*" disabled="0" errors="0" tests="1" failures="0" skipped="0" hostname=".*">
|
|
25
27
|
\t\t<testcase name="is ok" time=".*" classname="test"/>
|
|
26
28
|
\t</testsuite>
|
|
29
|
+
\t<testcase name="is skipped" time=".* classname="test">
|
|
30
|
+
\t\t<skipped type="skipped" message="true"/>
|
|
31
|
+
\t</testcase>
|
|
32
|
+
\t<testcase name="is a todo" time=".*" classname="test">
|
|
33
|
+
\t\t<skipped type="todo" message="true"/>
|
|
34
|
+
\t</testcase>
|
|
27
35
|
</testsuites>
|
|
28
36
|
`,
|
|
29
37
|
};
|
package/tests/output.v19.js
CHANGED
|
@@ -26,6 +26,12 @@ module.exports = {
|
|
|
26
26
|
\t<testsuite name="more tests" time=".*" disabled="0" errors="0" tests="1" failures="0" skipped="0" hostname=".*">
|
|
27
27
|
\t\t<testcase name="is ok" time=".*" classname="test"/>
|
|
28
28
|
\t</testsuite>
|
|
29
|
+
\t<testcase name="is skipped" time=".* classname="test">
|
|
30
|
+
\t\t<skipped type="skipped" message="true"/>
|
|
31
|
+
\t</testcase>
|
|
32
|
+
\t<testcase name="is a todo" time=".*" classname="test">
|
|
33
|
+
\t\t<skipped type="todo" message="true"/>
|
|
34
|
+
\t</testcase>
|
|
29
35
|
</testsuites>
|
|
30
36
|
`,
|
|
31
37
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
stdout: `<\\?xml version="1.0" encoding="utf-8"\\?>
|
|
3
|
+
<testsuites>
|
|
4
|
+
\t<testsuite name="tests" time=".*" disabled="0" errors="0" tests="3" failures="1" skipped="0" hostname=".*">
|
|
5
|
+
\t\t<testcase name="is ok" time=".*" classname="test"/>
|
|
6
|
+
\t\t<testcase name="fails" time=".*" classname="test" failure="this is an error">
|
|
7
|
+
\t\t\t<failure type="testCodeFailure" message="this is an error">
|
|
8
|
+
\\[Error \\[ERR_TEST_FAILURE\\]: this is an error\\] {
|
|
9
|
+
failureType: 'testCodeFailure',
|
|
10
|
+
cause: Error: this is an error
|
|
11
|
+
.*
|
|
12
|
+
.*
|
|
13
|
+
.*
|
|
14
|
+
.*
|
|
15
|
+
.*
|
|
16
|
+
.*
|
|
17
|
+
.*
|
|
18
|
+
.*
|
|
19
|
+
.*
|
|
20
|
+
code: 'ERR_TEST_FAILURE'
|
|
21
|
+
}
|
|
22
|
+
\t\t\t</failure>
|
|
23
|
+
\t\t</testcase>
|
|
24
|
+
\t\t<testcase name="is a diagnostic" time=".*" classname="test"/>
|
|
25
|
+
\t</testsuite>
|
|
26
|
+
\t<testsuite name="more tests" time=".*" disabled="0" errors="0" tests="1" failures="0" skipped="0" hostname=".*">
|
|
27
|
+
\t\t<testcase name="is ok" time=".*" classname="test"/>
|
|
28
|
+
\t</testsuite>
|
|
29
|
+
\t<testcase name="is skipped" time=".* classname="test">
|
|
30
|
+
\t\t<skipped type="skipped" message="true"/>
|
|
31
|
+
\t</testcase>
|
|
32
|
+
\t<testcase name="is a todo" time=".*" classname="test">
|
|
33
|
+
\t\t<skipped type="todo" message="true"/>
|
|
34
|
+
\t</testcase>
|
|
35
|
+
</testsuites>
|
|
36
|
+
`,
|
|
37
|
+
};
|