@vitest/browser 2.1.0-beta.7 → 2.1.0
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/__vitest__/assets/{index-BevOiAy-.css → index-D5rK8X7L.css} +1 -1
- package/dist/client/__vitest__/assets/{index-CEU6kzsk.js → index-DsWp6aFQ.js} +19 -19
- package/dist/client/__vitest__/index.html +2 -2
- package/dist/context.js +39 -26
- package/dist/index.js +4 -43
- package/dist/locators/preview.js +12 -2
- package/package.json +8 -8
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
})();
|
|
24
24
|
</script>
|
|
25
25
|
<!-- !LOAD_METADATA! -->
|
|
26
|
-
<script type="module" crossorigin src="./assets/index-
|
|
27
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
26
|
+
<script type="module" crossorigin src="./assets/index-DsWp6aFQ.js"></script>
|
|
27
|
+
<link rel="stylesheet" crossorigin href="./assets/index-D5rK8X7L.css">
|
|
28
28
|
</head>
|
|
29
29
|
<body>
|
|
30
30
|
<div id="app"></div>
|
package/dist/context.js
CHANGED
|
@@ -90,13 +90,13 @@ const channel = new BroadcastChannel(`vitest:${contextId}`);
|
|
|
90
90
|
function triggerCommand(command, ...args) {
|
|
91
91
|
return rpc().triggerCommand(contextId, command, filepath(), args);
|
|
92
92
|
}
|
|
93
|
-
function createUserEvent() {
|
|
93
|
+
function createUserEvent(__tl_user_event__) {
|
|
94
94
|
const keyboard = {
|
|
95
95
|
unreleased: []
|
|
96
96
|
};
|
|
97
97
|
return {
|
|
98
|
-
setup() {
|
|
99
|
-
return createUserEvent();
|
|
98
|
+
setup(options) {
|
|
99
|
+
return createUserEvent(__tl_user_event__?.setup(options));
|
|
100
100
|
},
|
|
101
101
|
click(element, options = {}) {
|
|
102
102
|
return convertToLocator(element).click(processClickOptions(options));
|
|
@@ -110,30 +110,9 @@ function createUserEvent() {
|
|
|
110
110
|
selectOptions(element, value) {
|
|
111
111
|
return convertToLocator(element).selectOptions(value);
|
|
112
112
|
},
|
|
113
|
-
async type(element, text, options = {}) {
|
|
114
|
-
const selector = convertToSelector(element);
|
|
115
|
-
const { unreleased } = await triggerCommand(
|
|
116
|
-
"__vitest_type",
|
|
117
|
-
selector,
|
|
118
|
-
text,
|
|
119
|
-
{ ...options, unreleased: keyboard.unreleased }
|
|
120
|
-
);
|
|
121
|
-
keyboard.unreleased = unreleased;
|
|
122
|
-
},
|
|
123
113
|
clear(element) {
|
|
124
114
|
return convertToLocator(element).clear();
|
|
125
115
|
},
|
|
126
|
-
tab(options = {}) {
|
|
127
|
-
return triggerCommand("__vitest_tab", options);
|
|
128
|
-
},
|
|
129
|
-
async keyboard(text) {
|
|
130
|
-
const { unreleased } = await triggerCommand(
|
|
131
|
-
"__vitest_keyboard",
|
|
132
|
-
text,
|
|
133
|
-
keyboard
|
|
134
|
-
);
|
|
135
|
-
keyboard.unreleased = unreleased;
|
|
136
|
-
},
|
|
137
116
|
hover(element, options = {}) {
|
|
138
117
|
return convertToLocator(element).hover(processHoverOptions(options));
|
|
139
118
|
},
|
|
@@ -151,10 +130,44 @@ function createUserEvent() {
|
|
|
151
130
|
const sourceLocator = convertToLocator(source);
|
|
152
131
|
const targetLocator = convertToLocator(target);
|
|
153
132
|
return sourceLocator.dropTo(targetLocator, processDragAndDropOptions(options));
|
|
133
|
+
},
|
|
134
|
+
// testing-library user-event
|
|
135
|
+
async type(element, text, options = {}) {
|
|
136
|
+
if (typeof __tl_user_event__ !== "undefined") {
|
|
137
|
+
return __tl_user_event__.type(
|
|
138
|
+
element instanceof Element ? element : element.element(),
|
|
139
|
+
text,
|
|
140
|
+
options
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
const selector = convertToSelector(element);
|
|
144
|
+
const { unreleased } = await triggerCommand(
|
|
145
|
+
"__vitest_type",
|
|
146
|
+
selector,
|
|
147
|
+
text,
|
|
148
|
+
{ ...options, unreleased: keyboard.unreleased }
|
|
149
|
+
);
|
|
150
|
+
keyboard.unreleased = unreleased;
|
|
151
|
+
},
|
|
152
|
+
tab(options = {}) {
|
|
153
|
+
if (typeof __tl_user_event__ !== "undefined") {
|
|
154
|
+
return __tl_user_event__.tab(options);
|
|
155
|
+
}
|
|
156
|
+
return triggerCommand("__vitest_tab", options);
|
|
157
|
+
},
|
|
158
|
+
async keyboard(text) {
|
|
159
|
+
if (typeof __tl_user_event__ !== "undefined") {
|
|
160
|
+
return __tl_user_event__.keyboard(text);
|
|
161
|
+
}
|
|
162
|
+
const { unreleased } = await triggerCommand(
|
|
163
|
+
"__vitest_keyboard",
|
|
164
|
+
text,
|
|
165
|
+
keyboard
|
|
166
|
+
);
|
|
167
|
+
keyboard.unreleased = unreleased;
|
|
154
168
|
}
|
|
155
169
|
};
|
|
156
170
|
}
|
|
157
|
-
const userEvent = createUserEvent();
|
|
158
171
|
function cdp() {
|
|
159
172
|
return getBrowserState().cdp;
|
|
160
173
|
}
|
|
@@ -355,4 +368,4 @@ function getIframeScale() {
|
|
|
355
368
|
return scale;
|
|
356
369
|
}
|
|
357
370
|
|
|
358
|
-
export { cdp,
|
|
371
|
+
export { cdp, createUserEvent, page };
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ import { resolve as resolve$1, dirname as dirname$1, basename as basename$1, nor
|
|
|
16
16
|
import crypto from 'node:crypto';
|
|
17
17
|
import * as nodeos from 'node:os';
|
|
18
18
|
|
|
19
|
-
var version = "2.1.0
|
|
19
|
+
var version = "2.1.0";
|
|
20
20
|
|
|
21
21
|
const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
|
|
22
22
|
function normalizeWindowsPath(input = "") {
|
|
@@ -1827,7 +1827,7 @@ async function generateContextFile(server) {
|
|
|
1827
1827
|
);
|
|
1828
1828
|
const distContextPath = slash(`/@fs/${resolve(__dirname, "context.js")}`);
|
|
1829
1829
|
return `
|
|
1830
|
-
import { page,
|
|
1830
|
+
import { page, createUserEvent, cdp } from '${distContextPath}'
|
|
1831
1831
|
${userEventNonProviderImport}
|
|
1832
1832
|
const filepath = () => ${filepathCode}
|
|
1833
1833
|
const rpc = () => __vitest_worker__.rpc
|
|
@@ -1844,52 +1844,13 @@ export const server = {
|
|
|
1844
1844
|
config: __vitest_browser_runner__.config,
|
|
1845
1845
|
}
|
|
1846
1846
|
export const commands = server.commands
|
|
1847
|
-
export const userEvent =
|
|
1847
|
+
export const userEvent = createUserEvent(_userEventSetup)
|
|
1848
1848
|
export { page, cdp }
|
|
1849
1849
|
`;
|
|
1850
1850
|
}
|
|
1851
|
-
function getUserEvent(provider) {
|
|
1852
|
-
if (provider.name !== "preview") {
|
|
1853
|
-
return "__userEvent_CDP__";
|
|
1854
|
-
}
|
|
1855
|
-
return String.raw`{
|
|
1856
|
-
..._userEventSetup,
|
|
1857
|
-
setup() {
|
|
1858
|
-
const userEvent = __vitest_user_event__.setup()
|
|
1859
|
-
userEvent.setup = this.setup
|
|
1860
|
-
userEvent.fill = this.fill.bind(userEvent)
|
|
1861
|
-
userEvent._upload = userEvent.upload.bind(userEvent)
|
|
1862
|
-
userEvent.upload = this.upload.bind(userEvent)
|
|
1863
|
-
userEvent.dragAndDrop = this.dragAndDrop
|
|
1864
|
-
return userEvent
|
|
1865
|
-
},
|
|
1866
|
-
async upload(element, file) {
|
|
1867
|
-
const uploadPromise = (Array.isArray(file) ? file : [file]).map(async (file) => {
|
|
1868
|
-
if (typeof file !== 'string') {
|
|
1869
|
-
return file
|
|
1870
|
-
}
|
|
1871
|
-
|
|
1872
|
-
const { content: base64, basename, mime } = await rpc().triggerCommand(contextId, "__vitest_fileInfo", filepath(), [file, 'base64'])
|
|
1873
|
-
const fileInstance = fetch(base64)
|
|
1874
|
-
.then(r => r.blob())
|
|
1875
|
-
.then(blob => new File([blob], basename, { type: mime }))
|
|
1876
|
-
return fileInstance
|
|
1877
|
-
})
|
|
1878
|
-
const uploadFiles = await Promise.all(uploadPromise)
|
|
1879
|
-
return this._upload(element, uploadFiles)
|
|
1880
|
-
},
|
|
1881
|
-
async fill(element, text) {
|
|
1882
|
-
await this.clear(element)
|
|
1883
|
-
await this.type(element, text)
|
|
1884
|
-
},
|
|
1885
|
-
dragAndDrop: async () => {
|
|
1886
|
-
throw new Error('Provider "preview" does not support dragging elements')
|
|
1887
|
-
}
|
|
1888
|
-
}`;
|
|
1889
|
-
}
|
|
1890
1851
|
async function getUserEventImport(provider, resolve2) {
|
|
1891
1852
|
if (provider.name !== "preview") {
|
|
1892
|
-
return "";
|
|
1853
|
+
return "const _userEventSetup = undefined";
|
|
1893
1854
|
}
|
|
1894
1855
|
const resolved = await resolve2("@testing-library/user-event", __dirname);
|
|
1895
1856
|
if (!resolved) {
|
package/dist/locators/preview.js
CHANGED
|
@@ -61,11 +61,21 @@ class PreviewLocator extends Locator {
|
|
|
61
61
|
unhover() {
|
|
62
62
|
return userEvent.unhover(this.element());
|
|
63
63
|
}
|
|
64
|
-
fill(text) {
|
|
64
|
+
async fill(text) {
|
|
65
|
+
await this.clear();
|
|
65
66
|
return userEvent.type(this.element(), text);
|
|
66
67
|
}
|
|
67
68
|
async upload(file) {
|
|
68
|
-
|
|
69
|
+
const uploadPromise = (Array.isArray(file) ? file : [file]).map(async (file2) => {
|
|
70
|
+
if (typeof file2 !== "string") {
|
|
71
|
+
return file2;
|
|
72
|
+
}
|
|
73
|
+
const { content: base64, basename, mime } = await this.triggerCommand("__vitest_fileInfo", file2, "base64");
|
|
74
|
+
const fileInstance = fetch(base64).then((r) => r.blob()).then((blob) => new File([blob], basename, { type: mime }));
|
|
75
|
+
return fileInstance;
|
|
76
|
+
});
|
|
77
|
+
const uploadFiles = await Promise.all(uploadPromise);
|
|
78
|
+
return userEvent.upload(this.element(), uploadFiles);
|
|
69
79
|
}
|
|
70
80
|
selectOptions(options_) {
|
|
71
81
|
const options = (Array.isArray(options_) ? options_ : [options_]).map((option) => {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitest/browser",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "2.1.0
|
|
4
|
+
"version": "2.1.0",
|
|
5
5
|
"description": "Browser running for Vitest",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"funding": "https://opencollective.com/vitest",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"playwright": "*",
|
|
64
64
|
"webdriverio": "*",
|
|
65
|
-
"vitest": "2.1.0
|
|
65
|
+
"vitest": "2.1.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependenciesMeta": {
|
|
68
68
|
"playwright": {
|
|
@@ -83,7 +83,8 @@
|
|
|
83
83
|
"sirv": "^2.0.4",
|
|
84
84
|
"tinyrainbow": "^1.2.0",
|
|
85
85
|
"ws": "^8.18.0",
|
|
86
|
-
"@vitest/utils": "2.1.0
|
|
86
|
+
"@vitest/utils": "2.1.0",
|
|
87
|
+
"@vitest/mocker": "2.1.0"
|
|
87
88
|
},
|
|
88
89
|
"devDependencies": {
|
|
89
90
|
"@testing-library/jest-dom": "^6.4.8",
|
|
@@ -99,11 +100,10 @@
|
|
|
99
100
|
"playwright-core": "^1.46.0",
|
|
100
101
|
"safaridriver": "^0.1.2",
|
|
101
102
|
"webdriverio": "^8.40.2",
|
|
102
|
-
"@vitest/
|
|
103
|
-
"@vitest/
|
|
104
|
-
"
|
|
105
|
-
"vitest": "2.1.0
|
|
106
|
-
"@vitest/ws-client": "2.1.0-beta.7"
|
|
103
|
+
"@vitest/runner": "2.1.0",
|
|
104
|
+
"@vitest/ws-client": "2.1.0",
|
|
105
|
+
"vitest": "2.1.0",
|
|
106
|
+
"@vitest/ui": "2.1.0"
|
|
107
107
|
},
|
|
108
108
|
"scripts": {
|
|
109
109
|
"build": "rimraf dist && pnpm build:node && pnpm build:client",
|