|
1 | 1 | import { test } from "@playwright/test"; |
2 | 2 | import { nvda, WindowsKeyCodes, WindowsModifiers } from "@guidepup/guidepup"; |
3 | | -import type { NVDA } from "@guidepup/guidepup"; |
| 3 | +import type { CommandOptions, NVDA } from "@guidepup/guidepup"; |
4 | 4 | import { applicationNameMap } from "./applicationNameMap"; |
5 | 5 |
|
| 6 | +type Prettify<T> = { |
| 7 | + [K in keyof T]: T[K]; |
| 8 | + // eslint-disable-next-line @typescript-eslint/ban-types |
| 9 | +} & {}; |
| 10 | + |
| 11 | +type CaptureCommandOptions = Prettify<Pick<CommandOptions, "capture">>; |
| 12 | + |
6 | 13 | /** |
7 | 14 | * [API Reference](https://www.guidepup.dev/docs/api/class-nvda) |
8 | 15 | * |
@@ -108,8 +115,15 @@ export const nvdaTest = test.extend<{ |
108 | 115 | * ``` |
109 | 116 | */ |
110 | 117 | nvda: NVDAPlaywright; |
| 118 | + /** |
| 119 | + * [API Reference](https://www.guidepup.dev/docs/api/class-command-options) |
| 120 | + * |
| 121 | + * Options to start NVDA with, see also [nvda.start([options])](https://www.guidepup.dev/docs/api/class-nvda#nvda-start). |
| 122 | + */ |
| 123 | + nvdaStartOptions: CaptureCommandOptions; |
111 | 124 | }>({ |
112 | | - nvda: async ({ browserName, page }, use) => { |
| 125 | + nvdaStartOptions: {}, |
| 126 | + nvda: async ({ browserName, page, nvdaStartOptions }, use) => { |
113 | 127 | try { |
114 | 128 | const applicationName = applicationNameMap[browserName]; |
115 | 129 |
|
@@ -158,7 +172,7 @@ export const nvdaTest = test.extend<{ |
158 | 172 | await nvdaPlaywright.clearSpokenPhraseLog(); |
159 | 173 | }; |
160 | 174 |
|
161 | | - await nvdaPlaywright.start(); |
| 175 | + await nvdaPlaywright.start(nvdaStartOptions); |
162 | 176 |
|
163 | 177 | await use(nvdaPlaywright); |
164 | 178 | } finally { |
|
0 commit comments