@cucumber/html-formatter 21.11.0 → 21.13.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 +1 -0
- package/dist/main.css +19 -19
- package/dist/main.js +1 -1
- package/dist/package.json +18 -17
- package/dist/src/CucumberHtmlStream.spec.d.ts +2 -0
- package/dist/src/CucumberHtmlStream.spec.d.ts.map +1 -0
- package/dist/{test/CucumberHtmlStreamTest.js → src/CucumberHtmlStream.spec.js} +3 -3
- package/dist/src/CucumberHtmlStream.spec.js.map +1 -0
- package/dist/test/acceptance.spec.d.ts +2 -0
- package/dist/test/acceptance.spec.d.ts.map +1 -0
- package/dist/test/acceptance.spec.js +39 -0
- package/dist/test/acceptance.spec.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +18 -17
- package/playwright.config.ts +32 -0
- package/{test/CucumberHtmlStreamTest.ts → src/CucumberHtmlStream.spec.ts} +1 -1
- package/test/__output__/.gitkeep +0 -0
- package/test/__screenshots__/attachments-feature.png +0 -0
- package/test/__screenshots__/cdata-feature.png +0 -0
- package/test/__screenshots__/data-tables-feature.png +0 -0
- package/test/__screenshots__/empty-feature.png +0 -0
- package/test/__screenshots__/examples-tables-attachment-feature.png +0 -0
- package/test/__screenshots__/examples-tables-feature.png +0 -0
- package/test/__screenshots__/hooks-attachment-feature.png +0 -0
- package/test/__screenshots__/hooks-conditional-feature.png +0 -0
- package/test/__screenshots__/hooks-feature.png +0 -0
- package/test/__screenshots__/hooks-named-feature.png +0 -0
- package/test/__screenshots__/markdown-feature-md.png +0 -0
- package/test/__screenshots__/minimal-feature.png +0 -0
- package/test/__screenshots__/parameter-types-feature.png +0 -0
- package/test/__screenshots__/pending-feature.png +0 -0
- package/test/__screenshots__/retry-feature.png +0 -0
- package/test/__screenshots__/rules-feature.png +0 -0
- package/test/__screenshots__/skipped-feature.png +0 -0
- package/test/__screenshots__/stack-traces-feature.png +0 -0
- package/test/__screenshots__/undefined-feature.png +0 -0
- package/test/__screenshots__/unknown-parameter-type-feature.png +0 -0
- package/test/acceptance.spec.ts +42 -0
- package/test/screenshot.css +4 -0
- package/dist/test/CucumberHtmlStreamTest.d.ts +0 -2
- package/dist/test/CucumberHtmlStreamTest.d.ts.map +0 -1
- package/dist/test/CucumberHtmlStreamTest.js.map +0 -1
- package/dist/test/acceptance.d.ts +0 -2
- package/dist/test/acceptance.d.ts.map +0 -1
- package/dist/test/acceptance.js +0 -65
- package/dist/test/acceptance.js.map +0 -1
- package/test/acceptance.ts +0 -68
- /package/{test → src}/dummy.css +0 -0
- /package/{test → src}/dummy.js +0 -0
|
@@ -2,7 +2,7 @@ import * as messages from '@cucumber/messages'
|
|
|
2
2
|
import assert from 'assert'
|
|
3
3
|
import { Writable } from 'stream'
|
|
4
4
|
|
|
5
|
-
import { CucumberHtmlStream } from '
|
|
5
|
+
import { CucumberHtmlStream } from './CucumberHtmlStream'
|
|
6
6
|
|
|
7
7
|
async function renderAsHtml(
|
|
8
8
|
...envelopes: messages.Envelope[]
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import fs from 'node:fs'
|
|
2
|
+
import path from 'node:path'
|
|
3
|
+
import { pipeline } from 'node:stream/promises'
|
|
4
|
+
|
|
5
|
+
import { NdjsonToMessageStream } from '@cucumber/message-streams'
|
|
6
|
+
import { expect, test } from '@playwright/test'
|
|
7
|
+
import { sync } from 'glob'
|
|
8
|
+
|
|
9
|
+
import { CucumberHtmlStream } from '../src'
|
|
10
|
+
|
|
11
|
+
const fixtures = sync(
|
|
12
|
+
`./node_modules/@cucumber/compatibility-kit/features/**/*.ndjson`
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
test.beforeAll(async () => {
|
|
16
|
+
const outputDir = path.join(__dirname, './__output__')
|
|
17
|
+
|
|
18
|
+
for (const fixture of fixtures) {
|
|
19
|
+
const name = path.basename(fixture, '.ndjson')
|
|
20
|
+
const outputFile = path.join(outputDir, name + '.html')
|
|
21
|
+
|
|
22
|
+
await pipeline(
|
|
23
|
+
fs.createReadStream(fixture, { encoding: 'utf-8' }),
|
|
24
|
+
new NdjsonToMessageStream(),
|
|
25
|
+
new CucumberHtmlStream(
|
|
26
|
+
path.join(__dirname, '../dist/main.css'),
|
|
27
|
+
path.join(__dirname, '../dist/main.js')
|
|
28
|
+
),
|
|
29
|
+
fs.createWriteStream(outputFile)
|
|
30
|
+
)
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
for (const fixture of fixtures) {
|
|
35
|
+
const name = path.basename(fixture, '.ndjson')
|
|
36
|
+
|
|
37
|
+
test(`can render ${name}`, async ({ page }) => {
|
|
38
|
+
await page.goto(`/${name}.html`)
|
|
39
|
+
await page.waitForSelector('#report', { timeout: 3000 })
|
|
40
|
+
await expect(page).toHaveScreenshot(`${name}.png`)
|
|
41
|
+
})
|
|
42
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberHtmlStreamTest.d.ts","sourceRoot":"","sources":["../../test/CucumberHtmlStreamTest.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CucumberHtmlStreamTest.js","sourceRoot":"","sources":["../../test/CucumberHtmlStreamTest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance.d.ts","sourceRoot":"","sources":["../../test/acceptance.ts"],"names":[],"mappings":""}
|
package/dist/test/acceptance.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
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 message_streams_1 = require("@cucumber/message-streams");
|
|
16
|
-
const assert_1 = __importDefault(require("assert"));
|
|
17
|
-
const fs_1 = __importDefault(require("fs"));
|
|
18
|
-
const glob_1 = require("glob");
|
|
19
|
-
const path_1 = __importDefault(require("path"));
|
|
20
|
-
const puppeteer_1 = __importDefault(require("puppeteer"));
|
|
21
|
-
const stream_1 = require("stream");
|
|
22
|
-
const src_1 = require("../src");
|
|
23
|
-
function canRenderHtml(html) {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const browser = yield puppeteer_1.default.launch({
|
|
26
|
-
headless: true,
|
|
27
|
-
args: ['--no-sandbox'],
|
|
28
|
-
});
|
|
29
|
-
const page = yield browser.newPage();
|
|
30
|
-
yield page.setContent(html);
|
|
31
|
-
const dynamicHTML = yield page.evaluate(() => {
|
|
32
|
-
const content = document.getElementById('report');
|
|
33
|
-
return content && content.innerHTML;
|
|
34
|
-
});
|
|
35
|
-
yield browser.close();
|
|
36
|
-
if (!dynamicHTML) {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
return true;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
describe('html-formatter', () => {
|
|
43
|
-
const files = (0, glob_1.sync)(`./node_modules/@cucumber/compatibility-kit/features/**/*.ndjson`);
|
|
44
|
-
for (const ndjson of files) {
|
|
45
|
-
const name = path_1.default.basename(ndjson, '.ndjson');
|
|
46
|
-
it(`can render ${name}`, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
-
const ndjsonData = fs_1.default.createReadStream(ndjson, { encoding: 'utf-8' });
|
|
48
|
-
const toMessageStream = new message_streams_1.NdjsonToMessageStream();
|
|
49
|
-
const htmlData = yield new Promise((resolve, reject) => {
|
|
50
|
-
const chunks = [];
|
|
51
|
-
const out = new stream_1.PassThrough()
|
|
52
|
-
.on('data', (chunk) => chunks.push(Buffer.from(chunk)))
|
|
53
|
-
.on('end', () => resolve(Buffer.concat(chunks).toString()));
|
|
54
|
-
(0, stream_1.pipeline)(ndjsonData, toMessageStream, new src_1.CucumberHtmlStream(path_1.default.join(__dirname, '../dist/main.css'), path_1.default.join(__dirname, '../dist/main.js')), out, (err) => {
|
|
55
|
-
if (err) {
|
|
56
|
-
reject(err);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
fs_1.default.writeFileSync(path_1.default.join(__dirname, '../acceptance', name + '.html'), htmlData.toString(), { encoding: 'utf-8' });
|
|
61
|
-
assert_1.default.ok(yield canRenderHtml(htmlData.toString()));
|
|
62
|
-
}));
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
//# sourceMappingURL=acceptance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../test/acceptance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+DAAiE;AACjE,oDAA2B;AAC3B,4CAAmB;AACnB,+BAA2B;AAC3B,gDAAuB;AACvB,0DAAiC;AACjC,mCAA8C;AAE9C,gCAA2C;AAE3C,SAAe,aAAa,CAAC,IAAY;;QACvC,MAAM,OAAO,GAAG,MAAM,mBAAS,CAAC,MAAM,CAAC;YACrC,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,CAAC,cAAc,CAAC;SACvB,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YACjD,OAAO,OAAO,IAAI,OAAO,CAAC,SAAS,CAAA;QACrC,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QAErB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,MAAM,KAAK,GAAG,IAAA,WAAI,EAChB,iEAAiE,CAClE,CAAA;IACD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,cAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC7C,EAAE,CAAC,cAAc,IAAI,EAAE,EAAE,GAAS,EAAE;YAClC,MAAM,UAAU,GAAG,YAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;YACrE,MAAM,eAAe,GAAG,IAAI,uCAAqB,EAAE,CAAA;YACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7D,MAAM,MAAM,GAAa,EAAE,CAAA;gBAC3B,MAAM,GAAG,GAAG,IAAI,oBAAW,EAAE;qBAC1B,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;qBACtD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;gBAC7D,IAAA,iBAAQ,EACN,UAAU,EACV,eAAe,EACf,IAAI,wBAAkB,CACpB,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,EACxC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CACxC,EACD,GAAG,EACH,CAAC,GAAU,EAAE,EAAE;oBACb,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAA;oBACb,CAAC;gBACH,CAAC,CACF,CAAA;YACH,CAAC,CAAC,CAAA;YACF,YAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,GAAG,OAAO,CAAC,EACrD,QAAQ,CAAC,QAAQ,EAAE,EACnB,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAA;YACD,gBAAM,CAAC,EAAE,CAAC,MAAM,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QACrD,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAC,CAAA"}
|
package/test/acceptance.ts
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { NdjsonToMessageStream } from '@cucumber/message-streams'
|
|
2
|
-
import assert from 'assert'
|
|
3
|
-
import fs from 'fs'
|
|
4
|
-
import { sync } from 'glob'
|
|
5
|
-
import path from 'path'
|
|
6
|
-
import puppeteer from 'puppeteer'
|
|
7
|
-
import { PassThrough, pipeline } from 'stream'
|
|
8
|
-
|
|
9
|
-
import { CucumberHtmlStream } from '../src'
|
|
10
|
-
|
|
11
|
-
async function canRenderHtml(html: string): Promise<boolean> {
|
|
12
|
-
const browser = await puppeteer.launch({
|
|
13
|
-
headless: true,
|
|
14
|
-
args: ['--no-sandbox'],
|
|
15
|
-
})
|
|
16
|
-
const page = await browser.newPage()
|
|
17
|
-
await page.setContent(html)
|
|
18
|
-
const dynamicHTML = await page.evaluate(() => {
|
|
19
|
-
const content = document.getElementById('report')
|
|
20
|
-
return content && content.innerHTML
|
|
21
|
-
})
|
|
22
|
-
await browser.close()
|
|
23
|
-
|
|
24
|
-
if (!dynamicHTML) {
|
|
25
|
-
return false
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
return true
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
describe('html-formatter', () => {
|
|
32
|
-
const files = sync(
|
|
33
|
-
`./node_modules/@cucumber/compatibility-kit/features/**/*.ndjson`
|
|
34
|
-
)
|
|
35
|
-
for (const ndjson of files) {
|
|
36
|
-
const name = path.basename(ndjson, '.ndjson')
|
|
37
|
-
it(`can render ${name}`, async () => {
|
|
38
|
-
const ndjsonData = fs.createReadStream(ndjson, { encoding: 'utf-8' })
|
|
39
|
-
const toMessageStream = new NdjsonToMessageStream()
|
|
40
|
-
const htmlData = await new Promise<string>((resolve, reject) => {
|
|
41
|
-
const chunks: Buffer[] = []
|
|
42
|
-
const out = new PassThrough()
|
|
43
|
-
.on('data', (chunk) => chunks.push(Buffer.from(chunk)))
|
|
44
|
-
.on('end', () => resolve(Buffer.concat(chunks).toString()))
|
|
45
|
-
pipeline(
|
|
46
|
-
ndjsonData,
|
|
47
|
-
toMessageStream,
|
|
48
|
-
new CucumberHtmlStream(
|
|
49
|
-
path.join(__dirname, '../dist/main.css'),
|
|
50
|
-
path.join(__dirname, '../dist/main.js')
|
|
51
|
-
),
|
|
52
|
-
out,
|
|
53
|
-
(err: Error) => {
|
|
54
|
-
if (err) {
|
|
55
|
-
reject(err)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
)
|
|
59
|
-
})
|
|
60
|
-
fs.writeFileSync(
|
|
61
|
-
path.join(__dirname, '../acceptance', name + '.html'),
|
|
62
|
-
htmlData.toString(),
|
|
63
|
-
{ encoding: 'utf-8' }
|
|
64
|
-
)
|
|
65
|
-
assert.ok(await canRenderHtml(htmlData.toString()))
|
|
66
|
-
})
|
|
67
|
-
}
|
|
68
|
-
})
|
/package/{test → src}/dummy.css
RENAMED
|
File without changes
|
/package/{test → src}/dummy.js
RENAMED
|
File without changes
|