@cucumber/html-formatter 21.12.0 → 21.14.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.
Files changed (58) hide show
  1. package/.mocharc.json +1 -0
  2. package/dist/main.js +1 -1
  3. package/dist/package.json +29 -28
  4. package/dist/src/CucumberHtmlStream.d.ts +3 -1
  5. package/dist/src/CucumberHtmlStream.d.ts.map +1 -1
  6. package/dist/src/CucumberHtmlStream.js +32 -7
  7. package/dist/src/CucumberHtmlStream.js.map +1 -1
  8. package/dist/src/CucumberHtmlStream.spec.d.ts +2 -0
  9. package/dist/src/CucumberHtmlStream.spec.d.ts.map +1 -0
  10. package/dist/{test/CucumberHtmlStreamTest.js → src/CucumberHtmlStream.spec.js} +4 -4
  11. package/dist/src/CucumberHtmlStream.spec.js.map +1 -0
  12. package/dist/src/icon.url +1 -0
  13. package/dist/src/index.mustache.html +9 -3
  14. package/dist/test/acceptance.spec.d.ts +2 -0
  15. package/dist/test/acceptance.spec.d.ts.map +1 -0
  16. package/dist/test/acceptance.spec.js +39 -0
  17. package/dist/test/acceptance.spec.js.map +1 -0
  18. package/dist/tsconfig.build.tsbuildinfo +1 -1
  19. package/package.json +29 -28
  20. package/playwright.config.ts +32 -0
  21. package/{test/CucumberHtmlStreamTest.ts → src/CucumberHtmlStream.spec.ts} +2 -2
  22. package/src/CucumberHtmlStream.ts +36 -7
  23. package/src/icon.url +1 -0
  24. package/src/index.mustache.html +9 -3
  25. package/test/__output__/.gitkeep +0 -0
  26. package/test/__screenshots__/attachments-feature.png +0 -0
  27. package/test/__screenshots__/cdata-feature.png +0 -0
  28. package/test/__screenshots__/data-tables-feature.png +0 -0
  29. package/test/__screenshots__/empty-feature.png +0 -0
  30. package/test/__screenshots__/examples-tables-attachment-feature.png +0 -0
  31. package/test/__screenshots__/examples-tables-feature.png +0 -0
  32. package/test/__screenshots__/hooks-attachment-feature.png +0 -0
  33. package/test/__screenshots__/hooks-conditional-feature.png +0 -0
  34. package/test/__screenshots__/hooks-feature.png +0 -0
  35. package/test/__screenshots__/hooks-named-feature.png +0 -0
  36. package/test/__screenshots__/markdown-feature-md.png +0 -0
  37. package/test/__screenshots__/minimal-feature.png +0 -0
  38. package/test/__screenshots__/parameter-types-feature.png +0 -0
  39. package/test/__screenshots__/pending-feature.png +0 -0
  40. package/test/__screenshots__/retry-feature.png +0 -0
  41. package/test/__screenshots__/rules-feature.png +0 -0
  42. package/test/__screenshots__/skipped-feature.png +0 -0
  43. package/test/__screenshots__/stack-traces-feature.png +0 -0
  44. package/test/__screenshots__/undefined-feature.png +0 -0
  45. package/test/__screenshots__/unknown-parameter-type-feature.png +0 -0
  46. package/test/acceptance.spec.ts +43 -0
  47. package/test/screenshot.css +4 -0
  48. package/dist/test/CucumberHtmlStreamTest.d.ts +0 -2
  49. package/dist/test/CucumberHtmlStreamTest.d.ts.map +0 -1
  50. package/dist/test/CucumberHtmlStreamTest.js.map +0 -1
  51. package/dist/test/acceptance.d.ts +0 -2
  52. package/dist/test/acceptance.d.ts.map +0 -1
  53. package/dist/test/acceptance.js +0 -65
  54. package/dist/test/acceptance.js.map +0 -1
  55. package/logo.svg +0 -7
  56. package/test/acceptance.ts +0 -68
  57. /package/{test → src}/dummy.css +0 -0
  58. /package/{test → src}/dummy.js +0 -0
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cucumber/html-formatter",
3
- "version": "21.12.0",
3
+ "version": "21.14.0",
4
4
  "description": "HTML formatter for Cucumber",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -15,60 +15,61 @@
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.html dist/src",
19
- "test": "mocha --exclude test/acceptance.ts",
18
+ "prepare": "shx mkdir -p dist/src && shx cp src/*.scss dist/src && shx cp src/index.mustache.html dist/src && shx cp src/icon.url dist/src",
19
+ "test": "mocha",
20
20
  "prepublishOnly": "npm run build",
