@voidzero-dev/vite-plus-test 0.1.9 → 0.1.11

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.
Files changed (206) hide show
  1. package/LICENSE.md +181 -1
  2. package/dist/@vitest/browser/client/.vite/manifest.json +6 -6
  3. package/dist/@vitest/browser/client/__vitest__/assets/index-Da0hb3oU.css +1 -0
  4. package/dist/@vitest/browser/client/__vitest__/assets/index-Di71CKDo.js +63 -0
  5. package/dist/@vitest/browser/client/__vitest__/favicon.ico +0 -0
  6. package/dist/@vitest/browser/client/__vitest__/favicon.svg +49 -4
  7. package/dist/@vitest/browser/client/__vitest__/index.html +2 -2
  8. package/dist/@vitest/browser/client/__vitest_browser__/{orchestrator-S_3e_uzt.js → orchestrator-CXs6qrFe.js} +70 -28
  9. package/dist/@vitest/browser/client/__vitest_browser__/{tester-k74mgIRa.js → tester-K5NNxh1O.js} +168 -59
  10. package/dist/@vitest/browser/client/__vitest_browser__/{utils-uxqdqUz8.js → utils-C2ISqq1C.js} +2 -2
  11. package/dist/@vitest/browser/client/favicon.svg +49 -4
  12. package/dist/@vitest/browser/client/orchestrator.html +2 -2
  13. package/dist/@vitest/browser/client/tester/tester.html +2 -2
  14. package/dist/@vitest/browser/client.js +20 -13
  15. package/dist/@vitest/browser/context.d.ts +160 -10
  16. package/dist/@vitest/browser/context.js +108 -22
  17. package/dist/@vitest/browser/expect-element.js +23 -28
  18. package/dist/@vitest/browser/index-5Pe7X7sp.js +7 -0
  19. package/dist/@vitest/browser/index.d.ts +20 -2
  20. package/dist/@vitest/browser/index.js +5706 -159
  21. package/dist/@vitest/browser/locators.d.ts +14 -3
  22. package/dist/@vitest/browser/locators.js +1 -1
  23. package/dist/@vitest/browser-playwright/index.d.ts +23 -6
  24. package/dist/@vitest/browser-playwright/index.js +169 -61
  25. package/dist/@vitest/browser-playwright/locators.js +1 -1
  26. package/dist/@vitest/browser-preview/index.d.ts +14 -1
  27. package/dist/@vitest/browser-preview/locators.js +32 -20
  28. package/dist/@vitest/browser-webdriverio/index.d.ts +17 -3
  29. package/dist/@vitest/browser-webdriverio/index.js +22 -2
  30. package/dist/@vitest/browser-webdriverio/locators.js +85 -9
  31. package/dist/@vitest/expect/index.d.ts +172 -54
  32. package/dist/@vitest/expect/index.js +124 -67
  33. package/dist/@vitest/mocker/auto-register.js +1 -0
  34. package/dist/@vitest/mocker/automock.d.ts +1 -0
  35. package/dist/@vitest/mocker/automock.js +5 -0
  36. package/dist/@vitest/mocker/browser.d.ts +4 -4
  37. package/dist/@vitest/mocker/browser.js +1 -0
  38. package/dist/@vitest/mocker/chunk-automock.js +182 -14
  39. package/dist/@vitest/mocker/chunk-helpers.js +44 -0
  40. package/dist/@vitest/mocker/chunk-hoistMocks.js +659 -0
  41. package/dist/@vitest/mocker/chunk-mocker.js +41 -30
  42. package/dist/@vitest/mocker/chunk-registry.js +21 -7
  43. package/dist/@vitest/mocker/chunk-utils.js +18 -7
  44. package/dist/@vitest/mocker/hoistMocks.d-w2ILr1dG.d.ts +739 -0
  45. package/dist/@vitest/mocker/{index.d-C-sLYZi-.d.ts → index.d-B41z0AuW.d.ts} +1 -1
  46. package/dist/@vitest/mocker/index.d.ts +2 -2
  47. package/dist/@vitest/mocker/index.js +18 -3
  48. package/dist/@vitest/mocker/{mocker.d-TnKRhz7N.d.ts → mocker.d-QEntlm6J.d.ts} +10 -5
  49. package/dist/@vitest/mocker/node.d.ts +5 -734
  50. package/dist/@vitest/mocker/node.js +29 -587
  51. package/dist/@vitest/mocker/redirect.js +4 -4
  52. package/dist/@vitest/mocker/register.d.ts +3 -3
  53. package/dist/@vitest/mocker/register.js +1 -0
  54. package/dist/@vitest/mocker/transforms.d.ts +6 -0
  55. package/dist/@vitest/mocker/transforms.js +8 -0
  56. package/dist/@vitest/mocker/{types.d-B8CCKmHt.d.ts → types.d-BjI5eAwu.d.ts} +23 -7
  57. package/dist/@vitest/pretty-format/index.d.ts +11 -1
  58. package/dist/@vitest/pretty-format/index.js +33 -4
  59. package/dist/@vitest/runner/chunk-tasks.js +305 -37
  60. package/dist/@vitest/runner/index.d.ts +5 -6
  61. package/dist/@vitest/runner/index.js +1146 -455
  62. package/dist/@vitest/runner/{tasks.d-C7UxawJ9.d.ts → tasks.d-D2GKpdwQ.d.ts} +726 -55
  63. package/dist/@vitest/runner/types.d.ts +2 -182
  64. package/dist/@vitest/runner/utils.d.ts +16 -8
  65. package/dist/@vitest/runner/utils.js +1 -1
  66. package/dist/@vitest/snapshot/{environment.d-DHdQ1Csl.d.ts → environment.d-DOJxxZV9.d.ts} +2 -7
  67. package/dist/@vitest/snapshot/environment.d.ts +2 -1
  68. package/dist/@vitest/snapshot/environment.js +1 -1
  69. package/dist/@vitest/snapshot/index.d.ts +4 -3
  70. package/dist/@vitest/snapshot/index.js +21 -550
  71. package/dist/@vitest/snapshot/manager.d.ts +3 -2
  72. package/dist/@vitest/snapshot/manager.js +1 -1
  73. package/dist/@vitest/snapshot/{rawSnapshot.d-lFsMJFUd.d.ts → rawSnapshot.d-U2kJUxDr.d.ts} +1 -1
  74. package/dist/@vitest/spy/index.d.ts +34 -4
  75. package/dist/@vitest/spy/index.js +69 -19
  76. package/dist/@vitest/utils/diff.js +11 -9
  77. package/dist/@vitest/utils/display.d.ts +2 -1
  78. package/dist/@vitest/utils/display.js +38 -5
  79. package/dist/@vitest/utils/error.d.ts +2 -1
  80. package/dist/@vitest/utils/error.js +1 -2
  81. package/dist/@vitest/utils/helpers.d.ts +4 -1
  82. package/dist/@vitest/utils/helpers.js +43 -1
  83. package/dist/@vitest/utils/resolver.js +1 -2
  84. package/dist/@vitest/utils/serialize.js +6 -6
  85. package/dist/@vitest/utils/source-map/node.d.ts +6 -0
  86. package/dist/@vitest/utils/source-map/node.js +23 -0
  87. package/dist/@vitest/utils/source-map.js +15 -5
  88. package/dist/browser.d.ts +3 -2
  89. package/dist/browser.js +2 -2
  90. package/dist/chunks/acorn.B2iPLyUM.js +5958 -0
  91. package/dist/chunks/{base.CJ0Y4ePK.js → base.DM0-RqVb.js} +54 -16
  92. package/dist/chunks/{benchmark.B3N2zMcH.js → benchmark.D0SlKNbZ.js} +1 -1
  93. package/dist/chunks/{browser.d.ChKACdzH.d.ts → browser.d.X3SXoOCV.d.ts} +4 -1
  94. package/dist/chunks/{cac.DVeoLl0M.js → cac.CWGDZnXT.js} +979 -20
  95. package/dist/chunks/{cli-api.B7PN_QUv.js → cli-api.DuT9iuvY.js} +8764 -7898
  96. package/dist/chunks/{config.d.Cy95HiCx.d.ts → config.d.EJLVE3es.d.ts} +30 -15
  97. package/dist/chunks/{console.Cf-YriPC.js → console.3WNpx0tS.js} +3 -2
  98. package/dist/chunks/{constants.D_Q9UYh-.js → constants.CPYnjOGj.js} +4 -2
  99. package/dist/chunks/coverage.Bri33R1t.js +1050 -0
  100. package/dist/chunks/{creator.DAmOKTvJ.js → creator.DgVhQm5q.js} +35 -4
  101. package/dist/chunks/{defaults.BOqNVLsY.js → defaults.CdU2lD-q.js} +4 -3
  102. package/dist/chunks/{global.d.B15mdLcR.d.ts → global.d.x-ILCfAE.d.ts} +1 -2
  103. package/dist/chunks/{globals.DOayXfHP.js → globals.BXNGLnTL.js} +11 -10
  104. package/dist/chunks/{coverage.AVPTjMgw.js → index.BCY_7LL2.js} +5 -959
  105. package/dist/chunks/{index.C5r1PdPD.js → index.CEzQDJGb.js} +1 -1
  106. package/dist/chunks/{index.D3XRDfWc.js → index.CMESou6r.js} +26 -1
  107. package/dist/chunks/{index.6Qv1eEA6.js → index.DGNSnENe.js} +95 -9
  108. package/dist/chunks/{index.M8mOzt4Y.js → index.DXMFO5MJ.js} +3279 -2914
  109. package/dist/chunks/{index.Z5E_ObnR.js → index.DlDSLQD3.js} +7 -3
  110. package/dist/chunks/{index.CyBMJtT7.js → index.EY6TCHpo.js} +10 -8
  111. package/dist/chunks/{index.D4KonVSU.js → index.og1WyBLx.js} +18 -3
  112. package/dist/chunks/{init-forks._y3TW739.js → init-forks.DeArv0jT.js} +1 -1
  113. package/dist/chunks/{init-threads.DBO2kn-p.js → init-threads.-2OUl4Nn.js} +1 -1
  114. package/dist/chunks/{init.B6MLFIaN.js → init.DICorXCo.js} +52 -13
  115. package/dist/chunks/native.DPzPHdi5.js +148 -0
  116. package/dist/chunks/nativeModuleMocker.DndvSdL6.js +206 -0
  117. package/dist/chunks/nativeModuleRunner.BIakptoF.js +36 -0
  118. package/dist/chunks/{node.Ce0vMQM7.js → node.COQbm6gK.js} +1 -1
  119. package/dist/chunks/{plugin.d.CtqpEehP.d.ts → plugin.d.BuW-flqo.d.ts} +1 -1
  120. package/dist/chunks/{reporters.d.CWXNI2jG.d.ts → reporters.d.DVUYHHhe.d.ts} +328 -79
  121. package/dist/chunks/rpc.MzXet3jl.js +144 -0
  122. package/dist/chunks/{rpc.d.RH3apGEf.d.ts → rpc.d.BFMWpdph.d.ts} +10 -2
  123. package/dist/chunks/{setup-common.Cm-kSBVi.js → setup-common.B41N_kPE.js} +3 -3
  124. package/dist/chunks/{startModuleRunner.DEj0jb3e.js → startVitestModuleRunner.C3ZR-4J3.js} +265 -405
  125. package/dist/chunks/{suite.d.BJWk38HB.d.ts → suite.d.udJtyAgw.d.ts} +1 -1
  126. package/dist/chunks/{vi.2VT5v0um.js → test.CTcmp4Su.js} +538 -181
  127. package/dist/chunks/{utils.DvEY5TfP.js → utils.BX5Fg8C4.js} +8 -1
  128. package/dist/chunks/{vm.D3epNOPZ.js → vm.Dh2rTtmP.js} +48 -8
  129. package/dist/chunks/{worker.d.Dyxm8DEL.d.ts → worker.d.B84sVRy0.d.ts} +2 -2
  130. package/dist/cli.js +6 -5
  131. package/dist/client/.vite/manifest.json +6 -6
  132. package/dist/client/__vitest__/assets/index-Da0hb3oU.css +1 -0
  133. package/dist/client/__vitest__/assets/index-Di71CKDo.js +63 -0
  134. package/dist/client/__vitest__/favicon.ico +0 -0
  135. package/dist/client/__vitest__/favicon.svg +49 -4
  136. package/dist/client/__vitest__/index.html +2 -2
  137. package/dist/client/__vitest_browser__/{orchestrator-S_3e_uzt.js → orchestrator-CXs6qrFe.js} +70 -28
  138. package/dist/client/__vitest_browser__/{tester-k74mgIRa.js → tester-K5NNxh1O.js} +167 -58
  139. package/dist/client/__vitest_browser__/{utils-uxqdqUz8.js → utils-C2ISqq1C.js} +2 -2
  140. package/dist/client/favicon.svg +49 -4
  141. package/dist/client/orchestrator.html +2 -2
  142. package/dist/client/tester/tester.html +2 -2
  143. package/dist/client.js +20 -13
  144. package/dist/config.cjs +3 -2
  145. package/dist/config.d.ts +13 -12
  146. package/dist/config.js +2 -2
  147. package/dist/context.js +108 -22
  148. package/dist/coverage.d.ts +12 -8
  149. package/dist/coverage.js +8 -5
  150. package/dist/environments.js +3 -1
  151. package/dist/expect-element.js +23 -23
  152. package/dist/index-5Pe7X7sp.js +7 -0
  153. package/dist/index.d.ts +66 -27
  154. package/dist/index.js +10 -9
  155. package/dist/locators.d.ts +14 -3
  156. package/dist/locators.js +1 -1
  157. package/dist/module-evaluator.d.ts +11 -1
  158. package/dist/module-evaluator.js +43 -26
  159. package/dist/node.d.ts +28 -14
  160. package/dist/node.js +42 -40
  161. package/dist/nodejs-worker-loader.js +41 -0
  162. package/dist/plugins/mocker-transforms.mjs +2 -0
  163. package/dist/plugins/utils-source-map-node.mjs +2 -0
  164. package/dist/reporters.d.ts +8 -8
  165. package/dist/reporters.js +7 -5
  166. package/dist/runners.d.ts +24 -5
  167. package/dist/runners.js +6 -6
  168. package/dist/runtime.d.ts +6 -0
  169. package/dist/runtime.js +35 -0
  170. package/dist/snapshot.js +4 -2
  171. package/dist/suite.d.ts +1 -1
  172. package/dist/suite.js +4 -2
  173. package/dist/vendor/blazediff_core.d.mts +1 -0
  174. package/dist/vendor/blazediff_core.mjs +117 -0
  175. package/dist/vendor/chai.mjs +4 -249
  176. package/dist/vendor/convert-source-map.d.mts +1 -0
  177. package/dist/vendor/convert-source-map.mjs +150 -0
  178. package/dist/vendor/expect-type.d.mts +14 -7
  179. package/dist/vendor/expect-type.mjs +5 -5
  180. package/dist/vendor/std-env.d.mts +131 -40
  181. package/dist/vendor/std-env.mjs +114 -117
  182. package/dist/worker.d.ts +6 -6
  183. package/dist/worker.js +27 -21
  184. package/dist/workers/forks.js +23 -17
  185. package/dist/workers/runVmTests.js +18 -16
  186. package/dist/workers/threads.js +23 -17
  187. package/dist/workers/vmForks.js +15 -12
  188. package/dist/workers/vmThreads.js +15 -12
  189. package/globals.d.ts +2 -0
  190. package/package.json +35 -26
  191. package/suppress-warnings.cjs +1 -0
  192. package/dist/@vitest/browser/client/__vitest__/assets/index-BUCFJtth.js +0 -57
  193. package/dist/@vitest/browser/client/__vitest__/assets/index-DlhE0rqZ.css +0 -1
  194. package/dist/@vitest/browser/index-D6m36C6U.js +0 -11
  195. package/dist/@vitest/utils/chunk-_commonjsHelpers.js +0 -5
  196. package/dist/@vitest/utils/highlight.d.ts +0 -9
  197. package/dist/@vitest/utils/highlight.js +0 -538
  198. package/dist/chunks/date.Bq6ZW5rf.js +0 -73
  199. package/dist/chunks/rpc.BoxB0q7B.js +0 -76
  200. package/dist/chunks/test.B8ej_ZHS.js +0 -254
  201. package/dist/client/__vitest__/assets/index-BUCFJtth.js +0 -57
  202. package/dist/client/__vitest__/assets/index-DlhE0rqZ.css +0 -1
  203. package/dist/index-D6m36C6U.js +0 -6
  204. package/dist/mocker.d.ts +0 -1
  205. package/dist/mocker.js +0 -1
  206. package/dist/module-runner.js +0 -17
