@cucumber/html-formatter 22.3.0 → 23.1.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/.mocharc.json +3 -9
- package/biome.json +4 -0
- package/dist/main.css +13 -9
- package/dist/main.js +1 -1
- package/dist/main.js.LICENSE.txt +20 -23
- package/dist/package.json +29 -40
- package/dist/src/CucumberHtmlStream.d.ts +3 -3
- package/dist/src/CucumberHtmlStream.d.ts.map +1 -1
- package/dist/src/CucumberHtmlStream.js +14 -11
- package/dist/src/CucumberHtmlStream.js.map +1 -1
- package/dist/src/CucumberHtmlStream.spec.js +7 -7
- package/dist/src/CucumberHtmlStream.spec.js.map +1 -1
- package/dist/src/main.d.ts +1 -1
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +2 -8
- package/dist/src/main.js.map +1 -1
- package/dist/test/acceptance.spec.js +2 -2
- package/dist/test/acceptance.spec.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docker-compose.yml +1 -1
- package/package.json +29 -40
- package/playwright.config.ts +4 -4
- package/src/CucumberHtmlStream.spec.ts +11 -23
- package/src/CucumberHtmlStream.ts +28 -44
- package/src/main.tsx +2 -7
- package/test/__screenshots__/all-statuses.png +0 -0
- package/test/__screenshots__/ambiguous.png +0 -0
- package/test/__screenshots__/attachments.png +0 -0
- package/test/__screenshots__/backgrounds.png +0 -0
- package/test/__screenshots__/cdata.png +0 -0
- package/test/__screenshots__/data-tables.png +0 -0
- package/test/__screenshots__/doc-strings.png +0 -0
- package/test/__screenshots__/empty.png +0 -0
- package/test/__screenshots__/examples-tables-attachment.png +0 -0
- package/test/__screenshots__/examples-tables-undefined.png +0 -0
- package/test/__screenshots__/examples-tables.png +0 -0
- package/test/__screenshots__/failedish-combinations.png +0 -0
- package/test/__screenshots__/global-hooks-afterall-error.png +0 -0
- package/test/__screenshots__/global-hooks-attachments.png +0 -0
- package/test/__screenshots__/global-hooks-beforeall-error.png +0 -0
- package/test/__screenshots__/global-hooks.png +0 -0
- package/test/__screenshots__/hooks-attachment.png +0 -0
- package/test/__screenshots__/hooks-conditional.png +0 -0
- package/test/__screenshots__/hooks-named.png +0 -0
- package/test/__screenshots__/hooks-skipped.png +0 -0
- package/test/__screenshots__/hooks-undefined.png +0 -0
- package/test/__screenshots__/hooks.png +0 -0
- package/test/__screenshots__/markdown.png +0 -0
- package/test/__screenshots__/minimal.png +0 -0
- package/test/__screenshots__/multiple-features-reversed.png +0 -0
- package/test/__screenshots__/multiple-features.png +0 -0
- package/test/__screenshots__/parameter-types.png +0 -0
- package/test/__screenshots__/pending-exception.png +0 -0
- package/test/__screenshots__/pending.png +0 -0
- package/test/__screenshots__/regular-expression.png +0 -0
- package/test/__screenshots__/retry-ambiguous.png +0 -0
- package/test/__screenshots__/retry-pending.png +0 -0
- package/test/__screenshots__/retry-undefined.png +0 -0
- package/test/__screenshots__/retry.png +0 -0
- package/test/__screenshots__/rules-backgrounds.png +0 -0
- package/test/__screenshots__/rules.png +0 -0
- package/test/__screenshots__/skipped-exception.png +0 -0
- package/test/__screenshots__/skipped-failing-hook.png +0 -0
- package/test/__screenshots__/skipped.png +0 -0
- package/test/__screenshots__/stack-traces.png +0 -0
- package/test/__screenshots__/test-run-exception.png +0 -0
- package/test/__screenshots__/undefined.png +0 -0
- package/test/__screenshots__/unknown-parameter-type.png +0 -0
- package/test/__screenshots__/unused-steps.png +0 -0
- package/test/acceptance.spec.ts +3 -5
- package/test/screenshot.css +2 -2
- package/tsconfig.build.json +1 -5
- package/tsconfig.json +2 -5
- package/webpack.config.js +10 -10
- package/.prettierignore +0 -1
- package/.prettierrc.json +0 -5
- package/eslint.config.mjs +0 -78
- /package/dist/src/{index.mustache.html → index.mustache} +0 -0
- /package/src/{index.mustache.html → index.mustache} +0 -0
package/dist/main.js.LICENSE.txt
CHANGED
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Determine if an object is a Buffer
|
|
3
|
-
*
|
|
4
|
-
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
|
-
* @license MIT
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/*!
|
|
9
|
-
* repeat-string <https://github.com/jonschlinkert/repeat-string>
|
|
10
|
-
*
|
|
11
|
-
* Copyright (c) 2014-2015, Jon Schlinkert.
|
|
12
|
-
* Licensed under the MIT License.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
1
|
/*! *****************************************************************************
|
|
16
2
|
Copyright (C) Microsoft. All rights reserved.
|
|
17
3
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
@@ -29,9 +15,19 @@ and limitations under the License.
|
|
|
29
15
|
|
|
30
16
|
/**
|
|
31
17
|
* @license React
|
|
32
|
-
* react-dom.production.
|
|
18
|
+
* react-dom-client.production.js
|
|
19
|
+
*
|
|
20
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
21
|
+
*
|
|
22
|
+
* This source code is licensed under the MIT license found in the
|
|
23
|
+
* LICENSE file in the root directory of this source tree.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @license React
|
|
28
|
+
* react-dom.production.js
|
|
33
29
|
*
|
|
34
|
-
* Copyright (c)
|
|
30
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
35
31
|
*
|
|
36
32
|
* This source code is licensed under the MIT license found in the
|
|
37
33
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -39,9 +35,9 @@ and limitations under the License.
|
|
|
39
35
|
|
|
40
36
|
/**
|
|
41
37
|
* @license React
|
|
42
|
-
* react.production.
|
|
38
|
+
* react-jsx-runtime.production.js
|
|
43
39
|
*
|
|
44
|
-
* Copyright (c)
|
|
40
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
45
41
|
*
|
|
46
42
|
* This source code is licensed under the MIT license found in the
|
|
47
43
|
* LICENSE file in the root directory of this source tree.
|
|
@@ -49,18 +45,19 @@ and limitations under the License.
|
|
|
49
45
|
|
|
50
46
|
/**
|
|
51
47
|
* @license React
|
|
52
|
-
*
|
|
48
|
+
* react.production.js
|
|
53
49
|
*
|
|
54
|
-
* Copyright (c)
|
|
50
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
55
51
|
*
|
|
56
52
|
* This source code is licensed under the MIT license found in the
|
|
57
53
|
* LICENSE file in the root directory of this source tree.
|
|
58
54
|
*/
|
|
59
55
|
|
|
60
|
-
/**
|
|
61
|
-
*
|
|
56
|
+
/**
|
|
57
|
+
* @license React
|
|
58
|
+
* scheduler.production.js
|
|
62
59
|
*
|
|
63
|
-
* Copyright (c)
|
|
60
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
64
61
|
*
|
|
65
62
|
* This source code is licensed under the MIT license found in the
|
|
66
63
|
* LICENSE file in the root directory of this source tree.
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cucumber/html-formatter",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "23.1.0",
|
|
4
4
|
"description": "HTML formatter for Cucumber",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
"build:tsc": "tsc --build tsconfig.build.json",
|
|
16
16
|
"build:webpack": "webpack",
|
|
17
17
|
"build": "npm run clean && npm run build:tsc && npm run prepare && npm run build:webpack",
|
|
18
|
-
"prepare": "shx mkdir -p dist/src && shx cp src/*.scss dist/src && shx cp src/index.mustache
|
|
18
|
+
"prepare": "shx mkdir -p dist/src && shx cp src/*.scss dist/src && shx cp src/index.mustache dist/src && shx cp src/icon.url dist/src",
|
|
19
19
|
"test": "mocha",
|
|
20
20
|
"prepublishOnly": "npm run build",
|
|
21
|
-
"fix": "
|
|
22
|
-
"lint": "
|
|
21
|
+
"fix": "biome check --fix --error-on-warnings",
|
|
22
|
+
"lint": "biome check --error-on-warnings",
|
|
23
23
|
"acceptance:local": "docker compose run --rm playwright",
|
|
24
24
|
"acceptance:update": "docker compose run --rm playwright npx playwright test --update-snapshots"
|
|
25
25
|
},
|
|
@@ -27,51 +27,40 @@
|
|
|
27
27
|
"@cucumber/messages": ">=18"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@babel/core": "7.
|
|
31
|
-
"@
|
|
32
|
-
"@cucumber/
|
|
30
|
+
"@babel/core": "7.29.0",
|
|
31
|
+
"@biomejs/biome": "^2.4.11",
|
|
32
|
+
"@cucumber/biome-config": "github:cucumber/biome-config#v0.1.0",
|
|
33
|
+
"@cucumber/compatibility-kit": "^29.1.4",
|
|
34
|
+
"@cucumber/gherkin": "39.0.0",
|
|
33
35
|
"@cucumber/gherkin-streams": "^6.0.0",
|
|
34
|
-
"@cucumber/gherkin-utils": "^
|
|
35
|
-
"@cucumber/message-streams": "4.
|
|
36
|
-
"@cucumber/messages": "
|
|
37
|
-
"@cucumber/query": "
|
|
38
|
-
"@cucumber/react-components": "24.
|
|
39
|
-
"@
|
|
40
|
-
"@eslint/eslintrc": "^3.3.1",
|
|
41
|
-
"@eslint/js": "^9.32.0",
|
|
42
|
-
"@playwright/test": "1.56.1",
|
|
36
|
+
"@cucumber/gherkin-utils": "^11.0.0",
|
|
37
|
+
"@cucumber/message-streams": "4.1.1",
|
|
38
|
+
"@cucumber/messages": "32.3.0",
|
|
39
|
+
"@cucumber/query": "15.0.1",
|
|
40
|
+
"@cucumber/react-components": "24.3.0",
|
|
41
|
+
"@playwright/test": "1.59.1",
|
|
43
42
|
"@types/glob": "^9.0.0",
|
|
44
43
|
"@types/mocha": "10.0.10",
|
|
45
|
-
"@types/node": "22.19.
|
|
46
|
-
"@types/react": "
|
|
47
|
-
"@types/react-dom": "
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"css-
|
|
52
|
-
"eslint": "^9.32.0",
|
|
53
|
-
"eslint-plugin-import": "^2.32.0",
|
|
54
|
-
"eslint-plugin-n": "^17.21.3",
|
|
55
|
-
"eslint-plugin-react": "^7.37.5",
|
|
56
|
-
"eslint-plugin-react-hooks": "^5.2.0",
|
|
57
|
-
"eslint-plugin-simple-import-sort": "^12.1.1",
|
|
58
|
-
"glob": "^11.0.0",
|
|
59
|
-
"globals": "^16.0.0",
|
|
60
|
-
"mini-css-extract-plugin": "2.9.4",
|
|
44
|
+
"@types/node": "22.19.17",
|
|
45
|
+
"@types/react": "19.2.14",
|
|
46
|
+
"@types/react-dom": "19.2.3",
|
|
47
|
+
"babel-loader": "10.1.1",
|
|
48
|
+
"css-loader": "7.1.4",
|
|
49
|
+
"glob": "^13.0.0",
|
|
50
|
+
"mini-css-extract-plugin": "2.10.2",
|
|
61
51
|
"mocha": "11.7.5",
|
|
62
|
-
"
|
|
63
|
-
"react": "
|
|
64
|
-
"
|
|
65
|
-
"sass": "
|
|
66
|
-
"sass-loader": "16.0.6",
|
|
52
|
+
"react": "19.2.5",
|
|
53
|
+
"react-dom": "19.2.5",
|
|
54
|
+
"sass": "1.99.0",
|
|
55
|
+
"sass-loader": "16.0.7",
|
|
67
56
|
"serve": "^14.2.4",
|
|
68
57
|
"shx": "^0.4.0",
|
|
69
58
|
"source-map-support": "0.5.21",
|
|
70
|
-
"ts-loader": "9.5.
|
|
59
|
+
"ts-loader": "9.5.7",
|
|
71
60
|
"ts-node": "10.9.2",
|
|
72
61
|
"typescript": "5.9.3",
|
|
73
|
-
"webpack": "5.
|
|
74
|
-
"webpack-cli": "
|
|
62
|
+
"webpack": "5.106.1",
|
|
63
|
+
"webpack-cli": "7.0.2"
|
|
75
64
|
},
|
|
76
65
|
"bugs": {
|
|
77
66
|
"url": "https://github.com/cucumber/html-formatter/issues"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import { Transform, type TransformCallback } from 'node:stream';
|
|
2
|
+
import type { Envelope } from '@cucumber/messages';
|
|
3
3
|
export declare class CucumberHtmlStream extends Transform {
|
|
4
4
|
private readonly cssPath;
|
|
5
5
|
private readonly jsPath;
|
|
@@ -14,7 +14,7 @@ export declare class CucumberHtmlStream extends Transform {
|
|
|
14
14
|
* @param iconPath
|
|
15
15
|
*/
|
|
16
16
|
constructor(cssPath?: string, jsPath?: string, iconPath?: string);
|
|
17
|
-
_transform(envelope:
|
|
17
|
+
_transform(envelope: Envelope, _encoding: string, callback: TransformCallback): void;
|
|
18
18
|
_flush(callback: TransformCallback): void;
|
|
19
19
|
private writePreMessageUnlessAlreadyWritten;
|
|
20
20
|
private writePostMessage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberHtmlStream.d.ts","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CucumberHtmlStream.d.ts","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAElD,qBAAa,kBAAmB,SAAQ,SAAS;IAY7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAb3B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;IAEnC;;;;OAIG;gBAEgB,OAAO,GAAE,MAA+C,EACxD,MAAM,GAAE,MAA8C,EACtD,QAAQ,GAAE,MAAyC;IAK/D,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAgBpF,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIhD,OAAO,CAAC,mCAAmC;IA8B3C,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,YAAY;CAUrB"}
|
|
@@ -4,16 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.CucumberHtmlStream = void 0;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
class CucumberHtmlStream extends
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const node_stream_1 = require("node:stream");
|
|
10
|
+
class CucumberHtmlStream extends node_stream_1.Transform {
|
|
11
11
|
/**
|
|
12
12
|
* @param cssPath
|
|
13
13
|
* @param jsPath
|
|
14
14
|
* @param iconPath
|
|
15
15
|
*/
|
|
16
|
-
constructor(cssPath =
|
|
16
|
+
constructor(cssPath = node_path_1.default.join(__dirname, '..', 'main.css'), jsPath = node_path_1.default.join(__dirname, '..', 'main.js'), iconPath = node_path_1.default.join(__dirname, 'icon.url')) {
|
|
17
17
|
super({ objectMode: true });
|
|
18
18
|
this.cssPath = cssPath;
|
|
19
19
|
this.jsPath = jsPath;
|
|
@@ -23,13 +23,16 @@ class CucumberHtmlStream extends stream_1.Transform {
|
|
|
23
23
|
this.postMessageWritten = false;
|
|
24
24
|
this.firstMessageWritten = false;
|
|
25
25
|
}
|
|
26
|
-
_transform(envelope,
|
|
26
|
+
_transform(envelope, _encoding, callback) {
|
|
27
27
|
if (this.postMessageWritten) {
|
|
28
|
-
|
|
28
|
+
callback(new Error('Stream closed'));
|
|
29
|
+
return;
|
|
29
30
|
}
|
|
30
31
|
this.writePreMessageUnlessAlreadyWritten((err) => {
|
|
31
|
-
if (err)
|
|
32
|
-
|
|
32
|
+
if (err) {
|
|
33
|
+
callback(err);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
33
36
|
this.writeMessage(envelope);
|
|
34
37
|
callback();
|
|
35
38
|
});
|
|
@@ -93,7 +96,7 @@ class CucumberHtmlStream extends stream_1.Transform {
|
|
|
93
96
|
});
|
|
94
97
|
}
|
|
95
98
|
writeFile(path, callback) {
|
|
96
|
-
const cssStream =
|
|
99
|
+
const cssStream = node_fs_1.default.createReadStream(path, { encoding: 'utf-8' });
|
|
97
100
|
cssStream.on('data', (chunk) => this.push(chunk));
|
|
98
101
|
cssStream.on('error', (err) => callback(err));
|
|
99
102
|
cssStream.on('end', callback);
|
|
@@ -114,7 +117,7 @@ class CucumberHtmlStream extends stream_1.Transform {
|
|
|
114
117
|
if (this.template !== null) {
|
|
115
118
|
return callback(null, this.template);
|
|
116
119
|
}
|
|
117
|
-
|
|
120
|
+
node_fs_1.default.readFile(`${__dirname}/index.mustache`, { encoding: 'utf-8' }, (err, template) => {
|
|
118
121
|
if (err)
|
|
119
122
|
return callback(err);
|
|
120
123
|
this.template = template;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberHtmlStream.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"CucumberHtmlStream.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,14 +12,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const
|
|
16
|
-
const
|
|
15
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
16
|
+
const node_stream_1 = require("node:stream");
|
|
17
17
|
const CucumberHtmlStream_1 = require("./CucumberHtmlStream");
|
|
18
18
|
function renderAsHtml(...envelopes) {
|
|
19
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
20
20
|
return new Promise((resolve, reject) => {
|
|
21
21
|
let html = '';
|
|
22
|
-
const sink = new
|
|
22
|
+
const sink = new node_stream_1.Writable({
|
|
23
23
|
write(chunk, _, callback) {
|
|
24
24
|
html += chunk;
|
|
25
25
|
callback();
|
|
@@ -39,7 +39,7 @@ function renderAsHtml(...envelopes) {
|
|
|
39
39
|
describe('CucumberHtmlStream', () => {
|
|
40
40
|
it('writes zero messages to html', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
41
|
const html = yield renderAsHtml();
|
|
42
|
-
(0,
|
|
42
|
+
(0, node_assert_1.default)(html.indexOf('window.CUCUMBER_MESSAGES = []') >= 0);
|
|
43
43
|
}));
|
|
44
44
|
it('writes one message to html', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
45
|
const e1 = {
|
|
@@ -48,7 +48,7 @@ describe('CucumberHtmlStream', () => {
|
|
|
48
48
|
},
|
|
49
49
|
};
|
|
50
50
|
const html = yield renderAsHtml(e1);
|
|
51
|
-
(0,
|
|
51
|
+
(0, node_assert_1.default)(html.indexOf(`window.CUCUMBER_MESSAGES = [${JSON.stringify(e1)}]`) >= 0);
|
|
52
52
|
}));
|
|
53
53
|
it('writes two messages to html', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
54
|
const e1 = {
|
|
@@ -63,7 +63,7 @@ describe('CucumberHtmlStream', () => {
|
|
|
63
63
|
},
|
|
64
64
|
};
|
|
65
65
|
const html = yield renderAsHtml(e1, e2);
|
|
66
|
-
(0,
|
|
66
|
+
(0, node_assert_1.default)(html.indexOf(`window.CUCUMBER_MESSAGES = [${JSON.stringify(e1)},${JSON.stringify(e2)}]`) >= 0);
|
|
67
67
|
}));
|
|
68
68
|
it('escapes forward slashes', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
69
69
|
const e1 = {
|
|
@@ -80,7 +80,7 @@ describe('CucumberHtmlStream', () => {
|
|
|
80
80
|
},
|
|
81
81
|
};
|
|
82
82
|
const html = yield renderAsHtml(e1);
|
|
83
|
-
(0,
|
|
83
|
+
(0, node_assert_1.default)(html.indexOf(`window.CUCUMBER_MESSAGES = [{"gherkinDocument":{"comments":[{"location":{"line":0,"column":0},"text":"\\x3C/script>\\x3Cscript>alert('Hello')\\x3C/script>"}]}}];`) >= 0);
|
|
84
84
|
}));
|
|
85
85
|
});
|
|
86
86
|
//# sourceMappingURL=CucumberHtmlStream.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberHtmlStream.spec.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"CucumberHtmlStream.spec.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/src/main.d.ts
CHANGED
package/dist/src/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AAEtB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAA;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAIlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,iBAAiB,EAAE,QAAQ,EAAE,CAAA;KAC9B;CACF"}
|
package/dist/src/main.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
4
|
require("./styles.scss");
|
|
7
5
|
const react_components_1 = require("@cucumber/react-components");
|
|
8
|
-
const react_1 = __importDefault(require("react"));
|
|
9
6
|
const client_1 = require("react-dom/client");
|
|
10
7
|
const root = (0, client_1.createRoot)(document.getElementById('content'));
|
|
11
|
-
root.render(
|
|
12
|
-
react_1.default.createElement(react_components_1.UrlSearchProvider, null,
|
|
13
|
-
react_1.default.createElement("div", { id: "report", className: "html-formatter" },
|
|
14
|
-
react_1.default.createElement(react_components_1.Report, null)))));
|
|
8
|
+
root.render((0, jsx_runtime_1.jsx)(react_components_1.EnvelopesProvider, { envelopes: window.CUCUMBER_MESSAGES, children: (0, jsx_runtime_1.jsx)(react_components_1.UrlSearchProvider, { children: (0, jsx_runtime_1.jsx)("div", { id: "report", className: "html-formatter", children: (0, jsx_runtime_1.jsx)(react_components_1.Report, {}) }) }) }));
|
|
15
9
|
//# sourceMappingURL=main.js.map
|
package/dist/src/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.tsx"],"names":[],"mappings":";;;AAAA,yBAAsB;AAGtB,iEAAyF;AACzF,6CAA6C;AAQ7C,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAgB,CAAC,CAAA;AAE1E,IAAI,CAAC,MAAM,CACT,uBAAC,oCAAiB,IAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,YACpD,uBAAC,oCAAiB,cAChB,gCAAK,EAAE,EAAC,QAAQ,EAAC,SAAS,EAAC,gBAAgB,YACzC,uBAAC,yBAAM,KAAG,GACN,GACY,GACF,CACrB,CAAA"}
|
|
@@ -24,7 +24,7 @@ test_1.test.beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
24
24
|
const outputDir = node_path_1.default.join(__dirname, './__output__');
|
|
25
25
|
for (const fixture of fixtures) {
|
|
26
26
|
const name = node_path_1.default.basename(fixture, '.ndjson');
|
|
27
|
-
const outputFile = node_path_1.default.join(outputDir, name
|
|
27
|
+
const outputFile = node_path_1.default.join(outputDir, `${name}.html`);
|
|
28
28
|
yield (0, promises_1.pipeline)(node_fs_1.default.createReadStream(fixture, { encoding: 'utf-8' }), new message_streams_1.NdjsonToMessageStream(), new src_1.CucumberHtmlStream(node_path_1.default.join(__dirname, '../dist/main.css'), node_path_1.default.join(__dirname, '../dist/main.js'), node_path_1.default.join(__dirname, '../dist/src/icon.url')), node_fs_1.default.createWriteStream(outputFile));
|
|
29
29
|
}
|
|
30
30
|
}));
|
|
@@ -33,7 +33,7 @@ for (const fixture of fixtures) {
|
|
|
33
33
|
(0, test_1.test)(`can render ${name}`, (_a) => __awaiter(void 0, [_a], void 0, function* ({ page }) {
|
|
34
34
|
yield page.goto(`/${name}.html`);
|
|
35
35
|
yield page.waitForSelector('#report', { timeout: 3000 });
|
|
36
|
-
yield (0, test_1.expect)(page).toHaveScreenshot(`${name}.png
|
|
36
|
+
yield (0, test_1.expect)(page).toHaveScreenshot(`${name}.png`, { fullPage: true });
|
|
37
37
|
}));
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=acceptance.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance.spec.js","sourceRoot":"","sources":["../../test/acceptance.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAC5B,mDAA+C;AAE/C,+DAAiE;AACjE,2CAA+C;AAC/C,+BAA2B;AAE3B,gCAA2C;AAE3C,MAAM,QAAQ,GAAG,IAAA,WAAI,
|
|
1
|
+
{"version":3,"file":"acceptance.spec.js","sourceRoot":"","sources":["../../test/acceptance.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAwB;AACxB,0DAA4B;AAC5B,mDAA+C;AAE/C,+DAAiE;AACjE,2CAA+C;AAC/C,+BAA2B;AAE3B,gCAA2C;AAE3C,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,iEAAiE,CAAC,CAAA;AAExF,WAAI,CAAC,SAAS,CAAC,GAAS,EAAE;IACxB,MAAM,SAAS,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAEtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QAC9C,MAAM,UAAU,GAAG,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,CAAA;QAEvD,MAAM,IAAA,mBAAQ,EACZ,iBAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACnD,IAAI,uCAAqB,EAAE,EAC3B,IAAI,wBAAkB,CACpB,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EACxC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACvC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAC7C,EACD,iBAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CACjC,CAAA;IACH,CAAC;AACH,CAAC,CAAA,CAAC,CAAA;AAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAE9C,IAAA,WAAI,EAAC,cAAc,IAAI,EAAE,EAAE,KAAiB,EAAE,4CAAZ,EAAE,IAAI,EAAE;QACxC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,CAAA;QAChC,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QACxD,MAAM,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,GAAG,IAAI,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACxE,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC"}
|