21
21
  "fix": "eslint --max-warnings 0 --fix src test && prettier --write src test",
22
22
  "lint": "eslint --max-warnings 0 src test && prettier --check src test",
23
- "validate": "shx mkdir -p acceptance && mocha test/acceptance.ts"
23
+ "acceptance": "playwright test"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "@cucumber/messages": ">=18"
27
27
  },
28
28
  "devDependencies": {
29
- "@babel/core": "7.27.4",
30
- "@cucumber/compatibility-kit": "^18.0.0",
31
- "@cucumber/gherkin": "32.1.2",
29
+ "@babel/core": "7.28.0",
30
+ "@cucumber/compatibility-kit": "^19.0.0",
31
+ "@cucumber/gherkin": "33.1.0",
32
32
  "@cucumber/gherkin-streams": "^5.0.1",
33
33
  "@cucumber/gherkin-utils": "^9.0.0",
34
34
  "@cucumber/message-streams": "4.0.1",
35
- "@cucumber/messages": "27.2.0",
36
- "@cucumber/query": "13.3.0",
37
- "@cucumber/react-components": "23.1.0",
38
- "@eslint/compat": "^1.2.7",
39
- "@eslint/eslintrc": "^3.2.0",
40
- "@eslint/js": "^9.20.0",
41
- "@types/glob": "^8.0.0",
35
+ "@cucumber/messages": "28.1.0",
36
+ "@cucumber/query": "13.5.0",
37
+ "@cucumber/react-components": "23.2.0",
38
+ "@eslint/compat": "^1.3.2",
39
+ "@eslint/eslintrc": "^3.3.1",
40
+ "@eslint/js": "^9.32.0",
41
+ "@playwright/test": "^1.54.2",
42
+ "@types/glob": "^9.0.0",
42
43
  "@types/mocha": "10.0.10",
43
- "@types/node": "22.15.32",
44
+ "@types/node": "22.17.1",
44
45
  "@types/react": "18.3.23",
45
46
  "@types/react-dom": "18.3.7",
46
- "@typescript-eslint/eslint-plugin": "^8.24.1",
47
- "@typescript-eslint/parser": "^8.24.1",
47
+ "@typescript-eslint/eslint-plugin": "^8.39.0",
48
+ "@typescript-eslint/parser": "^8.39.0",
48
49
  "babel-loader": "10.0.0",
49
50
  "css-loader": "7.1.2",
50
- "eslint": "^9.20.1",
51
- "eslint-plugin-import": "^2.31.0",
52
- "eslint-plugin-n": "^17.15.1",
53
- "eslint-plugin-react": "^7.37.4",
54
- "eslint-plugin-react-hooks": "^5.1.0",
51
+ "eslint": "^9.32.0",
52
+ "eslint-plugin-import": "^2.32.0",
53
+ "eslint-plugin-n": "^17.21.3",
54
+ "eslint-plugin-react": "^7.37.5",
55
+ "eslint-plugin-react-hooks": "^5.2.0",
55
56
  "eslint-plugin-simple-import-sort": "^12.1.1",
56
57
  "glob": "^11.0.0",
57
58
  "globals": "^16.0.0",
58
- "mini-css-extract-plugin": "2.9.2",
59
- "mocha": "11.7.0",
59
+ "mini-css-extract-plugin": "2.9.3",
60
+ "mocha": "11.7.1",
60
61
  "prettier": "^3.5.1",
61
- "puppeteer": "^24.0.0",
62
62
  "react": "18.3.1",
63
63
  "react-dom": "18.3.1",
64
- "sass": "1.89.2",
64
+ "sass": "1.90.0",
65
65
  "sass-loader": "16.0.5",
66
+ "serve": "^14.2.4",
66
67
  "shx": "^0.4.0",
67
68
  "source-map-support": "0.5.21",
68
69
  "ts-loader": "9.5.2",
69
70
  "ts-node": "10.9.2",
70
- "typescript": "5.7.3",
71
- "webpack": "5.99.9",
71
+ "typescript": "5.9.2",
72
+ "webpack": "5.101.0",
72
73
  "webpack-cli": "6.0.1"
73
74
  },
