@voidzero-dev/vite-plus-test 0.1.9 → 0.1.10
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/LICENSE.md +181 -1
- package/dist/@vitest/browser/client/.vite/manifest.json +6 -6
- package/dist/@vitest/browser/client/__vitest__/assets/index-Da0hb3oU.css +1 -0
- package/dist/@vitest/browser/client/__vitest__/assets/index-Di71CKDo.js +63 -0
- package/dist/@vitest/browser/client/__vitest__/favicon.ico +0 -0
- package/dist/@vitest/browser/client/__vitest__/favicon.svg +49 -4
- package/dist/@vitest/browser/client/__vitest__/index.html +2 -2
- package/dist/@vitest/browser/client/__vitest_browser__/{orchestrator-S_3e_uzt.js → orchestrator-CXs6qrFe.js} +70 -28
- package/dist/@vitest/browser/client/__vitest_browser__/{tester-k74mgIRa.js → tester-K5NNxh1O.js} +167 -58
- package/dist/@vitest/browser/client/__vitest_browser__/{utils-uxqdqUz8.js → utils-C2ISqq1C.js} +2 -2
- package/dist/@vitest/browser/client/favicon.svg +49 -4
- package/dist/@vitest/browser/client/orchestrator.html +2 -2
- package/dist/@vitest/browser/client/tester/tester.html +2 -2
- package/dist/@vitest/browser/client.js +20 -13
- package/dist/@vitest/browser/context.d.ts +160 -10
- package/dist/@vitest/browser/context.js +108 -22
- package/dist/@vitest/browser/expect-element.js +23 -28
- package/dist/@vitest/browser/index-5Pe7X7sp.js +7 -0
- package/dist/@vitest/browser/index.d.ts +20 -2
- package/dist/@vitest/browser/index.js +5706 -159
- package/dist/@vitest/browser/locators.d.ts +14 -3
- package/dist/@vitest/browser/locators.js +1 -1
- package/dist/@vitest/browser-playwright/index.d.ts +22 -5
- package/dist/@vitest/browser-playwright/index.js +169 -61
- package/dist/@vitest/browser-preview/index.d.ts +14 -1
- package/dist/@vitest/browser-preview/locators.js +31 -18
- package/dist/@vitest/browser-webdriverio/index.d.ts +17 -3
- package/dist/@vitest/browser-webdriverio/index.js +22 -2
- package/dist/@vitest/browser-webdriverio/locators.js +84 -7
- package/dist/@vitest/expect/index.d.ts +172 -54
- package/dist/@vitest/expect/index.js +124 -67
- package/dist/@vitest/mocker/auto-register.js +1 -0
- package/dist/@vitest/mocker/automock.d.ts +1 -0
- package/dist/@vitest/mocker/automock.js +5 -0
- package/dist/@vitest/mocker/browser.d.ts +4 -4
- package/dist/@vitest/mocker/browser.js +1 -0
- package/dist/@vitest/mocker/chunk-automock.js +182 -14
- package/dist/@vitest/mocker/chunk-helpers.js +44 -0
- package/dist/@vitest/mocker/chunk-hoistMocks.js +659 -0
- package/dist/@vitest/mocker/chunk-mocker.js +41 -30
- package/dist/@vitest/mocker/chunk-registry.js +21 -7
- package/dist/@vitest/mocker/chunk-utils.js +18 -7
- package/dist/@vitest/mocker/hoistMocks.d-w2ILr1dG.d.ts +739 -0
- package/dist/@vitest/mocker/{index.d-C-sLYZi-.d.ts → index.d-B41z0AuW.d.ts} +1 -1
- package/dist/@vitest/mocker/index.d.ts +2 -2
- package/dist/@vitest/mocker/index.js +18 -3
- package/dist/@vitest/mocker/{mocker.d-TnKRhz7N.d.ts → mocker.d-QEntlm6J.d.ts} +10 -5
- package/dist/@vitest/mocker/node.d.ts +5 -734
- package/dist/@vitest/mocker/node.js +29 -587
- package/dist/@vitest/mocker/redirect.js +4 -4
- package/dist/@vitest/mocker/register.d.ts +3 -3
- package/dist/@vitest/mocker/register.js +1 -0
- package/dist/@vitest/mocker/transforms.d.ts +6 -0
- package/dist/@vitest/mocker/transforms.js +8 -0
- package/dist/@vitest/mocker/{types.d-B8CCKmHt.d.ts → types.d-BjI5eAwu.d.ts} +23 -7
- package/dist/@vitest/pretty-format/index.d.ts +11 -1
- package/dist/@vitest/pretty-format/index.js +33 -4
- package/dist/@vitest/runner/chunk-tasks.js +305 -37
- package/dist/@vitest/runner/index.d.ts +5 -6
- package/dist/@vitest/runner/index.js +1146 -455
- package/dist/@vitest/runner/{tasks.d-C7UxawJ9.d.ts → tasks.d-D2GKpdwQ.d.ts} +726 -55
- package/dist/@vitest/runner/types.d.ts +2 -182
- package/dist/@vitest/runner/utils.d.ts +16 -8
- package/dist/@vitest/runner/utils.js +1 -1
- package/dist/@vitest/snapshot/{environment.d-DHdQ1Csl.d.ts → environment.d-DOJxxZV9.d.ts} +2 -7
- package/dist/@vitest/snapshot/environment.d.ts +2 -1
- package/dist/@vitest/snapshot/environment.js +1 -1
- package/dist/@vitest/snapshot/index.d.ts +4 -3
- package/dist/@vitest/snapshot/index.js +21 -550
- package/dist/@vitest/snapshot/manager.d.ts +3 -2
- package/dist/@vitest/snapshot/manager.js +1 -1
- package/dist/@vitest/snapshot/{rawSnapshot.d-lFsMJFUd.d.ts → rawSnapshot.d-U2kJUxDr.d.ts} +1 -1
- package/dist/@vitest/spy/index.d.ts +34 -4
- package/dist/@vitest/spy/index.js +69 -19
- package/dist/@vitest/utils/diff.js +11 -9
- package/dist/@vitest/utils/display.d.ts +2 -1
- package/dist/@vitest/utils/display.js +38 -5
- package/dist/@vitest/utils/error.d.ts +2 -1
- package/dist/@vitest/utils/error.js +1 -2
- package/dist/@vitest/utils/helpers.d.ts +4 -1
- package/dist/@vitest/utils/helpers.js +43 -1
- package/dist/@vitest/utils/resolver.js +1 -2
- package/dist/@vitest/utils/serialize.js +6 -6
- package/dist/@vitest/utils/source-map/node.d.ts +6 -0
- package/dist/@vitest/utils/source-map/node.js +23 -0
- package/dist/@vitest/utils/source-map.js +15 -5
- package/dist/browser.d.ts +3 -2
- package/dist/browser.js +2 -2
- package/dist/chunks/acorn.B2iPLyUM.js +5958 -0
- package/dist/chunks/{base.CJ0Y4ePK.js → base.DM0-RqVb.js} +54 -16
- package/dist/chunks/{benchmark.B3N2zMcH.js → benchmark.D0SlKNbZ.js} +1 -1
- package/dist/chunks/{browser.d.ChKACdzH.d.ts → browser.d.X3SXoOCV.d.ts} +4 -1
- package/dist/chunks/{cac.DVeoLl0M.js → cac.CWGDZnXT.js} +979 -20
- package/dist/chunks/{cli-api.B7PN_QUv.js → cli-api.DuT9iuvY.js} +8764 -7898
- package/dist/chunks/{config.d.Cy95HiCx.d.ts → config.d.EJLVE3es.d.ts} +30 -15
- package/dist/chunks/{console.Cf-YriPC.js → console.3WNpx0tS.js} +3 -2
- package/dist/chunks/{constants.D_Q9UYh-.js → constants.CPYnjOGj.js} +4 -2
- package/dist/chunks/coverage.Bri33R1t.js +1050 -0
- package/dist/chunks/{creator.DAmOKTvJ.js → creator.DgVhQm5q.js} +35 -4
- package/dist/chunks/{defaults.BOqNVLsY.js → defaults.CdU2lD-q.js} +4 -3
- package/dist/chunks/{global.d.B15mdLcR.d.ts → global.d.x-ILCfAE.d.ts} +1 -2
- package/dist/chunks/{globals.DOayXfHP.js → globals.BXNGLnTL.js} +11 -10
- package/dist/chunks/{coverage.AVPTjMgw.js → index.BCY_7LL2.js} +5 -959
- package/dist/chunks/{index.C5r1PdPD.js → index.CEzQDJGb.js} +1 -1
- package/dist/chunks/{index.D3XRDfWc.js → index.CMESou6r.js} +26 -1
- package/dist/chunks/{index.6Qv1eEA6.js → index.DGNSnENe.js} +95 -9
- package/dist/chunks/{index.M8mOzt4Y.js → index.DXMFO5MJ.js} +3279 -2914
- package/dist/chunks/{index.Z5E_ObnR.js → index.DlDSLQD3.js} +7 -3
- package/dist/chunks/{index.CyBMJtT7.js → index.EY6TCHpo.js} +10 -8
- package/dist/chunks/{index.D4KonVSU.js → index.og1WyBLx.js} +18 -3
- package/dist/chunks/{init-forks._y3TW739.js → init-forks.DeArv0jT.js} +1 -1
- package/dist/chunks/{init-threads.DBO2kn-p.js → init-threads.-2OUl4Nn.js} +1 -1
- package/dist/chunks/{init.B6MLFIaN.js → init.DICorXCo.js} +52 -13
- package/dist/chunks/native.DPzPHdi5.js +148 -0
- package/dist/chunks/nativeModuleMocker.DndvSdL6.js +206 -0
- package/dist/chunks/nativeModuleRunner.BIakptoF.js +36 -0
- package/dist/chunks/{node.Ce0vMQM7.js → node.COQbm6gK.js} +1 -1
- package/dist/chunks/{plugin.d.CtqpEehP.d.ts → plugin.d.BuW-flqo.d.ts} +1 -1
- package/dist/chunks/{reporters.d.CWXNI2jG.d.ts → reporters.d.DVUYHHhe.d.ts} +328 -79
- package/dist/chunks/rpc.MzXet3jl.js +144 -0
- package/dist/chunks/{rpc.d.RH3apGEf.d.ts → rpc.d.BFMWpdph.d.ts} +10 -2
- package/dist/chunks/{setup-common.Cm-kSBVi.js → setup-common.B41N_kPE.js} +3 -3
- package/dist/chunks/{startModuleRunner.DEj0jb3e.js → startVitestModuleRunner.C3ZR-4J3.js} +265 -405
- package/dist/chunks/{suite.d.BJWk38HB.d.ts → suite.d.udJtyAgw.d.ts} +1 -1
- package/dist/chunks/{vi.2VT5v0um.js → test.CTcmp4Su.js} +538 -181
- package/dist/chunks/{utils.DvEY5TfP.js → utils.BX5Fg8C4.js} +8 -1
- package/dist/chunks/{vm.D3epNOPZ.js → vm.Dh2rTtmP.js} +48 -8
- package/dist/chunks/{worker.d.Dyxm8DEL.d.ts → worker.d.B84sVRy0.d.ts} +2 -2
- package/dist/cli.js +6 -5
- package/dist/client/.vite/manifest.json +6 -6
- package/dist/client/__vitest__/assets/index-Da0hb3oU.css +1 -0
- package/dist/client/__vitest__/assets/index-Di71CKDo.js +63 -0
- package/dist/client/__vitest__/favicon.ico +0 -0
- package/dist/client/__vitest__/favicon.svg +49 -4
- package/dist/client/__vitest__/index.html +2 -2
- package/dist/client/__vitest_browser__/{orchestrator-S_3e_uzt.js → orchestrator-CXs6qrFe.js} +70 -28
- package/dist/client/__vitest_browser__/{tester-k74mgIRa.js → tester-K5NNxh1O.js} +167 -58
- package/dist/client/__vitest_browser__/{utils-uxqdqUz8.js → utils-C2ISqq1C.js} +2 -2
- package/dist/client/favicon.svg +49 -4
- package/dist/client/orchestrator.html +2 -2
- package/dist/client/tester/tester.html +2 -2
- package/dist/client.js +20 -13
- package/dist/config.cjs +3 -2
- package/dist/config.d.ts +13 -12
- package/dist/config.js +2 -2
- package/dist/context.js +108 -22
- package/dist/coverage.d.ts +12 -8
- package/dist/coverage.js +8 -5
- package/dist/environments.js +3 -1
- package/dist/expect-element.js +23 -23
- package/dist/index-5Pe7X7sp.js +7 -0
- package/dist/index.d.ts +66 -27
- package/dist/index.js +10 -9
- package/dist/locators.d.ts +14 -3
- package/dist/locators.js +1 -1
- package/dist/module-evaluator.d.ts +11 -1
- package/dist/module-evaluator.js +43 -26
- package/dist/node.d.ts +28 -14
- package/dist/node.js +42 -40
- package/dist/nodejs-worker-loader.js +41 -0
- package/dist/plugins/mocker-transforms.mjs +2 -0
- package/dist/plugins/utils-source-map-node.mjs +2 -0
- package/dist/reporters.d.ts +8 -8
- package/dist/reporters.js +7 -5
- package/dist/runners.d.ts +24 -5
- package/dist/runners.js +6 -6
- package/dist/runtime.d.ts +6 -0
- package/dist/runtime.js +35 -0
- package/dist/snapshot.js +4 -2
- package/dist/suite.d.ts +1 -1
- package/dist/suite.js +4 -2
- package/dist/vendor/blazediff_core.d.mts +1 -0
- package/dist/vendor/blazediff_core.mjs +117 -0
- package/dist/vendor/chai.mjs +4 -249
- package/dist/vendor/convert-source-map.d.mts +1 -0
- package/dist/vendor/convert-source-map.mjs +150 -0
- package/dist/vendor/expect-type.d.mts +14 -7
- package/dist/vendor/expect-type.mjs +5 -5
- package/dist/vendor/std-env.d.mts +131 -40
- package/dist/vendor/std-env.mjs +114 -117
- package/dist/worker.d.ts +6 -6
- package/dist/worker.js +27 -21
- package/dist/workers/forks.js +23 -17
- package/dist/workers/runVmTests.js +18 -16
- package/dist/workers/threads.js +23 -17
- package/dist/workers/vmForks.js +15 -12
- package/dist/workers/vmThreads.js +15 -12
- package/globals.d.ts +2 -0
- package/package.json +35 -26
- package/suppress-warnings.cjs +1 -0
- package/dist/@vitest/browser/client/__vitest__/assets/index-BUCFJtth.js +0 -57
- package/dist/@vitest/browser/client/__vitest__/assets/index-DlhE0rqZ.css +0 -1
- package/dist/@vitest/browser/index-D6m36C6U.js +0 -11
- package/dist/@vitest/utils/chunk-_commonjsHelpers.js +0 -5
- package/dist/@vitest/utils/highlight.d.ts +0 -9
- package/dist/@vitest/utils/highlight.js +0 -538
- package/dist/chunks/date.Bq6ZW5rf.js +0 -73
- package/dist/chunks/rpc.BoxB0q7B.js +0 -76
- package/dist/chunks/test.B8ej_ZHS.js +0 -254
- package/dist/client/__vitest__/assets/index-BUCFJtth.js +0 -57
- package/dist/client/__vitest__/assets/index-DlhE0rqZ.css +0 -1
- package/dist/index-D6m36C6U.js +0 -6
- package/dist/mocker.d.ts +0 -1
- package/dist/mocker.js +0 -1
- package/dist/module-runner.js +0 -17
|
Binary file
|
|
@@ -1,5 +1,50 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<path d="
|
|
3
|
-
<
|
|
4
|
-
<path d="
|
|
1
|
+
<svg width="45" height="43" viewBox="0 0 45 43" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M21.2659 42.2067C20.9342 42.797 20.163 42.965 19.6137 42.5665L0.465308 28.6398C0.172341 28.4265 0 28.0862 0 27.7243V10.939C0 10.0148 1.04907 9.48061 1.79657 10.0235L13.5088 18.541C14.6031 19.3381 16.1476 18.9999 16.8111 17.8215L26.5113 0.577439C26.7117 0.222001 27.0887 0.00012207 27.498 0.00012207H43.0726C43.9385 0.00012207 44.4836 0.932876 44.0592 1.68683L21.2659 42.2046V42.2067Z" fill="#22FF84"/>
|
|
3
|
+
<mask id="mask0_2002_17204" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="45" height="43">
|
|
4
|
+
<path d="M21.2659 42.2066C20.9342 42.7968 20.163 42.9649 19.6137 42.5663L0.465308 28.6397C0.172341 28.4264 0 28.086 0 27.7241V10.9389C0 10.0147 1.04907 9.48049 1.79657 10.0233L13.5088 18.5409C14.6031 19.338 16.1476 18.9998 16.8111 17.8214L26.5113 0.577317C26.7117 0.221879 27.0887 0 27.498 0H43.0726C43.9385 0 44.4836 0.932754 44.0592 1.68671L21.2659 42.2044V42.2066Z" fill="black"/>
|
|
5
|
+
</mask>
|
|
6
|
+
<g mask="url(#mask0_2002_17204)">
|
|
7
|
+
<g filter="url(#filter0_f_2002_17204)">
|
|
8
|
+
<ellipse cx="14.0313" cy="3.39062" rx="14.0313" ry="3.39062" transform="matrix(-0.650066 0.759878 0.759879 0.650065 32.5093 -3.61884)" fill="#00CCC6"/>
|
|
9
|
+
</g>
|
|
10
|
+
<g filter="url(#filter1_f_2002_17204)">
|
|
11
|
+
<ellipse cx="14.0313" cy="6.0868" rx="14.0313" ry="6.0868" transform="matrix(-0.588245 -0.808682 -0.808682 0.588246 16.1094 37.5068)" fill="#00CCC6"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g filter="url(#filter2_f_2002_17204)">
|
|
14
|
+
<ellipse cx="6.44313" cy="12.1953" rx="6.37416" ry="5.55082" transform="rotate(23.1293 6.44313 12.1953)" fill="#77FF00"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g filter="url(#filter3_f_2002_17204)">
|
|
17
|
+
<ellipse cx="40.7746" cy="15.9509" rx="5.61461" ry="24.5343" transform="rotate(23.1293 40.7746 15.9509)" fill="#77FF00"/>
|
|
18
|
+
</g>
|
|
19
|
+
<g filter="url(#filter4_f_2002_17204)">
|
|
20
|
+
<ellipse cx="4.98534" cy="10.0691" rx="4.98534" ry="10.0691" transform="matrix(0.707107 -0.707107 -0.707107 -0.707107 39.4482 10.9414)" fill="#97FFE2"/>
|
|
21
|
+
</g>
|
|
22
|
+
</g>
|
|
23
|
+
<defs>
|
|
24
|
+
<filter id="filter0_f_2002_17204" x="7.29277" y="-10.8334" width="37.3432" height="40.1616" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
25
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
26
|
+
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
|
27
|
+
<feGaussianBlur stdDeviation="4.59556" result="effect1_foregroundBlur_2002_17204"/>
|
|
28
|
+
</filter>
|
|
29
|
+
<filter id="filter1_f_2002_17204" x="-15.8693" y="8.64781" width="37.6054" height="42.1854" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
30
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
31
|
+
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
|
32
|
+
<feGaussianBlur stdDeviation="4.59556" result="effect1_foregroundBlur_2002_17204"/>
|
|
33
|
+
</filter>
|
|
34
|
+
<filter id="filter2_f_2002_17204" x="-9.0041" y="-2.68275" width="30.8944" height="29.7561" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
35
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
36
|
+
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
|
37
|
+
<feGaussianBlur stdDeviation="4.59556" result="effect1_foregroundBlur_2002_17204"/>
|
|
38
|
+
</filter>
|
|
39
|
+
<filter id="filter3_f_2002_17204" x="20.6482" y="-15.9117" width="40.2528" height="63.7251" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
40
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
41
|
+
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
|
42
|
+
<feGaussianBlur stdDeviation="4.59556" result="effect1_foregroundBlur_2002_17204"/>
|
|
43
|
+
</filter>
|
|
44
|
+
<filter id="filter4_f_2002_17204" x="18.7156" y="-16.8414" width="34.2758" height="34.2754" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
|
45
|
+
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
|
46
|
+
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
|
|
47
|
+
<feGaussianBlur stdDeviation="4.59556" result="effect1_foregroundBlur_2002_17204"/>
|
|
48
|
+
</filter>
|
|
49
|
+
</defs>
|
|
5
50
|
</svg>
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
})();
|
|
24
24
|
</script>
|
|
25
25
|
<!-- !LOAD_METADATA! -->
|
|
26
|
-
<script type="module" src="./assets/index-
|
|
27
|
-
<link rel="stylesheet" href="./assets/index-
|
|
26
|
+
<script type="module" src="./assets/index-Di71CKDo.js"></script>
|
|
27
|
+
<link rel="stylesheet" href="./assets/index-Da0hb3oU.css">
|
|
28
28
|
</head>
|
|
29
29
|
<body>
|
|
30
30
|
<div id="app"></div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getBrowserState, a as getConfig, r as relative, b as generateFileHash } from "./utils-
|
|
1
|
+
import { g as getBrowserState, a as getConfig, r as relative, b as generateFileHash } from "./utils-C2ISqq1C.js";
|
|
2
2
|
import { channel, globalChannel, client } from '../../client.js';
|
|
3
3
|
import { Traces } from '../../../../browser.js';
|
|
4
4
|
// @__NO_SIDE_EFFECTS__
|
|
@@ -95,7 +95,7 @@ class IframeOrchestrator {
|
|
|
95
95
|
if (!iframe) {
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
|
-
await sendEventToIframe({
|
|
98
|
+
await this.sendEventToIframe({
|
|
99
99
|
event: "cleanup",
|
|
100
100
|
iframeId: ID_ALL
|
|
101
101
|
});
|
|
@@ -117,7 +117,7 @@ class IframeOrchestrator {
|
|
|
117
117
|
const iframe = this.iframes.get(ID_ALL);
|
|
118
118
|
await setIframeViewport(iframe, width, height);
|
|
119
119
|
debug("run non-isolated tests", options.files.join(", "));
|
|
120
|
-
await sendEventToIframe({
|
|
120
|
+
await this.sendEventToIframe({
|
|
121
121
|
event: "execute",
|
|
122
122
|
iframeId: ID_ALL,
|
|
123
123
|
files: options.files,
|
|
@@ -141,14 +141,14 @@ class IframeOrchestrator {
|
|
|
141
141
|
otelContext
|
|
142
142
|
);
|
|
143
143
|
await setIframeViewport(iframe, width, height);
|
|
144
|
-
await sendEventToIframe({
|
|
144
|
+
await this.sendEventToIframe({
|
|
145
145
|
event: "execute",
|
|
146
146
|
files: [spec],
|
|
147
147
|
method: options.method,
|
|
148
148
|
iframeId: file,
|
|
149
149
|
context: options.providedContext
|
|
150
150
|
});
|
|
151
|
-
await sendEventToIframe({
|
|
151
|
+
await this.sendEventToIframe({
|
|
152
152
|
event: "cleanup",
|
|
153
153
|
iframeId: file
|
|
154
154
|
});
|
|
@@ -169,12 +169,19 @@ class IframeOrchestrator {
|
|
|
169
169
|
reject(this.dispatchIframeError(new Error(
|
|
170
170
|
`Cannot connect to the iframe. Did you change the location or submitted a form? If so, don't forget to call \`event.preventDefault()\` to avoid reloading the page.
|
|
171
171
|
|
|
172
|
-
Received URL: ${href || "unknown"}
|
|
172
|
+
Received URL: ${href || "unknown due to CORS"}
|
|
173
173
|
Expected: ${iframe.src}`
|
|
174
174
|
)));
|
|
175
|
+
} else if (this.iframes.has(iframeId)) {
|
|
176
|
+
const events = this.iframeEvents.get(iframe);
|
|
177
|
+
if (events == null ? void 0 : events.size) {
|
|
178
|
+
this.dispatchIframeError(new Error(this.createWarningMessage(iframeId, "during a test")));
|
|
179
|
+
} else {
|
|
180
|
+
this.warnReload(iframe, iframeId);
|
|
181
|
+
}
|
|
175
182
|
} else {
|
|
176
183
|
this.iframes.set(iframeId, iframe);
|
|
177
|
-
sendEventToIframe({
|
|
184
|
+
this.sendEventToIframe({
|
|
178
185
|
event: "prepare",
|
|
179
186
|
iframeId,
|
|
180
187
|
startTime,
|
|
@@ -194,6 +201,28 @@ Expected: ${iframe.src}`
|
|
|
194
201
|
});
|
|
195
202
|
return iframe;
|
|
196
203
|
}
|
|
204
|
+
loggedIframe = /* @__PURE__ */ new WeakSet();
|
|
205
|
+
createWarningMessage(iframeId, location) {
|
|
206
|
+
return `The iframe${iframeId === ID_ALL ? "" : ` for "${iframeId}"`} was reloaded ${location}. This can lead to unexpected behavior during tests, duplicated test results or tests hanging.
|
|
207
|
+
|
|
208
|
+
Make sure that your test code does not change window's location, submit forms without preventing default behavior, or imports unoptimized dependencies.
|
|
209
|
+
If you are using a framework that manipulates browser history (like React Router), consider using memory-based routing for tests. If you think this is a false positive, open an issue with a reproduction: https://github.com/vitest-dev/vitest/issues/new`;
|
|
210
|
+
}
|
|
211
|
+
warnReload(iframe, iframeId) {
|
|
212
|
+
if (this.loggedIframe.has(iframe)) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
this.loggedIframe.add(iframe);
|
|
216
|
+
const message = `\x1B[41m WARNING \x1B[49m ${this.createWarningMessage(iframeId, "multiple times")}`;
|
|
217
|
+
client.rpc.sendLog("run", {
|
|
218
|
+
type: "stderr",
|
|
219
|
+
time: Date.now(),
|
|
220
|
+
content: message,
|
|
221
|
+
size: message.length,
|
|
222
|
+
taskId: iframeId === ID_ALL ? void 0 : generateFileId(iframeId)
|
|
223
|
+
}).catch(() => {
|
|
224
|
+
});
|
|
225
|
+
}
|
|
197
226
|
getIframeHref(iframe) {
|
|
198
227
|
var _a;
|
|
199
228
|
try {
|
|
@@ -265,6 +294,40 @@ Expected: ${iframe.src}`
|
|
|
265
294
|
}
|
|
266
295
|
}
|
|
267
296
|
}
|
|
297
|
+
iframeEvents = /* @__PURE__ */ new WeakMap();
|
|
298
|
+
async sendEventToIframe(event) {
|
|
299
|
+
const iframe = this.iframes.get(event.iframeId);
|
|
300
|
+
if (!iframe) {
|
|
301
|
+
throw new Error(`Cannot find iframe with id ${event.iframeId}`);
|
|
302
|
+
}
|
|
303
|
+
let events = this.iframeEvents.get(iframe);
|
|
304
|
+
if (!events) {
|
|
305
|
+
events = /* @__PURE__ */ new Set();
|
|
306
|
+
this.iframeEvents.set(iframe, events);
|
|
307
|
+
}
|
|
308
|
+
events.add(event.event);
|
|
309
|
+
channel.postMessage(event);
|
|
310
|
+
return new Promise((resolve, reject) => {
|
|
311
|
+
const cleanupEvents = () => {
|
|
312
|
+
channel.removeEventListener("message", onReceived);
|
|
313
|
+
this.eventTarget.removeEventListener("iframeerror", onError);
|
|
314
|
+
};
|
|
315
|
+
function onReceived(e) {
|
|
316
|
+
if (e.data.iframeId === event.iframeId && e.data.event === `response:${event.event}`) {
|
|
317
|
+
resolve();
|
|
318
|
+
cleanupEvents();
|
|
319
|
+
events.delete(event.event);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
function onError(e) {
|
|
323
|
+
reject(e.detail);
|
|
324
|
+
cleanupEvents();
|
|
325
|
+
events.delete(event.event);
|
|
326
|
+
}
|
|
327
|
+
this.eventTarget.addEventListener("iframeerror", onError);
|
|
328
|
+
channel.addEventListener("message", onReceived);
|
|
329
|
+
});
|
|
330
|
+
}
|
|
268
331
|
}
|
|
269
332
|
const orchestrator = new IframeOrchestrator();
|
|
270
333
|
getBrowserState().orchestrator = orchestrator;
|
|
@@ -282,27 +345,6 @@ async function getContainer(config) {
|
|
|
282
345
|
}
|
|
283
346
|
return document.querySelector("#vitest-tester");
|
|
284
347
|
}
|
|
285
|
-
async function sendEventToIframe(event) {
|
|
286
|
-
channel.postMessage(event);
|
|
287
|
-
return new Promise((resolve, reject) => {
|
|
288
|
-
function cleanupEvents() {
|
|
289
|
-
channel.removeEventListener("message", onReceived);
|
|
290
|
-
orchestrator.eventTarget.removeEventListener("iframeerror", onError);
|
|
291
|
-
}
|
|
292
|
-
function onReceived(e) {
|
|
293
|
-
if (e.data.iframeId === event.iframeId && e.data.event === `response:${event.event}`) {
|
|
294
|
-
resolve();
|
|
295
|
-
cleanupEvents();
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
function onError(e) {
|
|
299
|
-
reject(e.detail);
|
|
300
|
-
cleanupEvents();
|
|
301
|
-
}
|
|
302
|
-
orchestrator.eventTarget.addEventListener("iframeerror", onError);
|
|
303
|
-
channel.addEventListener("message", onReceived);
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
348
|
function generateFileId(file) {
|
|
307
349
|
const config = getConfig();
|
|
308
350
|
const path = relative(config.root, file);
|