@vitest/browser 3.1.1 → 3.1.2
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/dist/client/.vite/manifest.json +6 -6
- package/dist/client/__vitest__/assets/index-Cv3XDLXs.js +52 -0
- package/dist/client/__vitest__/assets/{index-B0KEk_KY.css → index-D6BhetW8.css} +1 -1
- package/dist/client/__vitest__/index.html +2 -2
- package/dist/client/__vitest_browser__/orchestrator-CuTjqoE1.js +287 -0
- package/dist/client/__vitest_browser__/{tester-DiLSqOx4.js → tester-D8qCxA_3.js} +3172 -3084
- package/dist/client/__vitest_browser__/{utils-CNTxSNQV.js → utils-Owv5OOOf.js} +2 -2
- package/dist/client/error-catcher.js +3 -3
- package/dist/client/esm-client-injector.js +0 -1
- package/dist/client/orchestrator.html +2 -2
- package/dist/client/tester/tester.html +2 -2
- package/dist/client.js +51 -22
- package/dist/context.js +4 -4
- package/dist/expect-element.js +1 -1
- package/dist/index-C34csx3Z.js +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +342 -242
- package/dist/locators/index.js +1 -1
- package/dist/locators/playwright.js +1 -1
- package/dist/locators/preview.js +1 -1
- package/dist/locators/webdriverio.js +1 -1
- package/dist/providers.js +1 -1
- package/dist/state.js +2 -67
- package/dist/{webdriver-2iYWIzBv.js → webdriver-BzjiKqT8.js} +0 -4
- package/package.json +14 -14
- package/dist/client/__vitest__/assets/index-BLZJq7cG.js +0 -52
- package/dist/client/__vitest_browser__/orchestrator-CqPXjvQE.js +0 -241
- package/dist/index-DjDyxzt8.js +0 -1
package/dist/locators/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"@vitest/browser/context";import"../public-utils-xf4CCUzp.js";export{L as Locator,s as selectorEngine}from"../index-
|
|
1
|
+
import"@vitest/browser/context";import"../public-utils-xf4CCUzp.js";export{L as Locator,s as selectorEngine}from"../index-C34csx3Z.js";import"vitest/utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,p as processTimeoutOptions,g as
|
|
1
|
+
import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,p as processTimeoutOptions,g as getIframeScale}from"../index-C34csx3Z.js";import"vitest/utils";page.extend({getByLabelText(e,_){return new PlaywrightLocator(getByLabelSelector(e,_))},getByRole(e,_){return new PlaywrightLocator(getByRoleSelector(e,_))},getByTestId(e){return new PlaywrightLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,_){return new PlaywrightLocator(getByAltTextSelector(e,_))},getByPlaceholder(e,_){return new PlaywrightLocator(getByPlaceholderSelector(e,_))},getByText(e,_){return new PlaywrightLocator(getByTextSelector(e,_))},getByTitle(e,_){return new PlaywrightLocator(getByTitleSelector(e,_))},elementLocator(e){return new PlaywrightLocator(selectorEngine.generateSelectorSimple(e),e)}});class PlaywrightLocator extends Locator{constructor(e,_){super(),this.selector=e,this._container=_}click(e){return super.click(processTimeoutOptions(processClickOptions(e)))}dblClick(e){return super.dblClick(processTimeoutOptions(processClickOptions(e)))}tripleClick(e){return super.tripleClick(processTimeoutOptions(processClickOptions(e)))}selectOptions(e,_){return super.selectOptions(e,processTimeoutOptions(_))}clear(e){return super.clear(processTimeoutOptions(e))}hover(e){return super.hover(processTimeoutOptions(processHoverOptions(e)))}upload(e,_){return super.upload(e,processTimeoutOptions(_))}fill(e,_){return super.fill(e,processTimeoutOptions(_))}dropTo(e,_){return super.dropTo(e,processTimeoutOptions(processDragAndDropOptions(_)))}locator(e){return new PlaywrightLocator(`${this.selector} >> ${e}`,this._container)}elementLocator(e){return new PlaywrightLocator(selectorEngine.generateSelectorSimple(e),e)}}function processDragAndDropOptions(e){if(!e)return e;let _=e;return _.sourcePosition&&=processPlaywrightPosition(_.sourcePosition),_.targetPosition&&=processPlaywrightPosition(_.targetPosition),e}function processHoverOptions(e){if(!e)return e;let _=e;return _.position&&=processPlaywrightPosition(_.position),e}function processClickOptions(e){if(!e)return e;let _=e;return _.position&&=processPlaywrightPosition(_.position),_}function processPlaywrightPosition(e){let _=getIframeScale();return e.x!=null&&(e.x*=_),e.y!=null&&(e.y*=_),e}
|
package/dist/locators/preview.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{page,server,userEvent}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector}from"../index-
|
|
1
|
+
import{page,server,userEvent}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector}from"../index-C34csx3Z.js";import"vitest/utils";page.extend({getByLabelText(e,m){return new PreviewLocator(getByLabelSelector(e,m))},getByRole(e,m){return new PreviewLocator(getByRoleSelector(e,m))},getByTestId(e){return new PreviewLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,m){return new PreviewLocator(getByAltTextSelector(e,m))},getByPlaceholder(e,m){return new PreviewLocator(getByPlaceholderSelector(e,m))},getByText(e,m){return new PreviewLocator(getByTextSelector(e,m))},getByTitle(e,m){return new PreviewLocator(getByTitleSelector(e,m))},elementLocator(e){return new PreviewLocator(selectorEngine.generateSelectorSimple(e),e)}});class PreviewLocator extends Locator{constructor(e,m){super(),this._pwSelector=e,this._container=m}get selector(){let e=this.elements().map(e=>convertElementToCssSelector(e));if(!e.length)throw getElementError(this._pwSelector,this._container||document.body);return e.join(`, `)}click(){return userEvent.click(this.element())}dblClick(){return userEvent.dblClick(this.element())}tripleClick(){return userEvent.tripleClick(this.element())}hover(){return userEvent.hover(this.element())}unhover(){return userEvent.unhover(this.element())}async fill(e){return userEvent.fill(this.element(),e)}async upload(e){return userEvent.upload(this.element(),e)}selectOptions(e){return userEvent.selectOptions(this.element(),e)}clear(){return userEvent.clear(this.element())}locator(e){return new PreviewLocator(`${this._pwSelector} >> ${e}`,this._container)}elementLocator(e){return new PreviewLocator(selectorEngine.generateSelectorSimple(e),e)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector,
|
|
1
|
+
import{page,server}from"@vitest/browser/context";import{g as getByTitleSelector,a as getByTextSelector,b as getByPlaceholderSelector,c as getByAltTextSelector,d as getByTestIdSelector,e as getByRoleSelector,f as getByLabelSelector,h as getElementError}from"../public-utils-xf4CCUzp.js";import{s as selectorEngine,L as Locator,c as convertElementToCssSelector,a as getBrowserState,g as getIframeScale}from"../index-C34csx3Z.js";import"vitest/utils";page.extend({getByLabelText(e,g){return new WebdriverIOLocator(getByLabelSelector(e,g))},getByRole(e,g){return new WebdriverIOLocator(getByRoleSelector(e,g))},getByTestId(e){return new WebdriverIOLocator(getByTestIdSelector(server.config.browser.locators.testIdAttribute,e))},getByAltText(e,g){return new WebdriverIOLocator(getByAltTextSelector(e,g))},getByPlaceholder(e,g){return new WebdriverIOLocator(getByPlaceholderSelector(e,g))},getByText(e,g){return new WebdriverIOLocator(getByTextSelector(e,g))},getByTitle(e,g){return new WebdriverIOLocator(getByTitleSelector(e,g))},elementLocator(e){return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(e))}});class WebdriverIOLocator extends Locator{constructor(e,g){super(),this._pwSelector=e,this._container=g}get selector(){let e=this.elements().map(e=>convertElementToCssSelector(e));if(!e.length)throw getElementError(this._pwSelector,this._container||document.body);return e.join(`, `)}click(e){return super.click(processClickOptions(e))}dblClick(e){return super.dblClick(processClickOptions(e))}tripleClick(e){return super.tripleClick(processClickOptions(e))}selectOptions(e,g){let _=getWebdriverioSelectOptions(this.element(),e);return this.triggerCommand(`__vitest_selectOptions`,this.selector,_,g)}hover(e){return super.hover(processHoverOptions(e))}dropTo(e,g){return super.dropTo(e,processDragAndDropOptions(g))}locator(e){return new WebdriverIOLocator(`${this._pwSelector} >> ${e}`,this._container)}elementLocator(e){return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(e),e)}}function getWebdriverioSelectOptions(e,g){let _=[...e.querySelectorAll(`option`)],v=Array.isArray(g)?g:[g];if(!v.length)return[];if(v.length>1)throw Error(`Provider "webdriverio" doesn't support selecting multiple values at once`);let y=v[0];if(typeof y!=`string`){let e=`element`in y?y.element():y,g=_.indexOf(e);if(g===-1)throw Error(`The element ${selectorEngine.previewNode(e)} was not found in the "select" options.`);return[{index:g}]}let b=_.findIndex(e=>e.value===y);if(b!==-1)return[{index:b}];let x=_.findIndex(e=>e.textContent?.trim()===y||e.ariaLabel===y);if(x===-1)throw Error(`The option "${y}" was not found in the "select" options.`);return[{index:x}]}function processClickOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g=e;if(g.x!=null||g.y!=null){let e={};g.x!=null&&(g.x=scaleCoordinate(g.x,e)),g.y!=null&&(g.y=scaleCoordinate(g.y,e))}return e}function processHoverOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g=e,_={};return g.xOffset!=null&&(g.xOffset=scaleCoordinate(g.xOffset,_)),g.yOffset!=null&&(g.yOffset=scaleCoordinate(g.yOffset,_)),e}function processDragAndDropOptions(e){if(!e||!getBrowserState().config.browser.ui)return e;let g={},_=e;return _.sourceX!=null&&(_.sourceX=scaleCoordinate(_.sourceX,g)),_.sourceY!=null&&(_.sourceY=scaleCoordinate(_.sourceY,g)),_.targetX!=null&&(_.targetX=scaleCoordinate(_.targetX,g)),_.targetY!=null&&(_.targetY=scaleCoordinate(_.targetY,g)),e}function scaleCoordinate(e,g){return Math.round(e*getCachedScale(g))}function getCachedScale(e){return e.scale??=getIframeScale()}
|
package/dist/providers.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as WebdriverBrowserProvider, P as PlaywrightBrowserProvider } from './webdriver-
|
|
1
|
+
import { W as WebdriverBrowserProvider, P as PlaywrightBrowserProvider } from './webdriver-BzjiKqT8.js';
|
|
2
2
|
import '@vitest/mocker/node';
|
|
3
3
|
|
|
4
4
|
class PreviewBrowserProvider {
|
package/dist/state.js
CHANGED
|
@@ -1,70 +1,6 @@
|
|
|
1
1
|
(function () {
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
/// <reference types="../types/index.d.ts" />
|
|
5
|
-
|
|
6
|
-
// (c) 2020-present Andrea Giammarchi
|
|
7
|
-
|
|
8
|
-
const {parse: $parse} = JSON;
|
|
9
|
-
const {keys} = Object;
|
|
10
|
-
|
|
11
|
-
const Primitive = String; // it could be Number
|
|
12
|
-
const primitive = 'string'; // it could be 'number'
|
|
13
|
-
|
|
14
|
-
const ignore = {};
|
|
15
|
-
const object = 'object';
|
|
16
|
-
|
|
17
|
-
const noop = (_, value) => value;
|
|
18
|
-
|
|
19
|
-
const primitives = value => (
|
|
20
|
-
value instanceof Primitive ? Primitive(value) : value
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
const Primitives = (_, value) => (
|
|
24
|
-
typeof value === primitive ? new Primitive(value) : value
|
|
25
|
-
);
|
|
26
|
-
|
|
27
|
-
const revive = (input, parsed, output, $) => {
|
|
28
|
-
const lazy = [];
|
|
29
|
-
for (let ke = keys(output), {length} = ke, y = 0; y < length; y++) {
|
|
30
|
-
const k = ke[y];
|
|
31
|
-
const value = output[k];
|
|
32
|
-
if (value instanceof Primitive) {
|
|
33
|
-
const tmp = input[value];
|
|
34
|
-
if (typeof tmp === object && !parsed.has(tmp)) {
|
|
35
|
-
parsed.add(tmp);
|
|
36
|
-
output[k] = ignore;
|
|
37
|
-
lazy.push({k, a: [input, parsed, tmp, $]});
|
|
38
|
-
}
|
|
39
|
-
else
|
|
40
|
-
output[k] = $.call(output, k, tmp);
|
|
41
|
-
}
|
|
42
|
-
else if (output[k] !== ignore)
|
|
43
|
-
output[k] = $.call(output, k, value);
|
|
44
|
-
}
|
|
45
|
-
for (let {length} = lazy, i = 0; i < length; i++) {
|
|
46
|
-
const {k, a} = lazy[i];
|
|
47
|
-
output[k] = $.call(output, k, revive.apply(null, a));
|
|
48
|
-
}
|
|
49
|
-
return output;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Converts a specialized flatted string into a JS value.
|
|
54
|
-
* @param {string} text
|
|
55
|
-
* @param {(this: any, key: string, value: any) => any} [reviver]
|
|
56
|
-
* @returns {any}
|
|
57
|
-
*/
|
|
58
|
-
const parse = (text, reviver) => {
|
|
59
|
-
const input = $parse(text, Primitives).map(primitives);
|
|
60
|
-
const value = input[0];
|
|
61
|
-
const $ = noop;
|
|
62
|
-
const tmp = typeof value === object && value ?
|
|
63
|
-
revive(input, new Set, value, $) :
|
|
64
|
-
value;
|
|
65
|
-
return $.call({'': tmp}, '', tmp);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
4
|
/* @__NO_SIDE_EFFECTS__ */
|
|
69
5
|
function getBrowserState() {
|
|
70
6
|
return window.__vitest_browser_runner__;
|
|
@@ -72,7 +8,6 @@
|
|
|
72
8
|
|
|
73
9
|
const config = getBrowserState().config;
|
|
74
10
|
const sessionId = getBrowserState().sessionId;
|
|
75
|
-
const providedContext = parse(getBrowserState().providedContext);
|
|
76
11
|
const state = {
|
|
77
12
|
ctx: {
|
|
78
13
|
pool: "browser",
|
|
@@ -85,7 +20,7 @@
|
|
|
85
20
|
name: "browser",
|
|
86
21
|
options: null
|
|
87
22
|
},
|
|
88
|
-
providedContext,
|
|
23
|
+
providedContext: {},
|
|
89
24
|
invalidates: []
|
|
90
25
|
},
|
|
91
26
|
onCancel: null,
|
|
@@ -103,7 +38,7 @@
|
|
|
103
38
|
environment: 0,
|
|
104
39
|
prepare: performance.now()
|
|
105
40
|
},
|
|
106
|
-
providedContext
|
|
41
|
+
providedContext: {}
|
|
107
42
|
};
|
|
108
43
|
globalThis.__vitest_browser__ = true;
|
|
109
44
|
globalThis.__vitest_worker__ = state;
|
|
@@ -232,10 +232,6 @@ class PlaywrightBrowserProvider {
|
|
|
232
232
|
console.error("[PW Error]", request.resourceType(), "request failed for", request.url(), "url:", request.failure()?.errorText);
|
|
233
233
|
});
|
|
234
234
|
}
|
|
235
|
-
page.on("crash", () => {
|
|
236
|
-
const session = this.project.vitest._browserSessions.getSession(sessionId);
|
|
237
|
-
session?.reject(new Error("Page crashed when executing tests"));
|
|
238
|
-
});
|
|
239
235
|
return page;
|
|
240
236
|
}
|
|
241
237
|
async openPage(sessionId, url, beforeNavigate) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitest/browser",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.1.
|
|
4
|
+
"version": "3.1.2",
|
|
5
5
|
"description": "Browser running for Vitest",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://opencollective.com/vitest",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"playwright": "*",
|
|
68
68
|
"webdriverio": "^7.0.0 || ^8.0.0 || ^9.0.0",
|
|
69
|
-
"vitest": "3.1.
|
|
69
|
+
"vitest": "3.1.2"
|
|
70
70
|
},
|
|
71
71
|
"peerDependenciesMeta": {
|
|
72
72
|
"playwright": {
|
|
@@ -86,27 +86,27 @@
|
|
|
86
86
|
"sirv": "^3.0.1",
|
|
87
87
|
"tinyrainbow": "^2.0.0",
|
|
88
88
|
"ws": "^8.18.1",
|
|
89
|
-
"@vitest/
|
|
90
|
-
"@vitest/
|
|
89
|
+
"@vitest/utils": "3.1.2",
|
|
90
|
+
"@vitest/mocker": "3.1.2"
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
|
93
|
-
"@types/ws": "^8.18.
|
|
94
|
-
"@wdio/protocols": "^9.
|
|
95
|
-
"@wdio/types": "^9.
|
|
96
|
-
"birpc": "
|
|
93
|
+
"@types/ws": "^8.18.1",
|
|
94
|
+
"@wdio/protocols": "^9.12.5",
|
|
95
|
+
"@wdio/types": "^9.12.3",
|
|
96
|
+
"birpc": "2.3.0",
|
|
97
97
|
"flatted": "^3.3.3",
|
|
98
98
|
"ivya": "^1.6.0",
|
|
99
|
-
"mime": "^4.0.
|
|
99
|
+
"mime": "^4.0.7",
|
|
100
100
|
"pathe": "^2.0.3",
|
|
101
101
|
"periscopic": "^4.0.2",
|
|
102
102
|
"playwright": "^1.51.1",
|
|
103
103
|
"playwright-core": "^1.51.1",
|
|
104
104
|
"safaridriver": "^1.0.0",
|
|
105
|
-
"webdriverio": "^9.12.
|
|
106
|
-
"@vitest/runner": "3.1.
|
|
107
|
-
"@vitest/ui": "3.1.
|
|
108
|
-
"vitest": "3.1.
|
|
109
|
-
"
|
|
105
|
+
"webdriverio": "^9.12.5",
|
|
106
|
+
"@vitest/runner": "3.1.2",
|
|
107
|
+
"@vitest/ui": "3.1.2",
|
|
108
|
+
"@vitest/ws-client": "3.1.2",
|
|
109
|
+
"vitest": "3.1.2"
|
|
110
110
|
},
|
|
111
111
|
"scripts": {
|
|
112
112
|
"build": "rimraf dist && pnpm build:node && pnpm build:client",
|