@vitest/browser 4.0.6 → 4.0.8
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/context.d.ts +35 -35
- package/dist/client/.vite/manifest.json +1 -1
- package/dist/client/__vitest__/assets/index-VPnwgb7M.css +1 -0
- package/dist/client/__vitest__/assets/index-l1rdxr0p.js +57 -0
- package/dist/client/__vitest__/index.html +2 -2
- package/dist/client/__vitest_browser__/{tester-CQlWpWwO.js → tester-C3iDyL-N.js} +2 -2
- package/dist/client/tester/tester.html +1 -1
- package/dist/client.js +47 -20
- package/dist/expect-element.js +4 -4
- package/dist/index-hFpxawnd.js +6 -0
- package/dist/index.js +47 -16
- package/dist/locators.js +1 -1
- package/dist/state.js +1 -0
- package/jest-dom.d.ts +31 -31
- package/package.json +8 -8
- package/dist/client/__vitest__/assets/index-COTh6lXR.css +0 -1
- package/dist/client/__vitest__/assets/index-DOkKC3NI.js +0 -53
- package/dist/index-BnLTaCRv.js +0 -6
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ import { PNG } from 'pngjs';
|
|
|
18
18
|
import pm from 'pixelmatch';
|
|
19
19
|
import { WebSocketServer } from 'ws';
|
|
20
20
|
|
|
21
|
-
var version = "4.0.
|
|
21
|
+
var version = "4.0.8";
|
|
22
22
|
|
|
23
23
|
const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
|
|
24
24
|
function normalizeWindowsPath(input = "") {
|
|
@@ -950,6 +950,12 @@ var BrowserPlugin = (parentServer, base = "/") => {
|
|
|
950
950
|
single: true,
|
|
951
951
|
dev: true,
|
|
952
952
|
setHeaders: (res) => {
|
|
953
|
+
const csp = res.getHeader("Content-Security-Policy");
|
|
954
|
+
if (typeof csp === "string") {
|
|
955
|
+
// add frame-ancestors to allow the iframe to be loaded by Vitest,
|
|
956
|
+
// but keep the rest of the CSP
|
|
957
|
+
res.setHeader("Content-Security-Policy", csp.replace(/frame-ancestors [^;]+/, "frame-ancestors *"));
|
|
958
|
+
}
|
|
953
959
|
res.setHeader("Cache-Control", "public,max-age=0,must-revalidate");
|
|
954
960
|
}
|
|
955
961
|
}));
|
|
@@ -2681,7 +2687,7 @@ function createBirpc(functions, options) {
|
|
|
2681
2687
|
timeout = DEFAULT_TIMEOUT
|
|
2682
2688
|
} = options;
|
|
2683
2689
|
const rpcPromiseMap = /* @__PURE__ */ new Map();
|
|
2684
|
-
let
|
|
2690
|
+
let _promiseInit;
|
|
2685
2691
|
let closed = false;
|
|
2686
2692
|
const rpc = new Proxy({}, {
|
|
2687
2693
|
get(_, method) {
|
|
@@ -2696,8 +2702,8 @@ function createBirpc(functions, options) {
|
|
|
2696
2702
|
return closed;
|
|
2697
2703
|
if (method === "then" && !eventNames.includes("then") && !("then" in functions))
|
|
2698
2704
|
return void 0;
|
|
2699
|
-
const sendEvent = (...args) => {
|
|
2700
|
-
post(serialize({ m: method, a: args, t: TYPE_REQUEST }));
|
|
2705
|
+
const sendEvent = async (...args) => {
|
|
2706
|
+
await post(serialize({ m: method, a: args, t: TYPE_REQUEST }));
|
|
2701
2707
|
};
|
|
2702
2708
|
if (eventNames.includes(method)) {
|
|
2703
2709
|
sendEvent.asEvent = sendEvent;
|
|
@@ -2706,16 +2712,18 @@ function createBirpc(functions, options) {
|
|
|
2706
2712
|
const sendCall = async (...args) => {
|
|
2707
2713
|
if (closed)
|
|
2708
2714
|
throw new Error(`[birpc] rpc is closed, cannot call "${method}"`);
|
|
2709
|
-
if (
|
|
2715
|
+
if (_promiseInit) {
|
|
2710
2716
|
try {
|
|
2711
|
-
await
|
|
2717
|
+
await _promiseInit;
|
|
2712
2718
|
} finally {
|
|
2713
|
-
|
|
2719
|
+
_promiseInit = void 0;
|
|
2714
2720
|
}
|
|
2715
2721
|
}
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
|
|
2722
|
+
let { promise, resolve, reject } = createPromiseWithResolvers();
|
|
2723
|
+
const id = nanoid();
|
|
2724
|
+
let timeoutId;
|
|
2725
|
+
const _req = { m: method, a: args, i: id, t: TYPE_REQUEST };
|
|
2726
|
+
async function handler(req = _req) {
|
|
2719
2727
|
if (timeout >= 0) {
|
|
2720
2728
|
timeoutId = setTimeout$1(() => {
|
|
2721
2729
|
try {
|
|
@@ -2731,8 +2739,22 @@ function createBirpc(functions, options) {
|
|
|
2731
2739
|
timeoutId = timeoutId.unref?.();
|
|
2732
2740
|
}
|
|
2733
2741
|
rpcPromiseMap.set(id, { resolve, reject, timeoutId, method });
|
|
2734
|
-
post(serialize(
|
|
2735
|
-
|
|
2742
|
+
await post(serialize(req));
|
|
2743
|
+
return promise;
|
|
2744
|
+
}
|
|
2745
|
+
try {
|
|
2746
|
+
if (options.onRequest)
|
|
2747
|
+
await options.onRequest(_req, handler, resolve);
|
|
2748
|
+
else
|
|
2749
|
+
await handler();
|
|
2750
|
+
} catch (e) {
|
|
2751
|
+
clearTimeout(timeoutId);
|
|
2752
|
+
rpcPromiseMap.delete(id);
|
|
2753
|
+
if (options.onGeneralError?.(e) !== true)
|
|
2754
|
+
throw e;
|
|
2755
|
+
return;
|
|
2756
|
+
}
|
|
2757
|
+
return promise;
|
|
2736
2758
|
};
|
|
2737
2759
|
sendCall.asEvent = sendEvent;
|
|
2738
2760
|
return sendCall;
|
|
@@ -2774,7 +2796,7 @@ function createBirpc(functions, options) {
|
|
|
2774
2796
|
if (msg.t === TYPE_REQUEST) {
|
|
2775
2797
|
const { m: method, a: args } = msg;
|
|
2776
2798
|
let result, error;
|
|
2777
|
-
const fn = resolver ? resolver(method, functions[method]) : functions[method];
|
|
2799
|
+
const fn = await (resolver ? resolver(method, functions[method]) : functions[method]);
|
|
2778
2800
|
if (!fn) {
|
|
2779
2801
|
error = new Error(`[birpc] function "${method}" not found`);
|
|
2780
2802
|
} else {
|
|
@@ -2793,7 +2815,7 @@ function createBirpc(functions, options) {
|
|
|
2793
2815
|
}
|
|
2794
2816
|
if (!error) {
|
|
2795
2817
|
try {
|
|
2796
|
-
post(serialize({ t: TYPE_RESPONSE, i: msg.i, r: result }), ...extra);
|
|
2818
|
+
await post(serialize({ t: TYPE_RESPONSE, i: msg.i, r: result }), ...extra);
|
|
2797
2819
|
return;
|
|
2798
2820
|
} catch (e) {
|
|
2799
2821
|
error = e;
|
|
@@ -2802,7 +2824,7 @@ function createBirpc(functions, options) {
|
|
|
2802
2824
|
}
|
|
2803
2825
|
}
|
|
2804
2826
|
try {
|
|
2805
|
-
post(serialize({ t: TYPE_RESPONSE, i: msg.i, e: error }), ...extra);
|
|
2827
|
+
await post(serialize({ t: TYPE_RESPONSE, i: msg.i, e: error }), ...extra);
|
|
2806
2828
|
} catch (e) {
|
|
2807
2829
|
if (options.onGeneralError?.(e, method, args) !== true)
|
|
2808
2830
|
throw e;
|
|
@@ -2821,9 +2843,18 @@ function createBirpc(functions, options) {
|
|
|
2821
2843
|
rpcPromiseMap.delete(ack);
|
|
2822
2844
|
}
|
|
2823
2845
|
}
|
|
2824
|
-
|
|
2846
|
+
_promiseInit = on(onMessage);
|
|
2825
2847
|
return rpc;
|
|
2826
2848
|
}
|
|
2849
|
+
function createPromiseWithResolvers() {
|
|
2850
|
+
let resolve;
|
|
2851
|
+
let reject;
|
|
2852
|
+
const promise = new Promise((res, rej) => {
|
|
2853
|
+
resolve = res;
|
|
2854
|
+
reject = rej;
|
|
2855
|
+
});
|
|
2856
|
+
return { promise, resolve, reject };
|
|
2857
|
+
}
|
|
2827
2858
|
const urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
2828
2859
|
function nanoid(size = 21) {
|
|
2829
2860
|
let id = "";
|
package/dist/locators.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{L as Locator,o as convertElementToCssSelector,r as getByAltTextSelector,t as getByLabelSelector,u as getByPlaceholderSelector,v as getByRoleSelector,w as getByTestIdSelector,x as getByTextSelector,y as getByTitleSelector,q as getIframeScale,p as processTimeoutOptions,s as selectorEngine}from"./index-
|
|
1
|
+
export{L as Locator,o as convertElementToCssSelector,r as getByAltTextSelector,t as getByLabelSelector,u as getByPlaceholderSelector,v as getByRoleSelector,w as getByTestIdSelector,x as getByTextSelector,y as getByTitleSelector,q as getIframeScale,p as processTimeoutOptions,s as selectorEngine}from"./index-hFpxawnd.js";import"vitest/browser";import"vitest/internal/browser";
|
package/dist/state.js
CHANGED
package/jest-dom.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Disable automatic exports.
|
|
2
2
|
|
|
3
3
|
import { ARIARole } from './aria-role.ts'
|
|
4
|
-
import { ScreenshotComparatorRegistry, ScreenshotMatcherOptions } from './context.js'
|
|
4
|
+
import { Locator, ScreenshotComparatorRegistry, ScreenshotMatcherOptions } from './context.js'
|
|
5
5
|
|
|
6
6
|
export interface TestingLibraryMatchers<E, R> {
|
|
7
7
|
/**
|
|
@@ -12,7 +12,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
12
12
|
*
|
|
13
13
|
* await expect.element(page.getByTestId('svg-element')).toBeInTheDocument()
|
|
14
14
|
* await expect.element(page.getByTestId('does-not-exist')).not.toBeInTheDocument()
|
|
15
|
-
* @see https://vitest.dev/
|
|
15
|
+
* @see https://vitest.dev/api/browser/assertions#tobeinthedocument
|
|
16
16
|
*/
|
|
17
17
|
toBeInTheDocument(): R
|
|
18
18
|
/**
|
|
@@ -58,7 +58,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
58
58
|
*
|
|
59
59
|
* // Check if element is completely visible
|
|
60
60
|
* await expect.element(page.getByTestId('visible-element')).toBeInViewport({ ratio: 1 })
|
|
61
|
-
* @see https://vitest.dev/
|
|
61
|
+
* @see https://vitest.dev/api/browser/assertions#tobeinviewport
|
|
62
62
|
*/
|
|
63
63
|
toBeInViewport(options?: { ratio?: number }): R
|
|
64
64
|
/**
|
|
@@ -84,7 +84,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
84
84
|
*
|
|
85
85
|
* await expect.element(page.getByTestId('zero-opacity')).not.toBeVisible()
|
|
86
86
|
* await expect.element(page.getByTestId('visible')).toBeVisible()
|
|
87
|
-
* @see https://vitest.dev/
|
|
87
|
+
* @see https://vitest.dev/api/browser/assertions#tobevisible
|
|
88
88
|
*/
|
|
89
89
|
toBeVisible(): R
|
|
90
90
|
/**
|
|
@@ -97,7 +97,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
97
97
|
*
|
|
98
98
|
* await expect.element(page.getByTestId('empty')).toBeEmptyDOMElement()
|
|
99
99
|
* await expect.element(page.getByTestId('not-empty')).not.toBeEmptyDOMElement()
|
|
100
|
-
* @see https://vitest.dev/
|
|
100
|
+
* @see https://vitest.dev/api/browser/assertions#tobeemptydomelement
|
|
101
101
|
*/
|
|
102
102
|
toBeEmptyDOMElement(): R
|
|
103
103
|
/**
|
|
@@ -116,7 +116,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
116
116
|
* </button>
|
|
117
117
|
*
|
|
118
118
|
* await expect.element(page.getByTestId('button')).toBeDisabled()
|
|
119
|
-
* @see https://vitest.dev/
|
|
119
|
+
* @see https://vitest.dev/api/browser/assertions#tobedisabled
|
|
120
120
|
*/
|
|
121
121
|
toBeDisabled(): R
|
|
122
122
|
/**
|
|
@@ -135,7 +135,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
135
135
|
* </button>
|
|
136
136
|
*
|
|
137
137
|
* await expect.element(page.getByTestId('button')).toBeEnabled()
|
|
138
|
-
* @see https://vitest.dev/
|
|
138
|
+
* @see https://vitest.dev/api/browser/assertions#tobeenabled
|
|
139
139
|
*/
|
|
140
140
|
toBeEnabled(): R
|
|
141
141
|
/**
|
|
@@ -153,7 +153,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
153
153
|
*
|
|
154
154
|
* await expect(page.getByTestId('no-aria-invalid')).not.toBeInvalid()
|
|
155
155
|
* await expect(page.getByTestId('invalid-form')).toBeInvalid()
|
|
156
|
-
* @see https://vitest.dev/
|
|
156
|
+
* @see https://vitest.dev/api/browser/assertions#tobeinvalid
|
|
157
157
|
*/
|
|
158
158
|
toBeInvalid(): R
|
|
159
159
|
/**
|
|
@@ -170,7 +170,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
170
170
|
*
|
|
171
171
|
* await expect.element(page.getByTestId('required-input')).toBeRequired()
|
|
172
172
|
* await expect.element(page.getByTestId('supported-role')).not.toBeRequired()
|
|
173
|
-
* @see https://vitest.dev/
|
|
173
|
+
* @see https://vitest.dev/api/browser/assertions#toberequired
|
|
174
174
|
*/
|
|
175
175
|
toBeRequired(): R
|
|
176
176
|
/**
|
|
@@ -188,7 +188,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
188
188
|
*
|
|
189
189
|
* await expect.element(page.getByTestId('no-aria-invalid')).not.toBeValid()
|
|
190
190
|
* await expect.element(page.getByTestId('invalid-form')).toBeInvalid()
|
|
191
|
-
* @see https://vitest.dev/
|
|
191
|
+
* @see https://vitest.dev/api/browser/assertions#tobevalid
|
|
192
192
|
*/
|
|
193
193
|
toBeValid(): R
|
|
194
194
|
/**
|
|
@@ -205,9 +205,9 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
205
205
|
* await expect.element(ancestor).toContainElement(descendant)
|
|
206
206
|
* await expect.element(descendant).not.toContainElement(ancestor)
|
|
207
207
|
* await expect.element(ancestor).not.toContainElement(nonExistentElement)
|
|
208
|
-
* @see https://vitest.dev/
|
|
208
|
+
* @see https://vitest.dev/api/browser/assertions#tocontainelement
|
|
209
209
|
*/
|
|
210
|
-
toContainElement(element: HTMLElement | SVGElement | null): R
|
|
210
|
+
toContainElement(element: HTMLElement | SVGElement | Locator | null): R
|
|
211
211
|
/**
|
|
212
212
|
* @description
|
|
213
213
|
* Assert whether a string representing a HTML element is contained in another element.
|
|
@@ -216,7 +216,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
216
216
|
*
|
|
217
217
|
* const parent = page.getByTestId('parent')
|
|
218
218
|
* await expect.element(parent).toContainHTML('<span data-testid="child"></span>')
|
|
219
|
-
* @see https://vitest.dev/
|
|
219
|
+
* @see https://vitest.dev/api/browser/assertions#tocontainhtml
|
|
220
220
|
*/
|
|
221
221
|
toContainHTML(htmlText: string): R
|
|
222
222
|
/**
|
|
@@ -238,7 +238,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
238
238
|
* await expect.element(button).toHaveAttribute('disabled')
|
|
239
239
|
* await expect.element(button).toHaveAttribute('type', 'submit')
|
|
240
240
|
* await expect.element(button).not.toHaveAttribute('type', 'button')
|
|
241
|
-
* @see https://vitest.dev/
|
|
241
|
+
* @see https://vitest.dev/api/browser/assertions#tohaveattribute
|
|
242
242
|
*/
|
|
243
243
|
toHaveAttribute(attr: string, value?: unknown): R
|
|
244
244
|
/**
|
|
@@ -264,7 +264,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
264
264
|
* await expect.element(deleteButton).toHaveClass('btn xs btn-danger', {exact: true})
|
|
265
265
|
* await expect.element(deleteButton).not.toHaveClass('btn xs btn-danger', {exact: true})
|
|
266
266
|
* await expect.element(noClasses).not.toHaveClass()
|
|
267
|
-
* @see https://vitest.dev/
|
|
267
|
+
* @see https://vitest.dev/api/browser/assertions#tohaveclass
|
|
268
268
|
*/
|
|
269
269
|
toHaveClass(...classNames:
|
|
270
270
|
| (string | RegExp)[]
|
|
@@ -316,7 +316,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
316
316
|
* await expect.element(selectSingle).toHaveDisplayValue('Select a fruit...')
|
|
317
317
|
* await expect.element(selectMultiple).toHaveDisplayValue(['Banana', 'Avocado'])
|
|
318
318
|
*
|
|
319
|
-
* @see https://vitest.dev/
|
|
319
|
+
* @see https://vitest.dev/api/browser/assertions#tohavedisplayvalue
|
|
320
320
|
*/
|
|
321
321
|
toHaveDisplayValue(value: string | number | RegExp | Array<string | RegExp | number>): R
|
|
322
322
|
/**
|
|
@@ -332,7 +332,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
332
332
|
* await expect.element(input).toHaveFocus()
|
|
333
333
|
* input.element().blur()
|
|
334
334
|
* await expect.element(input).not.toHaveFocus()
|
|
335
|
-
* @see https://vitest.dev/
|
|
335
|
+
* @see https://vitest.dev/api/browser/assertions#tohavefocus
|
|
336
336
|
*/
|
|
337
337
|
toHaveFocus(): R
|
|
338
338
|
/**
|
|
@@ -352,7 +352,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
352
352
|
* username: 'jane.doe',
|
|
353
353
|
* rememberMe: true,
|
|
354
354
|
* })
|
|
355
|
-
* @see https://vitest.dev/
|
|
355
|
+
* @see https://vitest.dev/api/browser/assertions#tohaveformvalues
|
|
356
356
|
*/
|
|
357
357
|
toHaveFormValues(expectedValues: Record<string, unknown>): R
|
|
358
358
|
/**
|
|
@@ -374,7 +374,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
374
374
|
* 'background-color': 'green',
|
|
375
375
|
* display: 'none'
|
|
376
376
|
* })
|
|
377
|
-
* @see https://vitest.dev/
|
|
377
|
+
* @see https://vitest.dev/api/browser/assertions#tohavestyle
|
|
378
378
|
*/
|
|
379
379
|
toHaveStyle(css: string | Partial<CSSStyleDeclaration>): R
|
|
380
380
|
/**
|
|
@@ -397,7 +397,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
397
397
|
* // to use case-insensitive match
|
|
398
398
|
* await expect.element(element).toHaveTextContent(/content$/i)
|
|
399
399
|
* await expect.element(element).not.toHaveTextContent('content')
|
|
400
|
-
* @see https://vitest.dev/
|
|
400
|
+
* @see https://vitest.dev/api/browser/assertions#tohavetextcontent
|
|
401
401
|
*/
|
|
402
402
|
toHaveTextContent(
|
|
403
403
|
text: string | number | RegExp,
|
|
@@ -409,8 +409,8 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
409
409
|
*
|
|
410
410
|
* Accepts `<input>`, `<select>`, and `<textarea>` elements with the exception of `<input type="checkbox">` and
|
|
411
411
|
* `<input type="radiobox">`, which can be matched only using
|
|
412
|
-
* [toBeChecked](https://vitest.dev/
|
|
413
|
-
* [toHaveFormValues](https://vitest.dev/
|
|
412
|
+
* [toBeChecked](https://vitest.dev/api/browser/assertions#tobechecked) or
|
|
413
|
+
* [toHaveFormValues](https://vitest.dev/api/browser/assertions#tohaveformvalues).
|
|
414
414
|
* @example
|
|
415
415
|
* <input
|
|
416
416
|
* type="number"
|
|
@@ -419,7 +419,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
419
419
|
*
|
|
420
420
|
* const numberInput = page.getByTestId('input-number')
|
|
421
421
|
* await expect.element(numberInput).toHaveValue(5)
|
|
422
|
-
* @see https://vitest.dev/
|
|
422
|
+
* @see https://vitest.dev/api/browser/assertions#tohavevalue
|
|
423
423
|
*/
|
|
424
424
|
toHaveValue(value?: string | string[] | number | null): R
|
|
425
425
|
/**
|
|
@@ -442,7 +442,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
442
442
|
* const inputRadio = page.getByTestId('input-radio')
|
|
443
443
|
* await expect.element(inputCheckbox).toBeChecked()
|
|
444
444
|
* await expect.element(inputRadio).not.toBeChecked()
|
|
445
|
-
* @see https://vitest.dev/
|
|
445
|
+
* @see https://vitest.dev/api/browser/assertions#tobechecked
|
|
446
446
|
*/
|
|
447
447
|
toBeChecked(): R
|
|
448
448
|
/**
|
|
@@ -467,7 +467,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
467
467
|
* await expect.element(page.getByTestId('avatar')).not.toHaveAccessibleDescription()
|
|
468
468
|
* await expect.element(page.getByTestId('logo')).not.toHaveAccessibleDescription('Company logo')
|
|
469
469
|
* await expect.element(page.getByTestId('logo')).toHaveAccessibleDescription('The logo of Our Company')
|
|
470
|
-
* @see https://vitest.dev/
|
|
470
|
+
* @see https://vitest.dev/api/browser/assertions#tohaveaccessibledescription
|
|
471
471
|
*/
|
|
472
472
|
toHaveAccessibleDescription(text?: string | RegExp | E): R
|
|
473
473
|
|
|
@@ -506,7 +506,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
506
506
|
* page.getByRole('textbox', {name: 'Not Invalid'}),
|
|
507
507
|
* ).not.toHaveAccessibleErrorMessage()
|
|
508
508
|
*
|
|
509
|
-
* @see https://vitest.dev/
|
|
509
|
+
* @see https://vitest.dev/api/browser/assertions#tohaveaccessibleerrormessage
|
|
510
510
|
*/
|
|
511
511
|
toHaveAccessibleErrorMessage(text?: string | RegExp | E): R
|
|
512
512
|
|
|
@@ -537,7 +537,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
537
537
|
* await expect.element(page.getByTestId('svg-button')).toHaveAccessibleName()
|
|
538
538
|
* await expect.element(page.getByTestId('svg-without-title')).not.toHaveAccessibleName()
|
|
539
539
|
* await expect.element(page.getByTestId('input-title')).toHaveAccessibleName()
|
|
540
|
-
* @see https://vitest.dev/
|
|
540
|
+
* @see https://vitest.dev/api/browser/assertions#tohaveaccessiblename
|
|
541
541
|
*/
|
|
542
542
|
toHaveAccessibleName(text?: string | RegExp | E): R
|
|
543
543
|
/**
|
|
@@ -573,7 +573,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
573
573
|
* await expect.element(page.getByTestId('link-invalid')).not.toHaveRole('link')
|
|
574
574
|
* await expect.element(page.getByTestId('link-invalid')).toHaveRole('generic')
|
|
575
575
|
*
|
|
576
|
-
* @see https://vitest.dev/
|
|
576
|
+
* @see https://vitest.dev/api/browser/assertions#tohaverole
|
|
577
577
|
*/
|
|
578
578
|
toHaveRole(
|
|
579
579
|
// Get autocomplete for ARIARole union types, while still supporting another string
|
|
@@ -614,7 +614,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
614
614
|
*
|
|
615
615
|
* inputCheckboxIndeterminate.indeterminate = true
|
|
616
616
|
* await expect.element(inputCheckboxIndeterminate).toBePartiallyChecked()
|
|
617
|
-
* @see https://vitest.dev/
|
|
617
|
+
* @see https://vitest.dev/api/browser/assertions#tobepartiallychecked
|
|
618
618
|
*/
|
|
619
619
|
toBePartiallyChecked(): R
|
|
620
620
|
/**
|
|
@@ -671,7 +671,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
671
671
|
* await expect.element(page.queryByTestId('prev')).not.toHaveSelection()
|
|
672
672
|
* await expect.element(page.queryByTestId('next')).toHaveSelection('ne')
|
|
673
673
|
*
|
|
674
|
-
* @see https://vitest.dev/
|
|
674
|
+
* @see https://vitest.dev/api/browser/assertions#tohaveselection
|
|
675
675
|
*/
|
|
676
676
|
toHaveSelection(selection?: string): R
|
|
677
677
|
|
|
@@ -712,7 +712,7 @@ export interface TestingLibraryMatchers<E, R> {
|
|
|
712
712
|
* },
|
|
713
713
|
* })
|
|
714
714
|
*
|
|
715
|
-
* @see https://vitest.dev/
|
|
715
|
+
* @see https://vitest.dev/api/browser/assertions#tomatchscreenshot
|
|
716
716
|
*/
|
|
717
717
|
toMatchScreenshot<ComparatorName extends keyof ScreenshotComparatorRegistry>(
|
|
718
718
|
options?: ScreenshotMatcherOptions<ComparatorName>,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitest/browser",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.8",
|
|
5
5
|
"description": "Browser running for Vitest",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://opencollective.com/vitest",
|
|
@@ -51,29 +51,29 @@
|
|
|
51
51
|
"providers"
|
|
52
52
|
],
|
|
53
53
|
"peerDependencies": {
|
|
54
|
-
"vitest": "4.0.
|
|
54
|
+
"vitest": "4.0.8"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"magic-string": "^0.30.
|
|
57
|
+
"magic-string": "^0.30.21",
|
|
58
58
|
"pixelmatch": "7.1.0",
|
|
59
59
|
"pngjs": "^7.0.0",
|
|
60
60
|
"sirv": "^3.0.2",
|
|
61
61
|
"tinyrainbow": "^3.0.3",
|
|
62
62
|
"ws": "^8.18.3",
|
|
63
|
-
"@vitest/mocker": "4.0.
|
|
64
|
-
"@vitest/utils": "4.0.
|
|
63
|
+
"@vitest/mocker": "4.0.8",
|
|
64
|
+
"@vitest/utils": "4.0.8"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@testing-library/user-event": "^14.6.1",
|
|
68
68
|
"@types/pngjs": "^6.0.5",
|
|
69
69
|
"@types/ws": "^8.18.1",
|
|
70
|
-
"birpc": "^2.
|
|
70
|
+
"birpc": "^2.7.0",
|
|
71
71
|
"flatted": "^3.3.3",
|
|
72
72
|
"ivya": "^1.7.0",
|
|
73
73
|
"mime": "^4.1.0",
|
|
74
74
|
"pathe": "^2.0.3",
|
|
75
|
-
"@vitest/runner": "4.0.
|
|
76
|
-
"vitest": "4.0.
|
|
75
|
+
"@vitest/runner": "4.0.8",
|
|
76
|
+
"vitest": "4.0.8"
|
|
77
77
|
},
|
|
78
78
|
"scripts": {
|
|
79
79
|
"typecheck": "tsc -p ./src/client/tsconfig.json --noEmit",
|