@test2doc/playwright 0.6.0 → 0.8.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/README.md CHANGED
@@ -284,9 +284,101 @@ test.describe(withDocMeta("describe block"), async () => {
284
284
  await screenshot(
285
285
  testInfo,
286
286
  page.getByRole("header", {name: "Page Title"},
287
- { label: { text: "Heading of the Page" } }
287
+ { annotation: { text: "Heading of the Page" } }
288
288
  ))
289
289
  })
290
290
  })
291
291
  })
292
- ```
292
+ ```
293
+
294
+ ##### Annotation Object Properties
295
+ To style the highlight and label we expose a few properties on the `annotation` object. They're named similar to the [Canvas 2D context](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D), which is used to render the highlight and label.
296
+
297
+ - **`text`**:
298
+ - **Type**: `string`
299
+ - **Description**: The text to display for the label. This is the main content that will be rendered on the canvas.
300
+ - **Default**: `""` (empty string)
301
+
302
+ - **`fillStyle`**:
303
+ - **Type**: `string`
304
+ - **Description**: The color of the label text. Accepts any valid CSS color value, including hex codes, RGB, RGBA, HSL, or HSLA.
305
+ - **Default**: `rgba(0, 0, 0, 1)` (black)
306
+
307
+ - **`font`**:
308
+ - **Type**: `string`
309
+ - **Description**: Specifies the font size, font-weight, and family for the label text. Follows the CSS font property syntax (e.g., `"16px Arial"`).
310
+ - **Default**: `"14px Arial"`
311
+
312
+ - **`strokeStyle`**:
313
+ - **Type**: `string`
314
+ - **Description**: The color of the outline around the label text. Accepts any valid CSS color value.
315
+ - **Default**: `rgba(0, 0, 0, 0.1)` (light black)
316
+
317
+ - **`lineWidth`**:
318
+ - **Type**: `number`
319
+ - **Description**: The thickness of the outline around the label text.
320
+ - **Default**: `2`
321
+
322
+ - **`labelBoxFillStyle`**:
323
+ - **Type**: `string`
324
+ - **Description**: The fill color of the label box surrounding the annotation text. Accepts any valid CSS color value, including hex codes, RGB, RGBA, HSL, or HSLA.
325
+ - **Default**: `rgba(0, 0, 0, 0)` (transparent)
326
+
327
+ - **`labelBoxStrokeStyle`**:
328
+ - **Type**: `string`
329
+ - **Description**: The border color of the label box. Similar to `labelBoxFillStyle`, this property accepts any valid CSS color value.
330
+ - **Default**: `rgba(0, 0, 0, 0)` (transparent)
331
+
332
+ - **`labelBoxLineWidth`**:
333
+ - **Type**: `number`
334
+ - **Description**: The width of the border for the label box. This property determines how thick the outline of the label box will be.
335
+ - **Default**: `2`
336
+
337
+ - **`highlightFillStyle`**:
338
+ - **Type**: `string`
339
+ - **Description**: The fill color of the highlight box. Accepts any valid CSS color value. **Make sure to add some transparency (`rgba()`, `hsla()`, or 8-digit hex format like `#FF000080`) else it will block the element entirely.**
340
+ - **Default**: `rgba(255, 165, 0, 0.3)` (orange with 30% transparency)
341
+
342
+ - **`highlightStrokeStyle`**:
343
+ - **Type**: `string`
344
+ - **Description**: The border color of the highlight box. Accepts any valid CSS color value.
345
+ - **Default**: `rgba(255, 165, 0, 1)` (solid orange)
346
+
347
+ - **`highlightLineWidth`**:
348
+ - **Type**: `number`
349
+ - **Description**: The width of the border for the highlight box.
350
+ - **Default**: `2`
351
+
352
+ - **`position`**:
353
+ - **Type**: `"above" | "below" | "left" | "right"`
354
+ - **Description**: Determines the position of the label text relative to the highlighted element.
355
+ - **Default**: `"below"` (the label will be placed below the highlighted element)
356
+
357
+ ```ts
358
+ test.describe(withDocMeta("describe block"), async () => {
359
+ test("test block", async ({ page }, testInfo) => {
360
+ ...
361
+ test.step("step block", async () => {
362
+ await page.goto("http://localhost:5173/")
363
+ await screenshot(
364
+ testInfo,
365
+ page.getByRole("header", {name: "Page Title"},
366
+ { annotation: {
367
+ text: "Heading of the Page",
368
+ fillStyle: "rgba(255, 255, 255, 1)",
369
+ font: "bold 16px Helvetica",
370
+ strokeStyle: "rgba(0, 0, 0, 0.5)",
371
+ lineWidth: 4,
372
+ labelBoxFillStyle: "rgba(0, 120, 120, 0.3)",
373
+ labelBoxStrokeStyle: "rgba(0, 255, 0, 1)",
374
+ labelBoxLineWidth: 2,
375
+ highlightFillStyle: "rgba(255, 165, 0, 0.3)",
376
+ highlightStrokeStyle: "#FFA500",
377
+ highlightLineWidth: 2,
378
+ position: "above"
379
+ }}
380
+ ))
381
+ })
382
+ })
383
+ })
384
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACT,MAAM,2BAA2B,CAAA;AAoClC,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAwBD;;;GAGG;AACH,cAAM,gBAAiB,YAAW,QAAQ;IACxC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,cAAc,CAAoB;gBAGxC,OAAO,GAAE,uBAER;IAKH,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;IAezC,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAmBpB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAOtE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAqBnE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU;IAS5C,KAAK;IAKL,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;CA6BzB;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACT,MAAM,2BAA2B,CAAA;AAoClC,UAAU,uBAAuB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAwBD;;;GAGG;AACH,cAAM,gBAAiB,YAAW,QAAQ;IACxC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,cAAc,CAAoB;gBAGxC,OAAO,GAAE,uBAER;IAKH,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;IAezC,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,YAAY;IAmBpB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAOtE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI;IAqBnE,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU;IAS5C,KAAK;IAOL,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,gBAAgB;CA6BzB;AAED,eAAe,gBAAgB,CAAA"}
package/dist/index.js CHANGED
@@ -97,7 +97,9 @@ class Test2DocReporter {
97
97
  }
98
98
  onEnd() {
99
99
  this.deleteScreenshots(this.outputDir);
100
- this.docs.forEach((doc) => this.buildDocFiles(doc));
100
+ this.docs.forEach((doc) => {
101
+ this.buildDocFiles(doc);
102
+ });
101
103
  }
102
104
  buildDocFiles(doc, outputDir = this.outputDir) {
103
105
  const [title, metadata, metaType] = this.extractDocMetadata(doc.title);
@@ -111,8 +113,10 @@ class Test2DocReporter {
111
113
  else if (metaType === "category") {
112
114
  const filePath = `${outputDir}/${convertToKebabCase(title)}`;
113
115
  mkdirSync(filePath, { recursive: true });
114
- writeFileSync(`${filePath}/__category__.json`, JSON.stringify(metadata, null, 2));
115
- doc.children.forEach((child) => this.buildDocFiles(child, filePath));
116
+ writeFileSync(`${filePath}/_category_.json`, JSON.stringify(metadata, null, 2));
117
+ doc.children.forEach((child) => {
118
+ this.buildDocFiles(child, filePath);
119
+ });
116
120
  this.generateScreenshots(filePath);
117
121
  }
118
122
  else {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,SAAS,EACT,WAAW,EACX,QAAQ,EACR,UAAU,EACV,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAM/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AA4ChC,0EAA0E;AAC1E,gBAAgB,EAAE,CAAA;AAElB;;;GAGG;AACH,MAAM,gBAAgB;IACZ,IAAI,GAAc,EAAE,CAAA;IACpB,MAAM,GAAmC,IAAI,GAAG,EAAE,CAAA;IAClD,SAAS,CAAQ;IACjB,mBAAmB,GAAoB,EAAE,CAAA;IACzC,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;IAE1C,YACE,UAAmC;QACjC,SAAS,EAAE,QAAQ;KACpB;QAED,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAA;IAChD,CAAC;IAED,OAAO,CAAC,OAAmB,EAAE,KAAY;QACvC,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QACd,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAC9B,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAClD,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAC5C,OAAO;gBACL,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBAC1C,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAA;QACH,CAAC,CAAC,IAAI,EAAE,CACX,CAAA;IACH,CAAC;IAEO,gBAAgB,CAAC,QAAgB,EAAE,KAAiB;QAC1D,MAAM,KAAK,GACT,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAA;QAClE,MAAM,OAAO,GAAY;YACvB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SACjC,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,aAAa,CAAC,KAAiB;QACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,OAAO,GAAY;gBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,EAAE;aACV,CAAA;YACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YACjC,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY,CAAC,KAAY;QAC/B,MAAM,OAAO,GAAY;YACvB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,EAAE;SACb,CAAA;QAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;YAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,WAAW,CAAC,IAAc,EAAE,OAAmB,EAAE,IAAc;QAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YACzE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;IAED,SAAS,CAAC,IAAc,EAAE,MAAkB,EAAE,IAAc;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC3C,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;YACzE,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC5C,IAAI,CAAC,UAAU,EAAE,IAAI;oBAAE,SAAQ;gBAE/B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;gBAE9D,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;gBAEzC,IAAI,cAAc,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;oBACxC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;wBACpB,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE;qBAC/D,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,IAAc,EAAE,MAAkB;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/D,OAAO,CAAC,KAAK,CACX,yDAAyD,IAAI,CAAC,KAAK,EAAE,CACtE,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,aAAa,CAAC,GAAY,EAAE,YAAoB,IAAI,CAAC,SAAS;QACpE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAEtE,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;YACpD,MAAM,QAAQ,GACZ,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;YAC9D,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAA;YAC/D,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACjC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACrC,CAAC;aAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAA;YAC5D,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAExC,aAAa,CACX,GAAG,QAAQ,kBAAkB,EAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAClC,CAAA;YACD,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YACrC,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC9C,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAA;YACnE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YACjC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,MAAc;QACxC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,MAAM,IAAI,GAAG,GAAG,MAAM,IAAI,IAAI,EAAE,CAAA;YAChC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAA;IAC/B,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;YACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;YAC/B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;YAClC,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzD,UAAU,CAAC,QAAQ,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACzC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,GAC5C,QAAQ,CAAC,KAAK,CAAC,+BAA+B,CAAC,IAAI,EAAE,CAAA;QAEvD,OAAO;YACL,KAAK,IAAI,QAAQ;YACjB,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YAC5C,QAAwB;SACzB,CAAA;IACH,CAAC;IAEO,cAAc,CAAC,QAAgC;QACrD,IAAI,MAAM,GAAG,OAAO,CAAA;QACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,QAAQ,OAAO,KAAK,EAAE,CAAC;gBACrB,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC;gBACd,KAAK,SAAS;oBACZ,MAAM,IAAI,GAAG,GAAG,KAAK,KAAK,IAAI,CAAA;oBAC9B,MAAK;gBACP,KAAK,QAAQ;oBACX,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;wBACzB,MAAM,IAAI,GAAG,GAAG,KAAK,CAAA;wBACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,MAAM,IAAI,OAAO,IAAI,IAAI,CAAA;wBAC3B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GAAG,GAAG,KAAK,CAAA;wBACrB,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;4BACvD,MAAM,IAAI,KAAK,MAAM,KAAK,QAAQ,IAAI,CAAA;wBACxC,CAAC;oBACH,CAAC;oBACD,MAAK;gBACP;oBACE,OAAO,CAAC,IAAI,CACV,sCAAsC,GAAG,MAAM,OAAO,KAAK,EAAE,CAC9D,CAAA;oBACD,MAAK;YACT,CAAC;QACH,CAAC;QACD,MAAM,IAAI,SAAS,CAAA;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,KAAa;QAChD,IAAI,aAAa,GAAG,EAAE,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;YAC/B,aAAa,IAAI,GAAG,CAAA;QACtB,CAAC;QACD,OAAO,GAAG,aAAa,IAAI,KAAK,MAAM,CAAA;IACxC,CAAC;IAEO,gBAAgB,CAAC,OAAgB,EAAE,KAAa;QACtD,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAEvD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;gBACrD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BACf,QAAQ,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAA;wBAC/B,CAAC;wBACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BACpB,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;4BAC9C,QAAQ,IAAI,mBAAmB,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAA;wBAC1D,CAAC;oBACH,CAAC;oBACD,QAAQ,IAAI,IAAI,CAAA;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,3 +1,21 @@
1
- import type { Locator, Page, PageAssertionsToHaveScreenshotOptions, PageScreenshotOptions, TestInfo } from "@playwright/test";
2
- export declare const screenshot: (testInfo: TestInfo, target: Page | Locator, options?: PageScreenshotOptions & PageAssertionsToHaveScreenshotOptions) => Promise<void>;
1
+ import type { Locator, Page, PageScreenshotOptions, TestInfo } from "@playwright/test";
2
+ interface AnnotationOptions {
3
+ text?: string;
4
+ fillStyle?: string;
5
+ font?: string;
6
+ strokeStyle?: string;
7
+ lineWidth?: number;
8
+ labelBoxFillStyle?: string;
9
+ labelBoxStrokeStyle?: string;
10
+ labelBoxLineWidth?: number;
11
+ highlightFillStyle?: string;
12
+ highlightStrokeStyle?: string;
13
+ highlightLineWidth?: number;
14
+ position?: "above" | "below" | "left" | "right";
15
+ }
16
+ interface ScreenshotOptions extends PageScreenshotOptions {
17
+ annotation?: AnnotationOptions;
18
+ }
19
+ export declare const screenshot: (testInfo: TestInfo, target: Page | Locator, { annotation, ...options }?: ScreenshotOptions) => Promise<void>;
20
+ export {};
3
21
  //# sourceMappingURL=screenshots.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screenshots.d.ts","sourceRoot":"","sources":["../src/screenshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,qCAAqC,EACrC,qBAAqB,EACrB,QAAQ,EACT,MAAM,kBAAkB,CAAA;AAIzB,eAAO,MAAM,UAAU,GACrB,UAAU,QAAQ,EAClB,QAAQ,IAAI,GAAG,OAAO,EACtB,UAAU,qBAAqB,GAAG,qCAAqC,kBAiExE,CAAA"}
1
+ {"version":3,"file":"screenshots.d.ts","sourceRoot":"","sources":["../src/screenshots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,IAAI,EACJ,qBAAqB,EACrB,QAAQ,EACT,MAAM,kBAAkB,CAAA;AAIzB,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;CAChD;AAED,UAAU,iBAAkB,SAAQ,qBAAqB;IACvD,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED,eAAO,MAAM,UAAU,GACrB,UAAU,QAAQ,EAClB,QAAQ,IAAI,GAAG,OAAO,EACtB,6BAA4B,iBAAsB,kBA6HnD,CAAA"}
@@ -1,5 +1,5 @@
1
1
  let screenshotCounter = 0;
2
- export const screenshot = async (testInfo, target, options) => {
2
+ export const screenshot = async (testInfo, target, { annotation, ...options } = {}) => {
3
3
  const filename = `test2doc-${Date.now()}-${++screenshotCounter}.png`;
4
4
  let screenshot;
5
5
  if ("highlight" in target) {
@@ -7,35 +7,79 @@ export const screenshot = async (testInfo, target, options) => {
7
7
  await target.scrollIntoViewIfNeeded();
8
8
  const boundingBox = await target.boundingBox();
9
9
  if (boundingBox) {
10
- await page.evaluate((box) => {
10
+ await page.evaluate(({ boundingBox: box, annotation }) => {
11
11
  const canvas = document.createElement("canvas");
12
12
  canvas.id = "test2doc-highlight-canvas";
13
13
  canvas.style.cssText = `
