@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 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
@@ -60,3 +60,5 @@ describe('tests', () => {
60
60
  </testsuite>
61
61
  </testsuites>
62
62
  ```
63
+
64
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reporters/junit",
3
- "version": "1.0.4",
3
+ "version": "1.2.0",
4
4
  "description": "A jUnit reporter for `node:test`",
5
5
  "keywords": [
6
6
  "junit",
@@ -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
- // eslint-disable-next-line import/no-dynamic-require
5
- const output = require(`./output.${process.version.split('.')[0]}`);
5
+ const reporter = require('../index');
6
6
 
7
- const child = spawnSync(process.execPath, ['--test-reporter', './index.js', '../../tests/example']);
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
- assert.strictEqual(child.stderr?.toString(), '');
10
- compareLines(child.stdout?.toString(), output.stdout);
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
+ });
@@ -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
- at Object.&lt;anonymous&gt; (.*)
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
  };
@@ -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
+ };