@vitest/browser 2.1.0-beta.3 → 2.1.0-beta.5
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-uh8h5Yzr.js → index-BzrnDBXn.js} +20 -20
- package/dist/client/__vitest__/index.html +1 -1
- package/dist/client/__vitest_browser__/{orchestrator-BObhEEvc.js → orchestrator-CnT07ZeZ.js} +1 -1
- package/dist/client/__vitest_browser__/{preload-helper-Btt6SgIy.js → preload-helper-BrGs795G.js} +3 -1
- package/dist/client/__vitest_browser__/{tester-CRcWWhrn.js → tester-BG73i7yi.js} +14 -2
- package/dist/client/orchestrator.html +2 -2
- package/dist/client/tester/tester.html +3 -3
- package/dist/index-DcU_z8HM.js +207 -0
- package/dist/index.js +46 -31
- package/dist/locators/index.d.ts +1 -1
- package/dist/locators/index.js +3 -1
- package/dist/locators/playwright.js +14 -6
- package/dist/locators/preview.js +15 -7
- package/dist/locators/webdriverio.js +8 -6
- package/dist/{index-BHH2eSIh.js → public-utils-D6S2-5kI.js} +42 -201
- package/dist/utils.js +3 -0
- package/package.json +11 -7
- package/utils.d.ts +21 -0
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
})();
|
|
24
24
|
</script>
|
|
25
25
|
<!-- !LOAD_METADATA! -->
|
|
26
|
-
<script type="module" crossorigin src="./assets/index-
|
|
26
|
+
<script type="module" crossorigin src="./assets/index-BzrnDBXn.js"></script>
|
|
27
27
|
<link rel="stylesheet" crossorigin href="./assets/index-JTfsnJeu.css">
|
|
28
28
|
</head>
|
|
29
29
|
<body>
|
package/dist/client/__vitest_browser__/{orchestrator-BObhEEvc.js → orchestrator-CnT07ZeZ.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { _ as __vitePreload, g as getBrowserState, a as getConfig, r as relative } from "./preload-helper-
|
|
4
|
+
import { _ as __vitePreload, g as getBrowserState, a as getConfig, r as relative } from "./preload-helper-BrGs795G.js";
|
|
5
5
|
import { channel, client, globalChannel } from "@vitest/browser/client";
|
|
6
6
|
function generateHash(str) {
|
|
7
7
|
let hash = 0;
|
package/dist/client/__vitest_browser__/{preload-helper-Btt6SgIy.js → preload-helper-BrGs795G.js}
RENAMED
|
@@ -278,7 +278,9 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
|
|
|
278
278
|
);
|
|
279
279
|
}
|
|
280
280
|
return promise.then(() => baseModule()).catch((err) => {
|
|
281
|
-
const e = new Event("vite:preloadError", {
|
|
281
|
+
const e = new Event("vite:preloadError", {
|
|
282
|
+
cancelable: true
|
|
283
|
+
});
|
|
282
284
|
e.payload = err;
|
|
283
285
|
window.dispatchEvent(e);
|
|
284
286
|
if (!e.defaultPrevented) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import { a as getConfig, i as importFs, b as importId, e as extname, g as getBrowserState, _ as __vitePreload, j as join, c as getWorkerState } from "./preload-helper-
|
|
4
|
+
import { a as getConfig, i as importFs, b as importId, e as extname, g as getBrowserState, _ as __vitePreload, j as join, c as getWorkerState } from "./preload-helper-BrGs795G.js";
|
|
5
5
|
import { loadDiffConfig, loadSnapshotSerializers, takeCoverageInsideWorker, setupCommonEnv, startTests, collectTests, SpyModule } from "vitest/browser";
|
|
6
|
+
import { page } from "@vitest/browser/context";
|
|
6
7
|
import { globalChannel, channel, waitForChannel, client, onCancel } from "@vitest/browser/client";
|
|
7
8
|
import { getSafeTimers, stringify, format, TraceMap, originalPositionFor } from "vitest/utils";
|
|
8
9
|
import { VitestTestRunner, NodeBenchmarkRunner } from "vitest/runners";
|
|
9
|
-
import { page } from "@vitest/browser/context";
|
|
10
10
|
import { expect } from "vitest";
|
|
11
11
|
function getType(value) {
|
|
12
12
|
return Object.prototype.toString.apply(value).slice(8, -1);
|
|
@@ -11892,6 +11892,7 @@ async function setupExpectDom() {
|
|
|
11892
11892
|
}, options);
|
|
11893
11893
|
};
|
|
11894
11894
|
}
|
|
11895
|
+
const cleanupSymbol = Symbol.for("vitest:component-cleanup");
|
|
11895
11896
|
const url = new URL(location.href);
|
|
11896
11897
|
const reloadStart = url.searchParams.get("__reloadStart");
|
|
11897
11898
|
function debug(...args) {
|
|
@@ -11975,6 +11976,17 @@ async function executeTests(method, files) {
|
|
|
11975
11976
|
}
|
|
11976
11977
|
}
|
|
11977
11978
|
} finally {
|
|
11979
|
+
try {
|
|
11980
|
+
if (cleanupSymbol in page) {
|
|
11981
|
+
page[cleanupSymbol]();
|
|
11982
|
+
}
|
|
11983
|
+
} catch (error) {
|
|
11984
|
+
await client.rpc.onUnhandledError({
|
|
11985
|
+
name: error.name,
|
|
11986
|
+
message: error.message,
|
|
11987
|
+
stack: String(error.stack)
|
|
11988
|
+
}, "Cleanup Error");
|
|
11989
|
+
}
|
|
11978
11990
|
state.environmentTeardownRun = true;
|
|
11979
11991
|
debug("finished running tests");
|
|
11980
11992
|
done(files);
|
|
@@ -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__/preload-helper-
|
|
29
|
+
<script type="module" crossorigin src="/__vitest_browser__/orchestrator-CnT07ZeZ.js"></script>
|
|
30
|
+
<link rel="modulepreload" crossorigin href="/__vitest_browser__/preload-helper-BrGs795G.js">
|
|
31
31
|
</head>
|
|
32
32
|
<body>
|
|
33
33
|
<div id="vitest-tester"></div>
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
<script>{__VITEST_STATE__}</script>
|
|
21
21
|
{__VITEST_INTERNAL_SCRIPTS__}
|
|
22
22
|
{__VITEST_SCRIPTS__}
|
|
23
|
-
<script type="module" crossorigin src="/__vitest_browser__/tester-
|
|
24
|
-
<link rel="modulepreload" crossorigin href="/__vitest_browser__/preload-helper-
|
|
23
|
+
<script type="module" crossorigin src="/__vitest_browser__/tester-BG73i7yi.js"></script>
|
|
24
|
+
<link rel="modulepreload" crossorigin href="/__vitest_browser__/preload-helper-BrGs795G.js">
|
|
25
25
|
</head>
|
|
26
|
-
<body
|
|
26
|
+
<body>
|
|
27
27
|
{__VITEST_APPEND__}
|
|
28
28
|
</body>
|
|
29
29
|
</html>
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { server, page } from '@vitest/browser/context';
|
|
2
|
+
import { I as Ivya, a as getByRoleSelector, c as getByAltTextSelector, g as getByLabelSelector, d as getByPlaceholderSelector, b as getByTestIdSelector, e as getByTextSelector, f as getByTitleSelector, h as getElementError } from './public-utils-D6S2-5kI.js';
|
|
3
|
+
|
|
4
|
+
// @__NO_SIDE_EFFECTS__
|
|
5
|
+
function getBrowserState() {
|
|
6
|
+
return window.__vitest_browser_runner__;
|
|
7
|
+
}
|
|
8
|
+
// @__NO_SIDE_EFFECTS__
|
|
9
|
+
function getWorkerState() {
|
|
10
|
+
const state = window.__vitest_worker__;
|
|
11
|
+
if (!state) {
|
|
12
|
+
throw new Error("Worker state is not found. This is an issue with Vitest. Please, open an issue.");
|
|
13
|
+
}
|
|
14
|
+
return state;
|
|
15
|
+
}
|
|
16
|
+
// @__NO_SIDE_EFFECTS__
|
|
17
|
+
function convertElementToCssSelector(element) {
|
|
18
|
+
if (!element || !(element instanceof Element)) {
|
|
19
|
+
throw new Error(
|
|
20
|
+
`Expected DOM element to be an instance of Element, received ${typeof element}`
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
return getUniqueCssSelector(element);
|
|
24
|
+
}
|
|
25
|
+
function escapeIdForCSSSelector(id) {
|
|
26
|
+
return id.split("").map((char) => {
|
|
27
|
+
const code = char.charCodeAt(0);
|
|
28
|
+
if (char === " " || char === "#" || char === "." || char === ":" || char === "[" || char === "]" || char === ">" || char === "+" || char === "~" || char === "\\") {
|
|
29
|
+
return `\\${char}`;
|
|
30
|
+
} else if (code >= 65536) {
|
|
31
|
+
return `\\${code.toString(16).toUpperCase().padStart(6, "0")} `;
|
|
32
|
+
} else if (code < 32 || code === 127) {
|
|
33
|
+
return `\\${code.toString(16).toUpperCase().padStart(2, "0")} `;
|
|
34
|
+
} else if (code >= 128) {
|
|
35
|
+
return `\\${code.toString(16).toUpperCase().padStart(2, "0")} `;
|
|
36
|
+
} else {
|
|
37
|
+
return char;
|
|
38
|
+
}
|
|
39
|
+
}).join("");
|
|
40
|
+
}
|
|
41
|
+
function getUniqueCssSelector(el) {
|
|
42
|
+
const path = [];
|
|
43
|
+
let parent;
|
|
44
|
+
let hasShadowRoot = false;
|
|
45
|
+
while (parent = getParent(el)) {
|
|
46
|
+
if (parent.shadowRoot) {
|
|
47
|
+
hasShadowRoot = true;
|
|
48
|
+
}
|
|
49
|
+
const tag = el.tagName;
|
|
50
|
+
if (el.id) {
|
|
51
|
+
path.push(`#${escapeIdForCSSSelector(el.id)}`);
|
|
52
|
+
} else if (!el.nextElementSibling && !el.previousElementSibling) {
|
|
53
|
+
path.push(tag.toLowerCase());
|
|
54
|
+
} else {
|
|
55
|
+
let index = 0;
|
|
56
|
+
let sameTagSiblings = 0;
|
|
57
|
+
let elementIndex = 0;
|
|
58
|
+
for (const sibling of parent.children) {
|
|
59
|
+
index++;
|
|
60
|
+
if (sibling.tagName === tag) {
|
|
61
|
+
sameTagSiblings++;
|
|
62
|
+
}
|
|
63
|
+
if (sibling === el) {
|
|
64
|
+
elementIndex = index;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (sameTagSiblings > 1) {
|
|
68
|
+
path.push(`${tag.toLowerCase()}:nth-child(${elementIndex})`);
|
|
69
|
+
} else {
|
|
70
|
+
path.push(tag.toLowerCase());
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
el = parent;
|
|
74
|
+
}
|
|
75
|
+
return `${(/* @__PURE__ */ getBrowserState()).provider === "webdriverio" && hasShadowRoot ? ">>>" : ""}${path.reverse().join(" > ")}`;
|
|
76
|
+
}
|
|
77
|
+
function getParent(el) {
|
|
78
|
+
const parent = el.parentNode;
|
|
79
|
+
if (parent instanceof ShadowRoot) {
|
|
80
|
+
return parent.host;
|
|
81
|
+
}
|
|
82
|
+
return parent;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const selectorEngine = Ivya.create({
|
|
86
|
+
browser: ((name) => {
|
|
87
|
+
switch (name) {
|
|
88
|
+
case "edge":
|
|
89
|
+
case "chrome":
|
|
90
|
+
return "chromium";
|
|
91
|
+
case "safari":
|
|
92
|
+
return "webkit";
|
|
93
|
+
default:
|
|
94
|
+
return name;
|
|
95
|
+
}
|
|
96
|
+
})(server.config.browser.name),
|
|
97
|
+
testIdAttribute: server.config.browser.locators.testIdAttribute
|
|
98
|
+
});
|
|
99
|
+
class Locator {
|
|
100
|
+
_parsedSelector;
|
|
101
|
+
_container;
|
|
102
|
+
_pwSelector;
|
|
103
|
+
click(options = {}) {
|
|
104
|
+
return this.triggerCommand("__vitest_click", this.selector, options);
|
|
105
|
+
}
|
|
106
|
+
dblClick(options = {}) {
|
|
107
|
+
return this.triggerCommand("__vitest_dblClick", this.selector, options);
|
|
108
|
+
}
|
|
109
|
+
tripleClick(options = {}) {
|
|
110
|
+
return this.triggerCommand("__vitest_tripleClick", this.selector, options);
|
|
111
|
+
}
|
|
112
|
+
clear() {
|
|
113
|
+
return this.triggerCommand("__vitest_clear", this.selector);
|
|
114
|
+
}
|
|
115
|
+
hover(options) {
|
|
116
|
+
return this.triggerCommand("__vitest_hover", this.selector, options);
|
|
117
|
+
}
|
|
118
|
+
unhover(options) {
|
|
119
|
+
return this.triggerCommand("__vitest_hover", "html > body", options);
|
|
120
|
+
}
|
|
121
|
+
fill(text, options) {
|
|
122
|
+
return this.triggerCommand("__vitest_fill", this.selector, text, options);
|
|
123
|
+
}
|
|
124
|
+
dropTo(target, options = {}) {
|
|
125
|
+
return this.triggerCommand(
|
|
126
|
+
"__vitest_dragAndDrop",
|
|
127
|
+
this.selector,
|
|
128
|
+
target.selector,
|
|
129
|
+
options
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
selectOptions(value) {
|
|
133
|
+
const values = (Array.isArray(value) ? value : [value]).map((v) => {
|
|
134
|
+
if (typeof v !== "string") {
|
|
135
|
+
const selector = "element" in v ? v.selector : selectorEngine.generateSelectorSimple(v);
|
|
136
|
+
return { element: selector };
|
|
137
|
+
}
|
|
138
|
+
return v;
|
|
139
|
+
});
|
|
140
|
+
return this.triggerCommand("__vitest_selectOptions", this.selector, values);
|
|
141
|
+
}
|
|
142
|
+
screenshot(options) {
|
|
143
|
+
return page.screenshot({
|
|
144
|
+
...options,
|
|
145
|
+
element: this
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
getByRole(role, options) {
|
|
149
|
+
return this.locator(getByRoleSelector(role, options));
|
|
150
|
+
}
|
|
151
|
+
getByAltText(text, options) {
|
|
152
|
+
return this.locator(getByAltTextSelector(text, options));
|
|
153
|
+
}
|
|
154
|
+
getByLabelText(text, options) {
|
|
155
|
+
return this.locator(getByLabelSelector(text, options));
|
|
156
|
+
}
|
|
157
|
+
getByPlaceholder(text, options) {
|
|
158
|
+
return this.locator(getByPlaceholderSelector(text, options));
|
|
159
|
+
}
|
|
160
|
+
getByTestId(testId) {
|
|
161
|
+
return this.locator(getByTestIdSelector(server.config.browser.locators.testIdAttribute, testId));
|
|
162
|
+
}
|
|
163
|
+
getByText(text, options) {
|
|
164
|
+
return this.locator(getByTextSelector(text, options));
|
|
165
|
+
}
|
|
166
|
+
getByTitle(title, options) {
|
|
167
|
+
return this.locator(getByTitleSelector(title, options));
|
|
168
|
+
}
|
|
169
|
+
query() {
|
|
170
|
+
const parsedSelector = this._parsedSelector || (this._parsedSelector = selectorEngine.parseSelector(this._pwSelector || this.selector));
|
|
171
|
+
return selectorEngine.querySelector(parsedSelector, document.documentElement, true);
|
|
172
|
+
}
|
|
173
|
+
element() {
|
|
174
|
+
const element = this.query();
|
|
175
|
+
if (!element) {
|
|
176
|
+
throw getElementError(this._pwSelector || this.selector, this._container || document.body);
|
|
177
|
+
}
|
|
178
|
+
return element;
|
|
179
|
+
}
|
|
180
|
+
elements() {
|
|
181
|
+
const parsedSelector = this._parsedSelector || (this._parsedSelector = selectorEngine.parseSelector(this._pwSelector || this.selector));
|
|
182
|
+
return selectorEngine.querySelectorAll(parsedSelector, document.documentElement);
|
|
183
|
+
}
|
|
184
|
+
all() {
|
|
185
|
+
return this.elements().map((element) => this.elementLocator(element));
|
|
186
|
+
}
|
|
187
|
+
get state() {
|
|
188
|
+
return getBrowserState();
|
|
189
|
+
}
|
|
190
|
+
get worker() {
|
|
191
|
+
return getWorkerState();
|
|
192
|
+
}
|
|
193
|
+
get rpc() {
|
|
194
|
+
return this.worker.rpc;
|
|
195
|
+
}
|
|
196
|
+
triggerCommand(command, ...args) {
|
|
197
|
+
const filepath = this.worker.filepath || this.worker.current?.file?.filepath || void 0;
|
|
198
|
+
return this.rpc.triggerCommand(
|
|
199
|
+
this.state.contextId,
|
|
200
|
+
command,
|
|
201
|
+
filepath,
|
|
202
|
+
args
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export { Locator as L, convertElementToCssSelector as c, selectorEngine as s };
|
package/dist/index.js
CHANGED
|
@@ -2050,10 +2050,11 @@ async function resolveTester(server, url, res) {
|
|
|
2050
2050
|
`<script type="module" src="${server.errorCatcherUrl}"><\/script>`,
|
|
2051
2051
|
server.locatorsUrl ? `<script type="module" src="${server.locatorsUrl}"><\/script>` : ""
|
|
2052
2052
|
].join("\n"),
|
|
2053
|
-
__VITEST_APPEND__: `<script type="module">
|
|
2053
|
+
__VITEST_APPEND__: `<script data-vitest-append type="module">
|
|
2054
2054
|
__vitest_browser_runner__.runningFiles = ${tests}
|
|
2055
2055
|
__vitest_browser_runner__.iframeId = ${iframeId}
|
|
2056
2056
|
__vitest_browser_runner__.${method === "run" ? "runTests" : "collectTests"}(__vitest_browser_runner__.runningFiles)
|
|
2057
|
+
document.querySelector('script[data-vitest-append]').remove()
|
|
2057
2058
|
<\/script>`
|
|
2058
2059
|
});
|
|
2059
2060
|
}
|
|
@@ -2213,6 +2214,48 @@ var BrowserPlugin = (browserServer, base = "/") => {
|
|
|
2213
2214
|
entries.push(coverage.customProviderModule);
|
|
2214
2215
|
}
|
|
2215
2216
|
}
|
|
2217
|
+
const include = [
|
|
2218
|
+
"vitest > @vitest/snapshot > magic-string",
|
|
2219
|
+
"vitest > chai",
|
|
2220
|
+
"vitest > chai > loupe",
|
|
2221
|
+
"vitest > @vitest/utils > loupe",
|
|
2222
|
+
"@vitest/browser > @testing-library/user-event",
|
|
2223
|
+
"@vitest/browser > @testing-library/dom"
|
|
2224
|
+
];
|
|
2225
|
+
const react = tryResolve("vitest-browser-react", [project.ctx.config.root]);
|
|
2226
|
+
if (react) {
|
|
2227
|
+
include.push(react);
|
|
2228
|
+
}
|
|
2229
|
+
const vue = tryResolve("vitest-browser-react", [project.ctx.config.root]);
|
|
2230
|
+
if (vue) {
|
|
2231
|
+
include.push(vue);
|
|
2232
|
+
}
|
|
2233
|
+
const exclude = [
|
|
2234
|
+
"vitest",
|
|
2235
|
+
"vitest/utils",
|
|
2236
|
+
"vitest/browser",
|
|
2237
|
+
"vitest/runners",
|
|
2238
|
+
"@vitest/browser",
|
|
2239
|
+
"@vitest/browser/client",
|
|
2240
|
+
"@vitest/utils",
|
|
2241
|
+
"@vitest/utils/source-map",
|
|
2242
|
+
"@vitest/runner",
|
|
2243
|
+
"@vitest/spy",
|
|
2244
|
+
"@vitest/utils/error",
|
|
2245
|
+
"@vitest/snapshot",
|
|
2246
|
+
"@vitest/expect",
|
|
2247
|
+
"std-env",
|
|
2248
|
+
"tinybench",
|
|
2249
|
+
"tinyspy",
|
|
2250
|
+
"tinyrainbow",
|
|
2251
|
+
"pathe",
|
|
2252
|
+
"msw",
|
|
2253
|
+
"msw/browser"
|
|
2254
|
+
];
|
|
2255
|
+
const svelte = tryResolve("vitest-browser-svelte", [project.ctx.config.root]);
|
|
2256
|
+
if (svelte) {
|
|
2257
|
+
exclude.push(svelte);
|
|
2258
|
+
}
|
|
2216
2259
|
return {
|
|
2217
2260
|
define,
|
|
2218
2261
|
resolve: {
|
|
@@ -2220,36 +2263,8 @@ var BrowserPlugin = (browserServer, base = "/") => {
|
|
|
2220
2263
|
},
|
|
2221
2264
|
optimizeDeps: {
|
|
2222
2265
|
entries,
|
|
2223
|
-
exclude
|
|
2224
|
-
|
|
2225
|
-
"vitest/utils",
|
|
2226
|
-
"vitest/browser",
|
|
2227
|
-
"vitest/runners",
|
|
2228
|
-
"@vitest/browser",
|
|
2229
|
-
"@vitest/browser/client",
|
|
2230
|
-
"@vitest/utils",
|
|
2231
|
-
"@vitest/utils/source-map",
|
|
2232
|
-
"@vitest/runner",
|
|
2233
|
-
"@vitest/spy",
|
|
2234
|
-
"@vitest/utils/error",
|
|
2235
|
-
"@vitest/snapshot",
|
|
2236
|
-
"@vitest/expect",
|
|
2237
|
-
"std-env",
|
|
2238
|
-
"tinybench",
|
|
2239
|
-
"tinyspy",
|
|
2240
|
-
"tinyrainbow",
|
|
2241
|
-
"pathe",
|
|
2242
|
-
"msw",
|
|
2243
|
-
"msw/browser"
|
|
2244
|
-
],
|
|
2245
|
-
include: [
|
|
2246
|
-
"vitest > @vitest/snapshot > magic-string",
|
|
2247
|
-
"vitest > chai",
|
|
2248
|
-
"vitest > chai > loupe",
|
|
2249
|
-
"vitest > @vitest/utils > loupe",
|
|
2250
|
-
"@vitest/browser > @testing-library/user-event",
|
|
2251
|
-
"@vitest/browser > @testing-library/dom"
|
|
2252
|
-
]
|
|
2266
|
+
exclude,
|
|
2267
|
+
include
|
|
2253
2268
|
}
|
|
2254
2269
|
};
|
|
2255
2270
|
},
|
package/dist/locators/index.d.ts
CHANGED
|
@@ -221,8 +221,8 @@ declare const selectorEngine: Ivya;
|
|
|
221
221
|
declare abstract class Locator {
|
|
222
222
|
abstract selector: string;
|
|
223
223
|
private _parsedSelector;
|
|
224
|
+
protected _container?: Element | undefined;
|
|
224
225
|
protected _pwSelector?: string | undefined;
|
|
225
|
-
protected _forceElement?: Element | undefined;
|
|
226
226
|
click(options?: UserEventClickOptions): Promise<void>;
|
|
227
227
|
dblClick(options?: UserEventClickOptions): Promise<void>;
|
|
228
228
|
tripleClick(options?: UserEventClickOptions): Promise<void>;
|
package/dist/locators/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { page, server } from '@vitest/browser/context';
|
|
2
|
-
import { g as getByLabelSelector, a as getByRoleSelector, b as getByTestIdSelector, c as getByAltTextSelector, d as getByPlaceholderSelector, e as getByTextSelector, f as getByTitleSelector
|
|
2
|
+
import { g as getByLabelSelector, a as getByRoleSelector, b as getByTestIdSelector, c as getByAltTextSelector, d as getByPlaceholderSelector, e as getByTextSelector, f as getByTitleSelector } from '../public-utils-D6S2-5kI.js';
|
|
3
|
+
import { s as selectorEngine, L as Locator } from '../index-DcU_z8HM.js';
|
|
4
|
+
import 'vitest/utils';
|
|
3
5
|
|
|
4
6
|
page.extend({
|
|
5
7
|
getByLabelText(text, options) {
|
|
@@ -24,19 +26,25 @@ page.extend({
|
|
|
24
26
|
return new PlaywrightLocator(getByTitleSelector(title, options));
|
|
25
27
|
},
|
|
26
28
|
elementLocator(element) {
|
|
27
|
-
return new PlaywrightLocator(
|
|
29
|
+
return new PlaywrightLocator(
|
|
30
|
+
selectorEngine.generateSelectorSimple(element),
|
|
31
|
+
element
|
|
32
|
+
);
|
|
28
33
|
}
|
|
29
34
|
});
|
|
30
35
|
class PlaywrightLocator extends Locator {
|
|
31
|
-
constructor(selector,
|
|
36
|
+
constructor(selector, _container) {
|
|
32
37
|
super();
|
|
33
38
|
this.selector = selector;
|
|
34
|
-
this.
|
|
39
|
+
this._container = _container;
|
|
35
40
|
}
|
|
36
41
|
locator(selector) {
|
|
37
|
-
return new PlaywrightLocator(`${this.selector} >> ${selector}
|
|
42
|
+
return new PlaywrightLocator(`${this.selector} >> ${selector}`, this._container);
|
|
38
43
|
}
|
|
39
44
|
elementLocator(element) {
|
|
40
|
-
return new PlaywrightLocator(
|
|
45
|
+
return new PlaywrightLocator(
|
|
46
|
+
selectorEngine.generateSelectorSimple(element),
|
|
47
|
+
element
|
|
48
|
+
);
|
|
41
49
|
}
|
|
42
50
|
}
|
package/dist/locators/preview.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { page, server } from '@vitest/browser/context';
|
|
2
2
|
import { userEvent } from '@testing-library/user-event';
|
|
3
|
-
import { g as getByLabelSelector, a as getByRoleSelector, b as getByTestIdSelector, c as getByAltTextSelector, d as getByPlaceholderSelector, e as getByTextSelector, f as getByTitleSelector,
|
|
3
|
+
import { g as getByLabelSelector, a as getByRoleSelector, b as getByTestIdSelector, c as getByAltTextSelector, d as getByPlaceholderSelector, e as getByTextSelector, f as getByTitleSelector, h as getElementError } from '../public-utils-D6S2-5kI.js';
|
|
4
|
+
import { s as selectorEngine, L as Locator, c as convertElementToCssSelector } from '../index-DcU_z8HM.js';
|
|
5
|
+
import 'vitest/utils';
|
|
4
6
|
|
|
5
7
|
page.extend({
|
|
6
8
|
getByLabelText(text, options) {
|
|
@@ -25,19 +27,22 @@ page.extend({
|
|
|
25
27
|
return new PreviewLocator(getByTitleSelector(title, options));
|
|
26
28
|
},
|
|
27
29
|
elementLocator(element) {
|
|
28
|
-
return new PreviewLocator(
|
|
30
|
+
return new PreviewLocator(
|
|
31
|
+
selectorEngine.generateSelectorSimple(element),
|
|
32
|
+
element
|
|
33
|
+
);
|
|
29
34
|
}
|
|
30
35
|
});
|
|
31
36
|
class PreviewLocator extends Locator {
|
|
32
|
-
constructor(_pwSelector,
|
|
37
|
+
constructor(_pwSelector, _container) {
|
|
33
38
|
super();
|
|
34
39
|
this._pwSelector = _pwSelector;
|
|
35
|
-
this.
|
|
40
|
+
this._container = _container;
|
|
36
41
|
}
|
|
37
42
|
get selector() {
|
|
38
43
|
const selectors = this.elements().map((element) => convertElementToCssSelector(element));
|
|
39
44
|
if (!selectors.length) {
|
|
40
|
-
throw
|
|
45
|
+
throw getElementError(this._pwSelector, this._container || document.body);
|
|
41
46
|
}
|
|
42
47
|
return selectors.join(", ");
|
|
43
48
|
}
|
|
@@ -78,9 +83,12 @@ class PreviewLocator extends Locator {
|
|
|
78
83
|
throw new Error('The "preview" provider doesn\'t support `screenshot` method.');
|
|
79
84
|
}
|
|
80
85
|
locator(selector) {
|
|
81
|
-
return new PreviewLocator(`${this._pwSelector} >> ${selector}
|
|
86
|
+
return new PreviewLocator(`${this._pwSelector} >> ${selector}`, this._container);
|
|
82
87
|
}
|
|
83
88
|
elementLocator(element) {
|
|
84
|
-
return new PreviewLocator(
|
|
89
|
+
return new PreviewLocator(
|
|
90
|
+
selectorEngine.generateSelectorSimple(element),
|
|
91
|
+
element
|
|
92
|
+
);
|
|
85
93
|
}
|
|
86
94
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { page, server } from '@vitest/browser/context';
|
|
2
|
-
import { g as getByLabelSelector, a as getByRoleSelector, b as getByTestIdSelector, c as getByAltTextSelector, d as getByPlaceholderSelector, e as getByTextSelector, f as getByTitleSelector,
|
|
2
|
+
import { g as getByLabelSelector, a as getByRoleSelector, b as getByTestIdSelector, c as getByAltTextSelector, d as getByPlaceholderSelector, e as getByTextSelector, f as getByTitleSelector, h as getElementError } from '../public-utils-D6S2-5kI.js';
|
|
3
|
+
import { s as selectorEngine, L as Locator, c as convertElementToCssSelector } from '../index-DcU_z8HM.js';
|
|
4
|
+
import 'vitest/utils';
|
|
3
5
|
|
|
4
6
|
page.extend({
|
|
5
7
|
getByLabelText(text, options) {
|
|
@@ -24,19 +26,19 @@ page.extend({
|
|
|
24
26
|
return new WebdriverIOLocator(getByTitleSelector(title, options));
|
|
25
27
|
},
|
|
26
28
|
elementLocator(element) {
|
|
27
|
-
return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(element)
|
|
29
|
+
return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(element));
|
|
28
30
|
}
|
|
29
31
|
});
|
|
30
32
|
class WebdriverIOLocator extends Locator {
|
|
31
|
-
constructor(_pwSelector,
|
|
33
|
+
constructor(_pwSelector, _container) {
|
|
32
34
|
super();
|
|
33
35
|
this._pwSelector = _pwSelector;
|
|
34
|
-
this.
|
|
36
|
+
this._container = _container;
|
|
35
37
|
}
|
|
36
38
|
get selector() {
|
|
37
39
|
const selectors = this.elements().map((element) => convertElementToCssSelector(element));
|
|
38
40
|
if (!selectors.length) {
|
|
39
|
-
throw
|
|
41
|
+
throw getElementError(this._pwSelector, this._container || document.body);
|
|
40
42
|
}
|
|
41
43
|
return selectors.join(", ");
|
|
42
44
|
}
|
|
@@ -45,7 +47,7 @@ class WebdriverIOLocator extends Locator {
|
|
|
45
47
|
return this.triggerCommand("__vitest_selectOptions", this.selector, values);
|
|
46
48
|
}
|
|
47
49
|
locator(selector) {
|
|
48
|
-
return new WebdriverIOLocator(`${this._pwSelector} >> ${selector}
|
|
50
|
+
return new WebdriverIOLocator(`${this._pwSelector} >> ${selector}`, this._container);
|
|
49
51
|
}
|
|
50
52
|
elementLocator(element) {
|
|
51
53
|
return new WebdriverIOLocator(selectorEngine.generateSelectorSimple(element), element);
|