14
- position: fixed !important;
15
- top: 0 !important;
16
- left: 0 !important;
17
- width: 100vw !important;
18
- height: 100vh !important;
19
- pointer-events: none !important;
20
- z-index: 9999 !important;
21
- display: block !important;
22
- visibility: visible !important;
23
- opacity: 1 !important;
24
- `;
14
+ position: fixed !important;
15
+ top: 0 !important;
16
+ left: 0 !important;
17
+ width: 100vw !important;
18
+ height: 100vh !important;
19
+ pointer-events: none !important;
20
+ z-index: 9999 !important;
21
+ display: block !important;
22
+ visibility: visible !important;
23
+ opacity: 1 !important;
24
+ `;
25
25
  canvas.width = window.innerWidth;
26
26
  canvas.height = window.innerHeight;
27
27
  const ctx = canvas.getContext("2d");
28
28
  if (ctx) {
29
29
  // Draw highlight rectangle
30
- ctx.strokeStyle = "rgba(246, 255, 0, 0.8)";
31
- ctx.lineWidth = 2;
30
+ ctx.strokeStyle = annotation?.highlightStrokeStyle ?? "rgba(255, 165, 0, 1)";
31
+ ctx.lineWidth = annotation?.highlightLineWidth ?? 2;
32
32
  ctx.strokeRect(box.x, box.y, box.width, box.height);
33
33
  // Add subtle fill
34
- ctx.fillStyle = "rgba(240, 255, 107, 0.25)";
34
+ ctx.fillStyle = annotation?.highlightFillStyle ?? "rgba(255, 165, 0, 0.3)";
35
35
  ctx.fillRect(box.x, box.y, box.width, box.height);
36
+ if (annotation?.text) {
37
+ ctx.font = annotation?.font ?? "14px Arial";
38
+ const { width: textWidth, actualBoundingBoxAscent, actualBoundingBoxDescent, } = ctx.measureText(annotation.text);
39
+ const textHeight = actualBoundingBoxAscent + actualBoundingBoxDescent;
40
+ const padding = 4;
41
+ let labelPosition;
42
+ switch (annotation.position) {
43
+ case "above":
44
+ labelPosition = {
45
+ x: box.x + box.width / 2 - textWidth / 2,
46
+ y: box.y - textHeight / 2,
47
+ };
48
+ break;
49
+ case "left":
50
+ labelPosition = {
51
+ x: box.x - textWidth - padding * 2 - 5,
52
+ y: box.y + box.height / 2 + textHeight / 2,
53
+ };
54
+ break;
55
+ case "right":
56
+ labelPosition = {
57
+ x: box.x + box.width + padding * 2 + 5,
58
+ y: box.y + box.height / 2 + textHeight / 2,
59
+ };
60
+ break;
61
+ default:
62
+ labelPosition = {
63
+ x: box.x + box.width / 2 - textWidth / 2,
64
+ y: box.y + box.height + 20,
65
+ };
66
+ break;
67
+ }
68
+ if (annotation.labelBoxFillStyle || annotation.labelBoxStrokeStyle) {
69
+ ctx.fillStyle = annotation.labelBoxFillStyle ?? "rgba(0, 0, 0, 0)";
70
+ ctx.strokeStyle = annotation.labelBoxStrokeStyle ?? "rgba(0, 0, 0, 0)";
71
+ ctx.lineWidth = annotation.labelBoxLineWidth ?? 2;
72
+ ctx.fillRect(labelPosition.x - padding, labelPosition.y - textHeight - padding, textWidth + padding * 2, textHeight + padding * 2);
73
+ }
74
+ ctx.strokeStyle = annotation?.strokeStyle ?? "rgba(0, 0, 0, 0.1)";
75
+ ctx.lineWidth = annotation?.lineWidth ?? 2;
76
+ ctx.strokeText(annotation.text, labelPosition.x, labelPosition.y);
77
+ ctx.fillStyle = annotation?.fillStyle ?? "rgba(0, 0, 0, 1)";
78
+ ctx.fillText(annotation.text, labelPosition.x, labelPosition.y);
79
+ }
36
80
  }
