@reporters/junit 1.1.0 → 1.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.1](https://github.com/MoLow/reporters/compare/junit-v1.2.0...junit-v1.2.1) (2023-07-19)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * more accurate counting ([1949140](https://github.com/MoLow/reporters/commit/19491406b769f03555b3ae352ed9838e2154c855))
9
+
10
+ ## [1.2.0](https://github.com/MoLow/reporters/compare/junit-v1.1.0...junit-v1.2.0) (2023-07-05)
11
+
12
+
13
+ ### Features
14
+
15
+ * publish with provenance ([6ee1e46](https://github.com/MoLow/reporters/commit/6ee1e46040329edeb0f40f753093b6952984f001))
16
+
3
17
  ## [1.1.0](https://github.com/MoLow/reporters/compare/junit-v1.0.4...junit-v1.1.0) (2023-05-30)
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.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "A jUnit reporter for `node:test`",
5
5
  "keywords": [
6
6
  "junit",
@@ -1,10 +1,37 @@
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
+ const output = require('./output');
6
7
 
7
- const child = spawnSync(process.execPath, ['--test-reporter', './index.js', '../../tests/example'], { env: {} });
8
+ test('spwan with reporter', () => {
9
+ const child = spawnSync(process.execPath, ['--test-reporter', './index.js', '../../tests/example'], { env: {} });
10
+ assert.strictEqual(child.stderr?.toString(), '');
11
+ compareLines(child.stdout?.toString(), output.stdout);
12
+ });
8
13
 
9
- assert.strictEqual(child.stderr?.toString(), '');
10
- compareLines(child.stdout?.toString(), output.stdout);
14
+ test('empty', async () => {
15
+ const lines = [];
16
+ for await (const line of reporter([])) {
17
+ lines.push(line);
18
+ }
19
+ assert.deepStrictEqual(lines, [
20
+ '<?xml version="1.0" encoding="utf-8"?>\n',
21
+ '<testsuites>\n',
22
+ '</testsuites>\n',
23
+ ]);
24
+ });
25
+
26
+ test('single test', async () => {
27
+ const lines = [];
28
+ for await (const line of reporter([{ type: 'test:pass', data: { name: 'test', nesting: 0, details: { duration_ms: 100 } } }])) {
29
+ lines.push(line);
30
+ }
31
+ assert.deepStrictEqual(lines, [
32
+ '<?xml version="1.0" encoding="utf-8"?>\n',
33
+ '<testsuites>\n',
34
+ '\t<undefined name="root">\n\t<testcase name="test" time="0.100000" classname="test"/>\n\t</undefined>\n',
35
+ '</testsuites>\n',
36
+ ]);
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
  };
@@ -1,31 +0,0 @@
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
- </testsuites>
30
- `,
31
- };
@@ -1,31 +0,0 @@
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
- </testsuites>
30
- `,
31
- };