Binary file
@@ -1,5 +1,50 @@
1
- <svg width="165" height="165" viewBox="0 0 165 165" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M120.831 57.2543L84.693 109.505C84.3099 110.059 83.7558 110.474 83.1148 110.687C82.4738 110.9 81.7809 110.898 81.1412 110.684C80.5015 110.469 79.95 110.052 79.5702 109.497C79.1905 108.941 79.0032 108.277 79.037 107.606L80.4833 78.7582L57.1343 73.8064C56.6353 73.7007 56.1704 73.474 55.7807 73.1465C55.391 72.8191 55.0885 72.4009 54.9001 71.929C54.7117 71.4571 54.6432 70.9461 54.7006 70.4412C54.758 69.9364 54.9395 69.4532 55.2291 69.0345L91.3675 16.7837C91.7507 16.2294 92.3048 15.8145 92.9458 15.6018C93.5869 15.3891 94.2798 15.3902 94.9196 15.6051C95.5593 15.8199 96.1109 16.2367 96.4906 16.7923C96.8703 17.3478 97.0575 18.0117 97.0236 18.6833L95.5773 47.5314L118.926 52.4828C119.425 52.5885 119.89 52.8152 120.28 53.1426C120.67 53.4701 120.972 53.8883 121.16 54.3602C121.349 54.8321 121.417 55.3431 121.36 55.8479C121.303 56.3528 121.121 56.836 120.831 57.2547L120.831 57.2543Z" fill="#FCC72B"/>
3
- <path d="M82.9866 153.343C82.0254 153.344 81.0735 153.156 80.1855 152.788C79.2975 152.42 78.4909 151.88 77.8122 151.2L43.6658 117.056C42.2998 115.683 41.5341 113.824 41.5366 111.887C41.5392 109.95 42.3098 108.092 43.6796 106.723C45.0493 105.353 46.9064 104.582 48.8435 104.579C50.7807 104.577 52.6399 105.342 54.0134 106.708L82.9866 135.678L146.105 72.5626C147.481 71.2088 149.336 70.4536 151.266 70.4615C153.197 70.4693 155.046 71.2396 156.41 72.6045C157.775 73.9695 158.546 75.8184 158.554 77.7487C158.561 79.679 157.806 81.5342 156.452 82.9101L88.1597 151.2C87.4811 151.881 86.6747 152.42 85.7869 152.788C84.8992 153.156 83.9475 153.344 82.9866 153.343Z" fill="#729B1B"/>
4
- <path d="M82.9572 153.343C83.9184 153.344 84.8703 153.156 85.7583 152.788C86.6463 152.42 87.4528 151.88 88.1316 151.2L122.278 117.056C123.644 115.683 124.41 113.824 124.407 111.887C124.405 109.95 123.634 108.092 122.264 106.723C120.894 105.353 119.037 104.582 117.1 104.579C115.163 104.577 113.304 105.342 111.93 106.708L82.9572 135.678L19.8389 72.5626C18.4629 71.2088 16.6077 70.4536 14.6775 70.4615C12.7472 70.4693 10.8982 71.2396 9.53331 72.6045C8.16839 73.9695 7.39811 75.8184 7.39025 77.7487C7.38239 79.679 8.13759 81.5342 9.49135 82.9101L77.784 151.2C78.4627 151.881 79.2691 152.42 80.1568 152.788C81.0446 153.156 81.9963 153.344 82.9572 153.343Z" fill="#729B1B" fill-opacity="0.5"/>
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-BUCFJtth.js"></script>
27
- <link rel="stylesheet" href="./assets/index-DlhE0rqZ.css">
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-uxqdqUz8.js";
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"../../@vitest/browser/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);