37
81
  document.body.appendChild(canvas);
38
- }, boundingBox);
82
+ }, { boundingBox, annotation });
39
83
  screenshot = await page.screenshot(options);
40
84
  // Clean up canvas
41
85
  await page.evaluate(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../src/screenshots.ts"],"names":[],"mappings":"AAQA,IAAI,iBAAiB,GAAG,CAAC,CAAA;AAEzB,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,QAAkB,EAClB,MAAsB,EACtB,OAAuE,EACvE,EAAE;IACF,MAAM,QAAQ,GAAG,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,iBAAiB,MAAM,CAAA;IAEpE,IAAI,UAAkB,CAAA;IACtB,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAE1B,MAAM,MAAM,CAAC,sBAAsB,EAAE,CAAA;QAErC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAA;QAC9C,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;gBAC/C,MAAM,CAAC,EAAE,GAAG,2BAA2B,CAAA;gBACvC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;SAWtB,CAAA;gBAED,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAA;gBAChC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAA;gBAElC,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACnC,IAAI,GAAG,EAAE,CAAC;oBACR,2BAA2B;oBAC3B,GAAG,CAAC,WAAW,GAAG,wBAAwB,CAAA;oBAC1C,GAAG,CAAC,SAAS,GAAG,CAAC,CAAA;oBACjB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;oBAEnD,kBAAkB;oBAClB,GAAG,CAAC,SAAS,GAAG,2BAA2B,CAAA;oBAC3C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;gBACnD,CAAC;gBAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACnC,CAAC,EAAE,WAAW,CAAC,CAAA;YAEf,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAE3C,kBAAkB;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAA;gBACnE,IAAI,MAAM;oBAAE,MAAM,CAAC,MAAM,EAAE,CAAA;YAC7B,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,2BAA2B;QAC3B,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,WAAW;KACzB,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../src/screenshots.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@test2doc/playwright",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "A reporter that generates docs based off playwright test files",
5
5
  "keywords": [
6
6
  "documentation",
@@ -61,6 +61,7 @@
61
61
  "devDependencies": {
62
62
  "@playwright/test": "^1.55.0",
63
63
  "@types/node": "^24.0.4",
64
+ "typescript": "^5.9.2",
64
65
  "vitest": "^3.2.4"
65
66
  },
66
67
  "scripts": {