74
75
  "bugs": {
@@ -3,6 +3,7 @@ import { Transform, TransformCallback } from 'stream';
3
3
  export declare class CucumberHtmlStream extends Transform {
4
4
  private readonly cssPath;
5
5
  private readonly jsPath;
6
+ private readonly iconPath;
6
7
  private template;
7
8
  private preMessageWritten;
8
9
  private postMessageWritten;
@@ -10,8 +11,9 @@ export declare class CucumberHtmlStream extends Transform {
10
11
  /**
11
12
  * @param cssPath
12
13
  * @param jsPath
14
+ * @param iconPath
13
15
  */
14
- constructor(cssPath?: string, jsPath?: string);
16
+ constructor(cssPath?: string, jsPath?: string, iconPath?: string);
15
17
  _transform(envelope: messages.Envelope, encoding: string, callback: TransformCallback): void;
16
18
  _flush(callback: TransformCallback): void;
17
19
  private writePreMessageUnlessAlreadyWritten;
@@ -1 +1 @@
1
- {"version":3,"file":"CucumberHtmlStream.d.ts","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAG9C,OAAO,EAAY,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAE/D,qBAAa,kBAAmB,SAAQ,SAAS;IAU7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,kBAAkB,CAAQ;IAClC,OAAO,CAAC,mBAAmB,CAAQ;IACnC;;;OAGG;gBAEgB,OAAO,GAAE,MAA+C,EACxD,MAAM,GAAE,MAA8C;IAKlE,UAAU,CACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,GAC1B,IAAI;IAYA,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIhD,OAAO,CAAC,mCAAmC;IAiB3C,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;CAQrB"}
1
+ {"version":3,"file":"CucumberHtmlStream.d.ts","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAA;AAG9C,OAAO,EAAY,SAAS,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAE/D,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,CACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,GAC1B,IAAI;IAYA,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIhD,OAAO,CAAC,mCAAmC;IAkC3C,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;CAUrB"}
@@ -11,11 +11,13 @@ class CucumberHtmlStream extends stream_1.Transform {
11
11
  /**
12
12
  * @param cssPath
13
13
  * @param jsPath
14
+ * @param iconPath
14
15
  */
15
- constructor(cssPath = path_1.default.join(__dirname, '..', 'main.css'), jsPath = path_1.default.join(__dirname, '..', 'main.js')) {
16
+ constructor(cssPath = path_1.default.join(__dirname, '..', 'main.css'), jsPath = path_1.default.join(__dirname, '..', 'main.js'), iconPath = path_1.default.join(__dirname, 'icon.url')) {
16
17
  super({ objectMode: true });
17
18
  this.cssPath = cssPath;
18
19
  this.jsPath = jsPath;
20
+ this.iconPath = iconPath;
19
21
  this.template = null;
20
22
  this.preMessageWritten = false;
21
23
  this.postMessageWritten = false;
@@ -40,16 +42,33 @@ class CucumberHtmlStream extends stream_1.Transform {
40
42
  return callback();
41
43
  }
42
44
  this.preMessageWritten = true;
43
- this.writeTemplateBetween(null, '{{css}}', (err) => {
45
+ this.writeTemplateBetween(null, '{{title}}', (err) => {
44
46
  if (err)
45
47
  return callback(err);
46
- this.writeFile(this.cssPath, (err) => {
48
+ this.push('Cucumber');
49
+ this.writeTemplateBetween('{{title}}', '{{icon}}', (err) => {
47
50
  if (err)
48
51
  return callback(err);
49
- this.writeTemplateBetween('{{css}}', '{{messages}}', (err) => {
52
+ this.writeFile(this.iconPath, (err) => {
50
53
  if (err)
51
54
  return callback(err);
52
- callback();
55
+ this.writeTemplateBetween('{{icon}}', '{{css}}', (err) => {
56
+ if (err)
57
+ return callback(err);
58
+ this.writeFile(this.cssPath, (err) => {
59
+ if (err)
60
+ return callback(err);
61
+ this.writeTemplateBetween('{{css}}', '{{custom_css}}', (err) => {
62
+ if (err)
63
+ return callback(err);
64
+ this.writeTemplateBetween('{{custom_css}}', '{{messages}}', (err) => {
65
+ if (err)
66
+ return callback(err);
67
+ callback();
68
+ });
69
+ });
70
+ });
71
+ });
53
72
  });
54
73
  });
55
74
  });
@@ -64,7 +83,11 @@ class CucumberHtmlStream extends stream_1.Transform {
64
83
  this.writeFile(this.jsPath, (err) => {
65
84
  if (err)
66
85
  return callback(err);
67
- this.writeTemplateBetween('{{script}}', null, callback);
86
+ this.writeTemplateBetween('{{script}}', '{{custom_script}}', (err) => {
87
+ if (err)
88
+ return callback(err);
89
+ this.writeTemplateBetween('{{custom_script}}', null, callback);
90
+ });
68
91
  });
69
92
  });
70
93
  });
@@ -105,7 +128,9 @@ class CucumberHtmlStream extends stream_1.Transform {
105
128
  else {
106
129
  this.push(',');
107
130
  }
108
- this.push(JSON.stringify(envelope).replace(/\//g, '\\/'));
131
+ // Replace < with \x3C
132
+ // https://html.spec.whatwg.org/multipage/scripting.html#restrictions-for-contents-of-script-elements
133
+ this.push(JSON.stringify(envelope).replace(/</g, '\\x3C'));
109
134
  }
110
135
  }
111
136
  exports.CucumberHtmlStream = CucumberHtmlStream;
@@ -1 +1 @@
1
- {"version":3,"file":"CucumberHtmlStream.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CucumberHtmlStream.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CucumberHtmlStream.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CucumberHtmlStream.spec.d.ts","sourceRoot":"","sources":["../../src/CucumberHtmlStream.spec.ts"],"names":[],"mappings":""}
@@ -14,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  const assert_1 = __importDefault(require("assert"));
16
16
  const stream_1 = require("stream");
17
- const src_1 = require("../src");
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) => {
@@ -26,7 +26,7 @@ function renderAsHtml(...envelopes) {
26
26
  },
27
27
  });
28
28
  sink.on('finish', () => resolve(html));
29
- const cucumberHtmlStream = new src_1.CucumberHtmlStream(`${__dirname}/dummy.css`, `${__dirname}/dummy.js`);
29
+ const cucumberHtmlStream = new CucumberHtmlStream_1.CucumberHtmlStream(`${__dirname}/dummy.css`, `${__dirname}/dummy.js`);
30
30
  cucumberHtmlStream.on('error', reject);
31
31
  cucumberHtmlStream.pipe(sink);
32
32
  for (const envelope of envelopes) {
@@ -80,7 +80,7 @@ describe('CucumberHtmlStream', () => {
80
80
  },
81
81
  };
82
82
  const html = yield renderAsHtml(e1);
83
- (0, assert_1.default)(html.indexOf(`window.CUCUMBER_MESSAGES = [{"gherkinDocument":{"comments":[{"location":{"line":0,"column":0},"text":"<\\/script><script>alert('Hello')<\\/script>"}]}}];`) >= 0);
83
+ (0, 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
- //# sourceMappingURL=CucumberHtmlStreamTest.js.map
86
+ //# sourceMappingURL=CucumberHtmlStream.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CucumberHtmlStream.spec.js","sourceRoot":"","sources":["../../src/CucumberHtmlStream.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAuMDYgMC41NiAzMi41IDM3LjEzIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTS00LTFoNDB2NDBILTR6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iIzAwYTgxOCIKICAgICAgICAgICAgICBkPSJNMTYuNDM4LjU2M0M3LjM4Ni41NjMuMDYzIDcuODg2LjA2MyAxNi45MzhjMCA3Ljk2OCA1LjcxMiAxNC41ODkgMTMuMjUgMTYuMDYydjQuNjg4YzkuOC0xLjQ3OCAxOC40NzctOS4yNTcgMTkuMTI0LTE5LjQ3LjM5LTYuMTQ2LTIuNjc0LTEyLjQyMS03Ljg0My0xNS40NjhhMTMuNjIgMTMuNjIgMCAwIDAtMS44NzUtLjkzOGwtLjMxMy0uMTI1Yy0uMjg3LS4xMDYtLjU3Ny0uMjI1LS44NzUtLjMxMmExNi4yNDYgMTYuMjQ2IDAgMCAwLTUuMDkzLS44MTN2LjAwMXoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjZmZmIgogICAgICAgICAgICAgIGQ9Ik0xOS44MTMgNi42MjVhMS43ODcgMS43ODcgMCAwIDAtMS41NjMuNjI1Yy0uMy40LS40ODguNzg3LS42ODggMS4xODgtLjYgMS40LS40IDIuOS41IDQgMS40LS4zIDIuNTg4LTEuMTk0IDMuMTg4LTIuNTk0LjItLjQuMzEzLS45MTMuMzEzLTEuMzEzLjA2Mi0xLjA2Mi0uODE3LTEuODEtMS43NS0xLjkwNnptLTcuMjgyLjA5NGMtLjkxMy4wODctMS43ODEuODEyLTEuNzgxIDEuODEyIDAgLjQuMTEzLjkxMy4zMTMgMS4zMTMuNiAxLjQgMS44OCAyLjI5MyAzLjI4IDIuNTk0LjgtMS4xIDEuMDA3LTIuNi40MDctNC0uMi0uNC0uMzg3LS43OTQtLjY4OC0xLjA5NGExLjc1NyAxLjc1NyAwIDAgMC0xLjUzLS42MjVoLS4wMDF6TTcuNjI1IDExLjUzYy0xLjU3Ny4wODEtMi4yODEgMi4wNjMtLjk2OSAzLjA5NC40LjMuNzg4LjUxOSAxLjE4OC43MTkgMS40LjYgMy4wMTkuMzk0IDQuMjE4LS40MDYtLjMtMS4zLTEuMzE4LTIuNDk0LTIuNzE4LTMuMDk0LS41LS4yLS45MDYtLjMxMy0xLjQwNi0uMzEzLS4xMTMtLjAxMi0uMjA4LS4wMDUtLjMxMyAwem0xNS40MDYgNi4wNjNhNC41NzQgNC41NzQgMCAwIDAtMi41OTMuNzVjLjMgMS4zIDEuMzE4IDIuNDkzIDIuNzE4IDMuMDkzLjUuMi45MDcuMzEzIDEuNDA3LjMxMyAxLjguMSAyLjY4LTIuMTI1IDEuMjgtMy4xMjUtLjQtLjMtLjc4Ny0uNDg4LTEuMTg3LS42ODhhNC4zMiA0LjMyIDAgMCAwLTEuNjI1LS4zNDN6bS0xMy42NTYuMDkzYy0uNTUuMDExLTEuMS4xMi0xLjYyNS4zNDQtLjUuMi0uODg4LjQxOS0xLjE4OC43MTktMS4zIDEuMS0uNDI1IDMuMTk0IDEuMzc1IDMuMDk0LjUgMCAxLjAwNy0uMTEzIDEuNDA3LS4zMTMgMS40LS42IDIuMzk0LTEuNzkzIDIuNTk0LTMuMDkzYTQuNDc1IDQuNDc1IDAgMCAwLTIuNTYzLS43NXYtLjAwMXptNS4wNjMgMy4wNjNjLTEuNC4zLTIuNTg4IDEuMTk0LTMuMTg4IDIuNTk0LS4yLjQtLjMxMy44ODEtLjMxMyAxLjI4MS0uMSAxLjcgMi4yMiAyLjYxMyAzLjIyIDEuMzEzLjMtLjQuNDg3LS43ODguNjg3LTEuMTg4LjYtMS4zLjM5NC0yLjgtLjQwNi00em0zLjcxOC4wOTRjLS44IDEuMS0xLjAwNiAyLjYtLjQwNiA0IC4yLjQuMzg3Ljc5My42ODggMS4wOTMgMS4xIDEuMiAzLjQxMi4zMTMgMy4zMTItMS4xODcgMC0uNC0uMTEzLS45MTMtLjMxMy0xLjMxMy0uNi0xLjQtMS44OC0yLjI5My0zLjI4LTIuNTkzaC0uMDAxeiIvPgogICAgPC9nPgo8L3N2Zz4K
@@ -1,13 +1,16 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
- <title>Cucumber</title>
4
+ <title>{{title}}</title>
5
5
  <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <link rel="icon" href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAuMDYgMC41NiAzMi41IDM3LjEzIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTS00LTFoNDB2NDBILTR6Ii8+CiAgICAgICAgPHBhdGggZmlsbD0iIzAwYTgxOCIKICAgICAgICAgICAgICBkPSJNMTYuNDM4LjU2M0M3LjM4Ni41NjMuMDYzIDcuODg2LjA2MyAxNi45MzhjMCA3Ljk2OCA1LjcxMiAxNC41ODkgMTMuMjUgMTYuMDYydjQuNjg4YzkuOC0xLjQ3OCAxOC40NzctOS4yNTcgMTkuMTI0LTE5LjQ3LjM5LTYuMTQ2LTIuNjc0LTEyLjQyMS03Ljg0My0xNS40NjhhMTMuNjIgMTMuNjIgMCAwIDAtMS44NzUtLjkzOGwtLjMxMy0uMTI1Yy0uMjg3LS4xMDYtLjU3Ny0uMjI1LS44NzUtLjMxMmExNi4yNDYgMTYuMjQ2IDAgMCAwLTUuMDkzLS44MTN2LjAwMXoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjZmZmIgogICAgICAgICAgICAgIGQ9Ik0xOS44MTMgNi42MjVhMS43ODcgMS43ODcgMCAwIDAtMS41NjMuNjI1Yy0uMy40LS40ODguNzg3LS42ODggMS4xODgtLjYgMS40LS40IDIuOS41IDQgMS40LS4zIDIuNTg4LTEuMTk0IDMuMTg4LTIuNTk0LjItLjQuMzEzLS45MTMuMzEzLTEuMzEzLjA2Mi0xLjA2Mi0uODE3LTEuODEtMS43NS0xLjkwNnptLTcuMjgyLjA5NGMtLjkxMy4wODctMS43ODEuODEyLTEuNzgxIDEuODEyIDAgLjQuMTEzLjkxMy4zMTMgMS4zMTMuNiAxLjQgMS44OCAyLjI5MyAzLjI4IDIuNTk0LjgtMS4xIDEuMDA3LTIuNi40MDctNC0uMi0uNC0uMzg3LS43OTQtLjY4OC0xLjA5NGExLjc1NyAxLjc1NyAwIDAgMC0xLjUzLS42MjVoLS4wMDF6TTcuNjI1IDExLjUzYy0xLjU3Ny4wODEtMi4yODEgMi4wNjMtLjk2OSAzLjA5NC40LjMuNzg4LjUxOSAxLjE4OC43MTkgMS40LjYgMy4wMTkuMzk0IDQuMjE4LS40MDYtLjMtMS4zLTEuMzE4LTIuNDk0LTIuNzE4LTMuMDk0LS41LS4yLS45MDYtLjMxMy0xLjQwNi0uMzEzLS4xMTMtLjAxMi0uMjA4LS4wMDUtLjMxMyAwem0xNS40MDYgNi4wNjNhNC41NzQgNC41NzQgMCAwIDAtMi41OTMuNzVjLjMgMS4zIDEuMzE4IDIuNDkzIDIuNzE4IDMuMDkzLjUuMi45MDcuMzEzIDEuNDA3LjMxMyAxLjguMSAyLjY4LTIuMTI1IDEuMjgtMy4xMjUtLjQtLjMtLjc4Ny0uNDg4LTEuMTg3LS42ODhhNC4zMiA0LjMyIDAgMCAwLTEuNjI1LS4zNDN6bS0xMy42NTYuMDkzYy0uNTUuMDExLTEuMS4xMi0xLjYyNS4zNDQtLjUuMi0uODg4LjQxOS0xLjE4OC43MTktMS4zIDEuMS0uNDI1IDMuMTk0IDEuMzc1IDMuMDk0LjUgMCAxLjAwNy0uMTEzIDEuNDA3LS4zMTMgMS40LS42IDIuMzk0LTEuNzkzIDIuNTk0LTMuMDkzYTQuNDc1IDQuNDc1IDAgMCAwLTIuNTYzLS43NXYtLjAwMXptNS4wNjMgMy4wNjNjLTEuNC4zLTIuNTg4IDEuMTk0LTMuMTg4IDIuNTk0LS4yLjQtLjMxMy44ODEtLjMxMyAxLjI4MS0uMSAxLjcgMi4yMiAyLjYxMyAzLjIyIDEuMzEzLjMtLjQuNDg3LS43ODguNjg3LTEuMTg4LjYtMS4zLjM5NC0yLjgtLjQwNi00em0zLjcxOC4wOTRjLS44IDEuMS0xLjAwNiAyLjYtLjQwNiA0IC4yLjQuMzg3Ljc5My42ODggMS4wOTMgMS4xIDEuMiAzLjQxMi4zMTMgMy4zMTItMS4xODcgMC0uNC0uMTEzLS45MTMtLjMxMy0xLjMxMy0uNi0xLjQtMS44OC0yLjI5My0zLjI4LTIuNTkzaC0uMDAxeiIvPgogICAgPC9nPgo8L3N2Zz4K">
7
+ <link rel="icon" href="{{icon}}">
8
8
  <style>
9
9
  {{css}}
10
10
  </style>
11
+ <style>
12
+ {{custom_css}}
13
+ </style>
11
14
  </head>
12
15
  <body>
13
16
  <div id="content">
@@ -18,5 +21,8 @@ window.CUCUMBER_MESSAGES = [{{messages}}];
18
21
  <script>
19
22
  {{script}}
20
23
  </script>
24
+ <script>
25
+ {{custom_script}}
26
+ </script>
21
27
  </body>
22
- </html>
28
+ </html>
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=acceptance.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceptance.spec.d.ts","sourceRoot":"","sources":["../../test/acceptance.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const node_fs_1 = __importDefault(require("node:fs"));
16
+ const node_path_1 = __importDefault(require("node:path"));
17
+ const promises_1 = require("node:stream/promises");
18
+ const message_streams_1 = require("@cucumber/message-streams");
19
+ const test_1 = require("@playwright/test");
20
+ const glob_1 = require("glob");
21
+ const src_1 = require("../src");
22
+ const fixtures = (0, glob_1.sync)(`./node_modules/@cucumber/compatibility-kit/features/**/*.ndjson`);
23
+ test_1.test.beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
24
+ const outputDir = node_path_1.default.join(__dirname, './__output__');
25
+ for (const fixture of fixtures) {
26
+ const name = node_path_1.default.basename(fixture, '.ndjson');
27
+ const outputFile = node_path_1.default.join(outputDir, name + '.html');
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
+ }
30
+ }));
31
+ for (const fixture of fixtures) {
32
+ const name = node_path_1.default.basename(fixture, '.ndjson');
33
+ (0, test_1.test)(`can render ${name}`, (_a) => __awaiter(void 0, [_a], void 0, function* ({ page }) {
34
+ yield page.goto(`/${name}.html`);
35
+ yield page.waitForSelector('#report', { timeout: 3000 });
36
+ yield (0, test_1.expect)(page).toHaveScreenshot(`${name}.png`);
37
+ }));
38
+ }
39
+ //# sourceMappingURL=acceptance.spec.js.map
@@ -0,0 +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,EACnB,iEAAiE,CAClE,CAAA;AAED,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,IAAI,GAAG,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,CAAC,CAAA;IACpD,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC"}