@vitest/browser 4.0.6 → 4.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.
@@ -23,7 +23,7 @@
23
23
  })();
24
24
  </script>
25
25
  <!-- !LOAD_METADATA! -->
26
- <script type="module" src="./assets/index-DOkKC3NI.js"></script>
26
+ <script type="module" src="./assets/index-DYO2mJ8d.js"></script>
27
27
  <link rel="stylesheet" href="./assets/index-COTh6lXR.css">
28
28
  </head>
29
29
  <body>
@@ -1037,7 +1037,7 @@ async function initiateRunner(state, mocker, config) {
1037
1037
  config
1038
1038
  });
1039
1039
  cachedRunner = runner;
1040
- onCancel.then((reason) => {
1040
+ onCancel((reason) => {
1041
1041
  var _a;
1042
1042
  (_a = runner.cancel) == null ? void 0 : _a.call(runner, reason);
1043
1043
  });
@@ -2012,6 +2012,7 @@ async function prepareTestEnvironment(options) {
2012
2012
  const state = getWorkerState();
2013
2013
  state.metaEnv = __vite_import_meta_env__;
2014
2014
  state.onCancel = onCancel;
2015
+ state.ctx.rpc = rpc2;
2015
2016
  state.rpc = rpc2;
2016
2017
  const interceptor = createModuleMockerInterceptor();
2017
2018
  const mocker = new VitestBrowserClientMocker(
@@ -2115,7 +2116,6 @@ async function cleanup() {
2115
2116
  if (contextSwitched) {
2116
2117
  await rpc2.wdioSwitchContext("parent").catch((error) => unhandledError(error, "Cleanup Error"));
2117
2118
  }
2118
- state.environmentTeardownRun = true;
2119
2119
  await stopCoverageInsideWorker(config.coverage, moduleRunner, { isolate: config.browser.isolate }).catch((error) => {
2120
2120
  return unhandledError(error, "Coverage Error");
2121
2121
  });
@@ -5,7 +5,7 @@
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-CQlWpWwO.js"></script>
8
+ <script type="module" crossorigin src="/__vitest_browser__/tester-C3iDyL-N.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/__vitest_browser__/utils-uxqdqUz8.js">
10
10
  </head>
11
11
  <body>
package/dist/client.js CHANGED
@@ -295,10 +295,10 @@ const HOST = [location.hostname, PORT].filter(Boolean).join(":");
295
295
  const RPC_ID = PAGE_TYPE === "orchestrator" ? getBrowserState().sessionId : getBrowserState().testerId;
296
296
  const METHOD = getBrowserState().method;
297
297
  const ENTRY_URL = `${location.protocol === "https:" ? "wss:" : "ws:"}//${HOST}/__vitest_browser_api__?type=${PAGE_TYPE}&rpcId=${RPC_ID}&sessionId=${getBrowserState().sessionId}&projectName=${getBrowserState().config.name || ""}&method=${METHOD}&token=${window.VITEST_API_TOKEN || "0"}`;
298
- let setCancel = (_) => {};
299
- const onCancel = new Promise((resolve) => {
300
- setCancel = resolve;
301
- });
298
+ const onCancelCallbacks = [];
299
+ function onCancel(callback) {
300
+ onCancelCallbacks.push(callback);
301
+ }
302
302
  // ws connection can be established before the orchestrator is fully loaded
303
303
  // in very rare cases in the preview provider
304
304
  function waitForOrchestrator() {
@@ -329,7 +329,9 @@ function createClient() {
329
329
  };
330
330
  let onMessage;
331
331
  ctx.rpc = createBirpc({
332
- onCancel: setCancel,
332
+ async onCancel(reason) {
333
+ await Promise.all(onCancelCallbacks.map((fn) => fn(reason)));
334
+ },
333
335
  async createTesters(options) {
334
336
  const orchestrator = await waitForOrchestrator();
335
337
  return orchestrator.createTesters(options);
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.6";
21
+ var version = "4.0.7";
22
22
 
23
23
  const _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
24
24
  function normalizeWindowsPath(input = "") {
package/dist/state.js CHANGED
@@ -179,6 +179,7 @@ export async function resolve(specifier, context, nextResolve) {
179
179
  const sessionId = getBrowserState().sessionId;
180
180
  const state = {
181
181
  ctx: {
182
+ rpc: null,
182
183
  pool: "browser",
183
184
  workerId: 1,
184
185
  config,
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
  /**
@@ -207,7 +207,7 @@ export interface TestingLibraryMatchers<E, R> {
207
207
  * await expect.element(ancestor).not.toContainElement(nonExistentElement)
208
208
  * @see https://vitest.dev/guide/browser/assertion-api#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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/browser",
3
3
  "type": "module",
4
- "version": "4.0.6",
4
+ "version": "4.0.7",
5
5
  "description": "Browser running for Vitest",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -51,7 +51,7 @@
51
51
  "providers"
52
52
  ],
53
53
  "peerDependencies": {
54
- "vitest": "4.0.6"
54
+ "vitest": "4.0.7"
55
55
  },
56
56
  "dependencies": {
57
57
  "magic-string": "^0.30.19",
@@ -60,8 +60,8 @@
60
60
  "sirv": "^3.0.2",
61
61
  "tinyrainbow": "^3.0.3",
62
62
  "ws": "^8.18.3",
63
- "@vitest/mocker": "4.0.6",
64
- "@vitest/utils": "4.0.6"
63
+ "@vitest/mocker": "4.0.7",
64
+ "@vitest/utils": "4.0.7"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@testing-library/user-event": "^14.6.1",
@@ -72,8 +72,8 @@
72
72
  "ivya": "^1.7.0",
73
73
  "mime": "^4.1.0",
74
74
  "pathe": "^2.0.3",
75
- "@vitest/runner": "4.0.6",
76
- "vitest": "4.0.6"
75
+ "@vitest/runner": "4.0.7",
76
+ "vitest": "4.0.7"
77
77
  },
78
78
  "scripts": {
79
79
  "typecheck": "tsc -p ./src/client/tsconfig.json --noEmit",