@vitest/browser 3.0.5 → 3.0.7
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 +8 -8
- package/dist/client/.vite/manifest.json +6 -6
- package/dist/client/__vitest__/assets/index-BX_iUIjH.js +52 -0
- package/dist/client/__vitest__/index.html +2 -2
- package/dist/client/__vitest_browser__/{orchestrator-vOivV83Y.js → orchestrator-DeY4LJgz.js} +2 -1
- package/dist/client/__vitest_browser__/tester-Cqa_buNy.js +15505 -0
- package/dist/client/__vitest_browser__/{utils-Owv5OOOf.js → utils-CBFLDkwI.js} +23 -0
- package/dist/client/orchestrator.html +2 -2
- package/dist/client/tester/tester.html +2 -2
- package/dist/client.js +5 -5
- package/dist/context.js +6 -9
- package/dist/{index--cbQOwRJ.js → index-fqTesRIH.js} +3 -14
- package/dist/index.d.ts +6 -7
- package/dist/index.js +34 -25
- package/dist/locators/index.d.ts +0 -3
- package/dist/locators/index.js +2 -2
- package/dist/locators/playwright.js +2 -2
- package/dist/locators/preview.js +2 -2
- package/dist/locators/webdriverio.js +2 -2
- package/dist/providers.js +1 -1
- package/dist/{public-utils-DldpEzVw.js → public-utils-J4vwTaki.js} +100 -102
- package/dist/state.js +1 -1
- package/dist/utils.js +1 -1
- package/dist/{webdriver-kh_HHy0p.js → webdriver-C5-VI7VH.js} +17 -8
- package/dummy.js +0 -0
- package/jest-dom.d.ts +1 -2
- package/package.json +21 -19
- package/providers/webdriverio.d.ts +4 -2
- package/dist/client/__vitest__/assets/index-CkLwJNkP.js +0 -52
- package/dist/client/__vitest_browser__/tester-BbJOQDQr.js +0 -13875
- /package/dist/client/__vitest__/assets/{index-D-vGI2PU.css → index-CV9H8iCm.css} +0 -0
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
1
4
|
(function polyfill() {
|
|
2
5
|
const relList = document.createElement("link").relList;
|
|
3
6
|
if (relList && relList.supports && relList.supports("modulepreload")) {
|
|
@@ -185,7 +188,27 @@ function getWorkerState() {
|
|
|
185
188
|
}
|
|
186
189
|
return state;
|
|
187
190
|
}
|
|
191
|
+
class CommandsManager {
|
|
192
|
+
constructor() {
|
|
193
|
+
__publicField(this, "_listeners", []);
|
|
194
|
+
}
|
|
195
|
+
onCommand(listener) {
|
|
196
|
+
this._listeners.push(listener);
|
|
197
|
+
}
|
|
198
|
+
async triggerCommand(command, args) {
|
|
199
|
+
var _a, _b;
|
|
200
|
+
const state = /* @__PURE__ */ getWorkerState();
|
|
201
|
+
const rpc = state.rpc;
|
|
202
|
+
const { sessionId } = /* @__PURE__ */ getBrowserState();
|
|
203
|
+
const filepath = state.filepath || ((_b = (_a = state.current) == null ? void 0 : _a.file) == null ? void 0 : _b.filepath);
|
|
204
|
+
if (this._listeners.length) {
|
|
205
|
+
await Promise.all(this._listeners.map((listener) => listener(command, args)));
|
|
206
|
+
}
|
|
207
|
+
return rpc.triggerCommand(sessionId, command, filepath, args);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
188
210
|
export {
|
|
211
|
+
CommandsManager as C,
|
|
189
212
|
getConfig as a,
|
|
190
213
|
resolve as b,
|
|
191
214
|
getWorkerState as c,
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
{__VITEST_INJECTOR__}
|
|
27
27
|
{__VITEST_ERROR_CATCHER__}
|
|
28
28
|
{__VITEST_SCRIPTS__}
|
|
29
|
-
<script type="module" crossorigin src="/__vitest_browser__/orchestrator-
|
|
30
|
-
<link rel="modulepreload" crossorigin href="/__vitest_browser__/utils-
|
|
29
|
+
<script type="module" crossorigin src="/__vitest_browser__/orchestrator-DeY4LJgz.js"></script>
|
|
30
|
+
<link rel="modulepreload" crossorigin href="/__vitest_browser__/utils-CBFLDkwI.js">
|
|
31
31
|
</head>
|
|
32
32
|
<body>
|
|
33
33
|
<div id="vitest-tester"></div>
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<link rel="icon" href="{__VITEST_FAVICON__}" type="image/svg+xml">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Vitest Browser Tester</title>
|
|
8
|
-
<script type="module" crossorigin src="/__vitest_browser__/tester-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/__vitest_browser__/utils-
|
|
8
|
+
<script type="module" crossorigin src="/__vitest_browser__/tester-Cqa_buNy.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/__vitest_browser__/utils-CBFLDkwI.js">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
</body>
|
package/dist/client.js
CHANGED
|
@@ -28,7 +28,7 @@ function createBirpc(functions, options) {
|
|
|
28
28
|
if (method === "$close")
|
|
29
29
|
return close;
|
|
30
30
|
if (method === "then" && !eventNames.includes("then") && !("then" in functions))
|
|
31
|
-
return
|
|
31
|
+
return void 0;
|
|
32
32
|
const sendEvent = (...args) => {
|
|
33
33
|
post(serialize({ m: method, a: args, t: "q" }));
|
|
34
34
|
};
|
|
@@ -43,7 +43,7 @@ function createBirpc(functions, options) {
|
|
|
43
43
|
try {
|
|
44
44
|
await _promise;
|
|
45
45
|
} finally {
|
|
46
|
-
_promise =
|
|
46
|
+
_promise = void 0;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
return new Promise((resolve, reject) => {
|
|
@@ -201,9 +201,9 @@ const parse = (text, reviver) => {
|
|
|
201
201
|
* @returns {string}
|
|
202
202
|
*/
|
|
203
203
|
const stringify = (value, replacer, space) => {
|
|
204
|
-
const $ = typeof replacer === object ?
|
|
205
|
-
(k, v) => (k === '' || -1 < replacer.indexOf(k) ? v :
|
|
206
|
-
(replacer);
|
|
204
|
+
const $ = replacer && typeof replacer === object ?
|
|
205
|
+
(k, v) => (k === '' || -1 < replacer.indexOf(k) ? v : void 0) :
|
|
206
|
+
(replacer || noop);
|
|
207
207
|
const known = new Map;
|
|
208
208
|
const input = [];
|
|
209
209
|
const output = [];
|
package/dist/context.js
CHANGED
|
@@ -113,14 +113,10 @@ function getParent(el) {
|
|
|
113
113
|
|
|
114
114
|
const state = () => getWorkerState();
|
|
115
115
|
const provider = __vitest_browser_runner__.provider;
|
|
116
|
-
function filepath() {
|
|
117
|
-
return getWorkerState().filepath || getWorkerState().current?.file?.filepath || undefined;
|
|
118
|
-
}
|
|
119
|
-
const rpc = () => getWorkerState().rpc;
|
|
120
116
|
const sessionId = getBrowserState().sessionId;
|
|
121
117
|
const channel = new BroadcastChannel(`vitest:${sessionId}`);
|
|
122
118
|
function triggerCommand(command, ...args) {
|
|
123
|
-
return
|
|
119
|
+
return getBrowserState().commands.triggerCommand(command, args);
|
|
124
120
|
}
|
|
125
121
|
function createUserEvent(__tl_user_event_base__, options) {
|
|
126
122
|
if (__tl_user_event_base__) {
|
|
@@ -135,6 +131,9 @@ function createUserEvent(__tl_user_event_base__, options) {
|
|
|
135
131
|
return createUserEvent();
|
|
136
132
|
},
|
|
137
133
|
async cleanup() {
|
|
134
|
+
if (!keyboard.unreleased.length) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
138
137
|
return ensureAwaited(async () => {
|
|
139
138
|
await triggerCommand("__vitest_cleanup", keyboard);
|
|
140
139
|
keyboard.unreleased = [];
|
|
@@ -187,9 +186,7 @@ function createUserEvent(__tl_user_event_base__, options) {
|
|
|
187
186
|
});
|
|
188
187
|
},
|
|
189
188
|
tab(options2 = {}) {
|
|
190
|
-
return ensureAwaited(() =>
|
|
191
|
-
return triggerCommand("__vitest_tab", options2);
|
|
192
|
-
});
|
|
189
|
+
return ensureAwaited(() => triggerCommand("__vitest_tab", options2));
|
|
193
190
|
},
|
|
194
191
|
async keyboard(text) {
|
|
195
192
|
return ensureAwaited(async () => {
|
|
@@ -342,7 +339,7 @@ const page = {
|
|
|
342
339
|
const name = options.path || `${taskName.replace(/[^a-z0-9]/gi, "-")}-${number}.png`;
|
|
343
340
|
return ensureAwaited(() => triggerCommand("__vitest_screenshot", name, {
|
|
344
341
|
...options,
|
|
345
|
-
element: options.element ? convertToSelector(options.element) :
|
|
342
|
+
element: options.element ? convertToSelector(options.element) : void 0
|
|
346
343
|
}));
|
|
347
344
|
},
|
|
348
345
|
getByRole() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { server, page } from '@vitest/browser/context';
|
|
2
|
-
import { I as Ivya,
|
|
2
|
+
import { I as Ivya, e as getByRoleSelector, c as getByAltTextSelector, f as getByLabelSelector, b as getByPlaceholderSelector, d as getByTestIdSelector, a as getByTextSelector, g as getByTitleSelector, h as getElementError } from './public-utils-J4vwTaki.js';
|
|
3
3
|
|
|
4
4
|
function ensureAwaited(promise) {
|
|
5
5
|
const test = (/* @__PURE__ */ getWorkerState()).current;
|
|
@@ -250,21 +250,10 @@ class Locator {
|
|
|
250
250
|
toJSON() {
|
|
251
251
|
return this.selector;
|
|
252
252
|
}
|
|
253
|
-
get state() {
|
|
254
|
-
return getBrowserState();
|
|
255
|
-
}
|
|
256
|
-
get worker() {
|
|
257
|
-
return getWorkerState();
|
|
258
|
-
}
|
|
259
|
-
get rpc() {
|
|
260
|
-
return this.worker.rpc;
|
|
261
|
-
}
|
|
262
253
|
triggerCommand(command, ...args) {
|
|
263
|
-
const
|
|
264
|
-
return ensureAwaited(() =>
|
|
265
|
-
this.state.sessionId,
|
|
254
|
+
const commands = getBrowserState().commands;
|
|
255
|
+
return ensureAwaited(() => commands.triggerCommand(
|
|
266
256
|
command,
|
|
267
|
-
filepath,
|
|
268
257
|
args
|
|
269
258
|
));
|
|
270
259
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { Plugin } from 'vitest/config';
|
|
2
2
|
import { CDPSession, BrowserServerState as BrowserServerState$1, ProjectBrowser as ProjectBrowser$1, TestProject, BrowserProvider, Vitest, ResolvedConfig, Vite, BrowserCommand, BrowserScript, ProcessPool } from 'vitest/node';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import * as vitest from 'vitest';
|
|
6
|
-
import { RunnerTestFile, AfterSuiteRunMeta, CancelReason, UserConsoleLog, SnapshotResult, SerializedConfig, ErrorWithDiff, ParsedStack } from 'vitest';
|
|
3
|
+
import { ViteDevServer, HtmlTagDescriptor } from 'vite';
|
|
4
|
+
import { CancelReason, RunnerTestFile, AfterSuiteRunMeta, UserConsoleLog, SnapshotResult, SerializedConfig, ErrorWithDiff, ParsedStack } from 'vitest';
|
|
7
5
|
import { StackTraceParserOptions } from '@vitest/utils/source-map';
|
|
8
6
|
import { ServerIdResolution, ServerMockResolution } from '@vitest/mocker/node';
|
|
9
7
|
import { TaskResultPack, TaskEventPack } from '@vitest/runner';
|
|
@@ -50,6 +48,7 @@ interface WebSocketBrowserHandlers {
|
|
|
50
48
|
getBrowserFileSourceMap: (id: string) => SourceMap | null | {
|
|
51
49
|
mappings: '';
|
|
52
50
|
} | undefined;
|
|
51
|
+
wdioSwitchContext: (direction: 'iframe' | 'parent') => void;
|
|
53
52
|
sendCdpEvent: (sessionId: string, event: string, payload?: Record<string, unknown>) => unknown;
|
|
54
53
|
trackCdpEvent: (sessionId: string, type: 'on' | 'once' | 'off', event: string, listenerId: string) => void;
|
|
55
54
|
}
|
|
@@ -100,11 +99,11 @@ declare class ProjectBrowser implements ProjectBrowser$1 {
|
|
|
100
99
|
parent: ParentBrowserProject;
|
|
101
100
|
state: BrowserServerState;
|
|
102
101
|
constructor(project: TestProject, base: string);
|
|
103
|
-
get vite():
|
|
102
|
+
get vite(): ViteDevServer;
|
|
104
103
|
wrapSerializedConfig(): SerializedConfig;
|
|
105
104
|
initBrowserProvider(project: TestProject): Promise<void>;
|
|
106
|
-
parseErrorStacktrace(e: ErrorWithDiff, options?: StackTraceParserOptions):
|
|
107
|
-
parseStacktrace(trace: string, options?: StackTraceParserOptions):
|
|
105
|
+
parseErrorStacktrace(e: ErrorWithDiff, options?: StackTraceParserOptions): ParsedStack[];
|
|
106
|
+
parseStacktrace(trace: string, options?: StackTraceParserOptions): ParsedStack[];
|
|
108
107
|
close(): Promise<void>;
|
|
109
108
|
}
|
|
110
109
|
|
package/dist/index.js
CHANGED
|
@@ -11,12 +11,12 @@ import { fileURLToPath } from 'node:url';
|
|
|
11
11
|
import crypto from 'node:crypto';
|
|
12
12
|
import { mkdir, readFile as readFile$1 } from 'node:fs/promises';
|
|
13
13
|
import { parseErrorStacktrace, parseStacktrace } from '@vitest/utils/source-map';
|
|
14
|
-
import { P as PlaywrightBrowserProvider, W as WebdriverBrowserProvider } from './webdriver-
|
|
14
|
+
import { P as PlaywrightBrowserProvider, W as WebdriverBrowserProvider } from './webdriver-C5-VI7VH.js';
|
|
15
15
|
import { resolve as resolve$1, dirname as dirname$1, basename as basename$1, normalize as normalize$1 } from 'node:path';
|
|
16
16
|
import { WebSocketServer } from 'ws';
|
|
17
17
|
import * as nodeos from 'node:os';
|
|
18
18
|
|
|
19
|
-
var version = "3.0.
|
|
19
|
+
var version = "3.0.7";
|
|
20
20
|
|
|
21
21
|
const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
|
|
22
22
|
function normalizeWindowsPath(input = "") {
|
|
@@ -417,7 +417,7 @@ const parse = (text, reviver) => {
|
|
|
417
417
|
*/
|
|
418
418
|
const stringify = (value, replacer, space) => {
|
|
419
419
|
const $ = replacer && typeof replacer === object ?
|
|
420
|
-
(k, v) => (k === '' || -1 < replacer.indexOf(k) ? v :
|
|
420
|
+
(k, v) => (k === '' || -1 < replacer.indexOf(k) ? v : void 0) :
|
|
421
421
|
(replacer || noop);
|
|
422
422
|
const known = new Map;
|
|
423
423
|
const input = [];
|
|
@@ -548,11 +548,10 @@ function BrowserContext(globalServer) {
|
|
|
548
548
|
}
|
|
549
549
|
async function generateContextFile(globalServer) {
|
|
550
550
|
const commands = Object.keys(globalServer.commands);
|
|
551
|
-
const filepathCode = "__vitest_worker__.filepath || __vitest_worker__.current?.file?.filepath || undefined";
|
|
552
551
|
const provider = [...globalServer.children][0].provider || { name: "preview" };
|
|
553
552
|
const providerName = provider.name;
|
|
554
553
|
const commandsCode = commands.filter((command) => !command.startsWith("__vitest")).map((command) => {
|
|
555
|
-
return ` ["${command}"]: (...args) =>
|
|
554
|
+
return ` ["${command}"]: (...args) => __vitest_browser_runner__.commands.triggerCommand("${command}", args),`;
|
|
556
555
|
}).join("\n");
|
|
557
556
|
const userEventNonProviderImport = await getUserEventImport(
|
|
558
557
|
providerName,
|
|
@@ -562,9 +561,6 @@ async function generateContextFile(globalServer) {
|
|
|
562
561
|
return `
|
|
563
562
|
import { page, createUserEvent, cdp } from '${distContextPath}'
|
|
564
563
|
${userEventNonProviderImport}
|
|
565
|
-
const filepath = () => ${filepathCode}
|
|
566
|
-
const rpc = () => __vitest_worker__.rpc
|
|
567
|
-
const sessionId = __vitest_browser_runner__.sessionId
|
|
568
564
|
|
|
569
565
|
export const server = {
|
|
570
566
|
platform: ${JSON.stringify(process.platform)},
|
|
@@ -627,7 +623,7 @@ var BrowserPlugin = (parentServer, base = "/") => {
|
|
|
627
623
|
}
|
|
628
624
|
);
|
|
629
625
|
const coverageFolder = resolveCoverageFolder(parentServer.vitest);
|
|
630
|
-
const coveragePath = coverageFolder ? coverageFolder[1] :
|
|
626
|
+
const coveragePath = coverageFolder ? coverageFolder[1] : void 0;
|
|
631
627
|
if (coveragePath && base === coveragePath) {
|
|
632
628
|
throw new Error(
|
|
633
629
|
`The ui base path and the coverage path cannot be the same: ${base}, change coverage.reportsDirectory`
|
|
@@ -1069,7 +1065,7 @@ function tryResolve(path, paths) {
|
|
|
1069
1065
|
const _require2 = getRequire();
|
|
1070
1066
|
return _require2.resolve(path, { paths });
|
|
1071
1067
|
} catch {
|
|
1072
|
-
return
|
|
1068
|
+
return void 0;
|
|
1073
1069
|
}
|
|
1074
1070
|
}
|
|
1075
1071
|
let _require;
|
|
@@ -1086,15 +1082,15 @@ function resolveCoverageFolder(vitest) {
|
|
|
1086
1082
|
return reporter === "html";
|
|
1087
1083
|
}
|
|
1088
1084
|
return reporter[0] === "html";
|
|
1089
|
-
}) :
|
|
1085
|
+
}) : void 0;
|
|
1090
1086
|
if (!htmlReporter) {
|
|
1091
|
-
return
|
|
1087
|
+
return void 0;
|
|
1092
1088
|
}
|
|
1093
1089
|
const root = resolve(
|
|
1094
1090
|
options.root || process.cwd(),
|
|
1095
1091
|
options.coverage.reportsDirectory || coverageConfigDefaults.reportsDirectory
|
|
1096
1092
|
);
|
|
1097
|
-
const subdir = Array.isArray(htmlReporter) && htmlReporter.length > 1 && "subdir" in htmlReporter[1] ? htmlReporter[1].subdir :
|
|
1093
|
+
const subdir = Array.isArray(htmlReporter) && htmlReporter.length > 1 && "subdir" in htmlReporter[1] ? htmlReporter[1].subdir : void 0;
|
|
1098
1094
|
if (!subdir || typeof subdir !== "string") {
|
|
1099
1095
|
return [root, `/${basename(root)}/`];
|
|
1100
1096
|
}
|
|
@@ -2065,6 +2061,9 @@ const keyboard = async (context, text, state) => {
|
|
|
2065
2061
|
};
|
|
2066
2062
|
const keyboardCleanup = async (context, state) => {
|
|
2067
2063
|
const { provider, sessionId } = context;
|
|
2064
|
+
if (!state.unreleased) {
|
|
2065
|
+
return;
|
|
2066
|
+
}
|
|
2068
2067
|
if (provider instanceof PlaywrightBrowserProvider) {
|
|
2069
2068
|
const page = provider.getPage(sessionId);
|
|
2070
2069
|
for (const key of state.unreleased) {
|
|
@@ -2464,7 +2463,7 @@ function wrapConfig(config) {
|
|
|
2464
2463
|
return {
|
|
2465
2464
|
...config,
|
|
2466
2465
|
// workaround RegExp serialization
|
|
2467
|
-
testNamePattern: config.testNamePattern ? config.testNamePattern.toString() :
|
|
2466
|
+
testNamePattern: config.testNamePattern ? config.testNamePattern.toString() : void 0
|
|
2468
2467
|
};
|
|
2469
2468
|
}
|
|
2470
2469
|
|
|
@@ -2617,7 +2616,7 @@ class ParentBrowserProject {
|
|
|
2617
2616
|
const server = this.vite;
|
|
2618
2617
|
const promises = scripts.map(
|
|
2619
2618
|
async ({ content, src, async, id, type = "module" }, index) => {
|
|
2620
|
-
const srcLink = (src ? (await server.pluginContainer.resolveId(src))?.id :
|
|
2619
|
+
const srcLink = (src ? (await server.pluginContainer.resolveId(src))?.id : void 0) || src;
|
|
2621
2620
|
const transformId = srcLink || join(server.config.root, `virtual__${id || `injected-${index}.js`}`);
|
|
2622
2621
|
await server.moduleGraph.ensureEntryFromUrl(transformId);
|
|
2623
2622
|
const contentProcessed = content && type === "module" ? (await server.pluginContainer.transform(content, transformId)).code : content;
|
|
@@ -2674,7 +2673,7 @@ function createBirpc(functions, options) {
|
|
|
2674
2673
|
if (method === "$close")
|
|
2675
2674
|
return close;
|
|
2676
2675
|
if (method === "then" && !eventNames.includes("then") && !("then" in functions))
|
|
2677
|
-
return
|
|
2676
|
+
return void 0;
|
|
2678
2677
|
const sendEvent = (...args) => {
|
|
2679
2678
|
post(serialize({ m: method, a: args, t: "q" }));
|
|
2680
2679
|
};
|
|
@@ -2689,7 +2688,7 @@ function createBirpc(functions, options) {
|
|
|
2689
2688
|
try {
|
|
2690
2689
|
await _promise;
|
|
2691
2690
|
} finally {
|
|
2692
|
-
_promise =
|
|
2691
|
+
_promise = void 0;
|
|
2693
2692
|
}
|
|
2694
2693
|
}
|
|
2695
2694
|
return new Promise((resolve, reject) => {
|
|
@@ -2932,6 +2931,20 @@ function setupBrowserRpc(globalServer) {
|
|
|
2932
2931
|
getCountOfFailedTests() {
|
|
2933
2932
|
return vitest.state.getCountOfFailedTests();
|
|
2934
2933
|
},
|
|
2934
|
+
async wdioSwitchContext(direction) {
|
|
2935
|
+
const provider = project.browser.provider;
|
|
2936
|
+
if (!provider) {
|
|
2937
|
+
throw new Error("Commands are only available for browser tests.");
|
|
2938
|
+
}
|
|
2939
|
+
if (provider.name !== "webdriverio") {
|
|
2940
|
+
throw new Error("Switch context is only available for WebDriverIO provider.");
|
|
2941
|
+
}
|
|
2942
|
+
if (direction === "iframe") {
|
|
2943
|
+
await provider.switchToTestFrame();
|
|
2944
|
+
} else {
|
|
2945
|
+
await provider.switchToMainFrame();
|
|
2946
|
+
}
|
|
2947
|
+
},
|
|
2935
2948
|
async triggerCommand(sessionId, command, testPath, payload) {
|
|
2936
2949
|
debug$1?.('[%s] Triggering command "%s"', sessionId, command);
|
|
2937
2950
|
const provider = project.browser.provider;
|
|
@@ -2942,7 +2955,6 @@ function setupBrowserRpc(globalServer) {
|
|
|
2942
2955
|
if (!commands || !commands[command]) {
|
|
2943
2956
|
throw new Error(`Unknown command "${command}".`);
|
|
2944
2957
|
}
|
|
2945
|
-
await provider.beforeCommand?.(command, payload);
|
|
2946
2958
|
const context = Object.assign(
|
|
2947
2959
|
{
|
|
2948
2960
|
testPath,
|
|
@@ -2953,13 +2965,7 @@ function setupBrowserRpc(globalServer) {
|
|
|
2953
2965
|
},
|
|
2954
2966
|
provider.getCommandsContext(sessionId)
|
|
2955
2967
|
);
|
|
2956
|
-
|
|
2957
|
-
try {
|
|
2958
|
-
result = await commands[command](context, ...payload);
|
|
2959
|
-
} finally {
|
|
2960
|
-
await provider.afterCommand?.(command, payload);
|
|
2961
|
-
}
|
|
2962
|
-
return result;
|
|
2968
|
+
return await commands[command](context, ...payload);
|
|
2963
2969
|
},
|
|
2964
2970
|
finishBrowserTests(sessionId) {
|
|
2965
2971
|
debug$1?.("[%s] Finishing browser tests for session", sessionId);
|
|
@@ -3131,6 +3137,9 @@ function createBrowserPool(vitest) {
|
|
|
3131
3137
|
if (!config.fileParallelism) {
|
|
3132
3138
|
return 1;
|
|
3133
3139
|
}
|
|
3140
|
+
if (project.config.maxWorkers) {
|
|
3141
|
+
return project.config.maxWorkers;
|
|
3142
|
+
}
|
|
3134
3143
|
return vitest.config.watch ? Math.max(Math.floor(numCpus / 2), 1) : Math.max(numCpus - 1, 1);
|
|
3135
3144
|
}
|
|
3136
3145
|
return {
|
package/dist/locators/index.d.ts
CHANGED
|
@@ -258,9 +258,6 @@ declare abstract class Locator {
|
|
|
258
258
|
last(): Locator;
|
|
259
259
|
toString(): string;
|
|
260
260
|
toJSON(): string;
|
|
261
|
-
private get state();
|
|
262
|
-
private get worker();
|
|
263
|
-
private get rpc();
|
|
264
261
|
protected triggerCommand<T>(command: string, ...args: any[]): Promise<T>;
|
|
265
262
|
}
|
|
266
263
|
|
package/dist/locators/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '@vitest/browser/context';
|
|
2
|
-
import '../public-utils-
|
|
3
|
-
export { L as Locator, s as selectorEngine } from '../index
|
|
2
|
+
import '../public-utils-J4vwTaki.js';
|
|
3
|
+
export { L as Locator, s as selectorEngine } from '../index-fqTesRIH.js';
|
|
4
4
|
import 'vitest/utils';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { page, server } from '@vitest/browser/context';
|
|
2
|
-
import { g as
|
|
3
|
-
import { s as selectorEngine, L as Locator } from '../index
|
|
2
|
+
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-J4vwTaki.js';
|
|
3
|
+
import { s as selectorEngine, L as Locator } from '../index-fqTesRIH.js';
|
|
4
4
|
import 'vitest/utils';
|
|
5
5
|
|
|
6
6
|
page.extend({
|
package/dist/locators/preview.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { page, server, userEvent } from '@vitest/browser/context';
|
|
2
|
-
import { g as
|
|
3
|
-
import { s as selectorEngine, L as Locator, c as convertElementToCssSelector } from '../index
|
|
2
|
+
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-J4vwTaki.js';
|
|
3
|
+
import { s as selectorEngine, L as Locator, c as convertElementToCssSelector } from '../index-fqTesRIH.js';
|
|
4
4
|
import 'vitest/utils';
|
|
5
5
|
|
|
6
6
|
page.extend({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { page, server } from '@vitest/browser/context';
|
|
2
|
-
import { g as
|
|
3
|
-
import { s as selectorEngine, L as Locator, c as convertElementToCssSelector } from '../index
|
|
2
|
+
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-J4vwTaki.js';
|
|
3
|
+
import { s as selectorEngine, L as Locator, c as convertElementToCssSelector } from '../index-fqTesRIH.js';
|
|
4
4
|
import 'vitest/utils';
|
|
5
5
|
|
|
6
6
|
page.extend({
|
package/dist/providers.js
CHANGED