veryfront 0.1.324 → 0.1.326

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 (271) hide show
  1. package/esm/cli/commands/extension/init-command.js +2 -2
  2. package/esm/cli/commands/extension/validate-command.js +1 -1
  3. package/esm/deno.d.ts +7 -0
  4. package/esm/deno.js +8 -1
  5. package/esm/deps/esm.sh/react-dom@19.2.4/client.d.ts +2 -0
  6. package/esm/deps/esm.sh/react-dom@19.2.4/client.d.ts.map +1 -0
  7. package/esm/deps/esm.sh/react-dom@19.2.4/client.js +5 -0
  8. package/esm/deps/esm.sh/scheduler@^0.27.0.d.ts +2 -0
  9. package/esm/deps/esm.sh/scheduler@^0.27.0.d.ts.map +1 -0
  10. package/esm/deps/esm.sh/scheduler@^0.27.0.js +3 -0
  11. package/esm/deps/jsr.io/@std/assert/1.0.19/almost_equals.d.ts +30 -0
  12. package/esm/deps/jsr.io/@std/assert/1.0.19/almost_equals.d.ts.map +1 -0
  13. package/esm/deps/jsr.io/@std/assert/1.0.19/almost_equals.js +47 -0
  14. package/esm/deps/jsr.io/@std/assert/1.0.19/array_includes.d.ts +29 -0
  15. package/esm/deps/jsr.io/@std/assert/1.0.19/array_includes.d.ts.map +1 -0
  16. package/esm/deps/jsr.io/@std/assert/1.0.19/array_includes.js +65 -0
  17. package/esm/deps/jsr.io/@std/assert/1.0.19/assert.d.ts +17 -0
  18. package/esm/deps/jsr.io/@std/assert/1.0.19/assert.d.ts.map +1 -0
  19. package/esm/deps/jsr.io/@std/assert/1.0.19/assert.js +23 -0
  20. package/esm/deps/jsr.io/@std/assert/1.0.19/assertion_error.d.ts +26 -0
  21. package/esm/deps/jsr.io/@std/assert/1.0.19/assertion_error.d.ts.map +1 -0
  22. package/esm/deps/jsr.io/@std/assert/1.0.19/assertion_error.js +30 -0
  23. package/esm/deps/jsr.io/@std/assert/1.0.19/equal.d.ts +25 -0
  24. package/esm/deps/jsr.io/@std/assert/1.0.19/equal.d.ts.map +1 -0
  25. package/esm/deps/jsr.io/@std/assert/1.0.19/equal.js +194 -0
  26. package/esm/deps/jsr.io/@std/assert/1.0.19/equals.d.ts +37 -0
  27. package/esm/deps/jsr.io/@std/assert/1.0.19/equals.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@std/assert/1.0.19/equals.js +61 -0
  29. package/esm/deps/jsr.io/@std/assert/1.0.19/exists.d.ts +18 -0
  30. package/esm/deps/jsr.io/@std/assert/1.0.19/exists.d.ts.map +1 -0
  31. package/esm/deps/jsr.io/@std/assert/1.0.19/exists.js +27 -0
  32. package/esm/deps/jsr.io/@std/assert/1.0.19/fail.d.ts +15 -0
  33. package/esm/deps/jsr.io/@std/assert/1.0.19/fail.d.ts.map +1 -0
  34. package/esm/deps/jsr.io/@std/assert/1.0.19/fail.js +20 -0
  35. package/esm/deps/jsr.io/@std/assert/1.0.19/false.d.ts +19 -0
  36. package/esm/deps/jsr.io/@std/assert/1.0.19/false.d.ts.map +1 -0
  37. package/esm/deps/jsr.io/@std/assert/1.0.19/false.js +23 -0
  38. package/esm/deps/jsr.io/@std/assert/1.0.19/greater.d.ts +20 -0
  39. package/esm/deps/jsr.io/@std/assert/1.0.19/greater.d.ts.map +1 -0
  40. package/esm/deps/jsr.io/@std/assert/1.0.19/greater.js +29 -0
  41. package/esm/deps/jsr.io/@std/assert/1.0.19/greater_or_equal.d.ts +20 -0
  42. package/esm/deps/jsr.io/@std/assert/1.0.19/greater_or_equal.d.ts.map +1 -0
  43. package/esm/deps/jsr.io/@std/assert/1.0.19/greater_or_equal.js +29 -0
  44. package/esm/deps/jsr.io/@std/assert/1.0.19/instance_of.d.ts +23 -0
  45. package/esm/deps/jsr.io/@std/assert/1.0.19/instance_of.d.ts.map +1 -0
  46. package/esm/deps/jsr.io/@std/assert/1.0.19/instance_of.js +52 -0
  47. package/esm/deps/jsr.io/@std/assert/1.0.19/is_error.d.ts +25 -0
  48. package/esm/deps/jsr.io/@std/assert/1.0.19/is_error.d.ts.map +1 -0
  49. package/esm/deps/jsr.io/@std/assert/1.0.19/is_error.js +53 -0
  50. package/esm/deps/jsr.io/@std/assert/1.0.19/less.d.ts +19 -0
  51. package/esm/deps/jsr.io/@std/assert/1.0.19/less.d.ts.map +1 -0
  52. package/esm/deps/jsr.io/@std/assert/1.0.19/less.js +28 -0
  53. package/esm/deps/jsr.io/@std/assert/1.0.19/less_or_equal.d.ts +20 -0
  54. package/esm/deps/jsr.io/@std/assert/1.0.19/less_or_equal.d.ts.map +1 -0
  55. package/esm/deps/jsr.io/@std/assert/1.0.19/less_or_equal.js +29 -0
  56. package/esm/deps/jsr.io/@std/assert/1.0.19/match.d.ts +18 -0
  57. package/esm/deps/jsr.io/@std/assert/1.0.19/match.d.ts.map +1 -0
  58. package/esm/deps/jsr.io/@std/assert/1.0.19/match.js +26 -0
  59. package/esm/deps/jsr.io/@std/assert/1.0.19/mod.d.ts +44 -0
  60. package/esm/deps/jsr.io/@std/assert/1.0.19/mod.d.ts.map +1 -0
  61. package/esm/deps/jsr.io/@std/assert/1.0.19/mod.js +45 -0
  62. package/esm/deps/jsr.io/@std/assert/1.0.19/not_equals.d.ts +27 -0
  63. package/esm/deps/jsr.io/@std/assert/1.0.19/not_equals.d.ts.map +1 -0
  64. package/esm/deps/jsr.io/@std/assert/1.0.19/not_equals.js +39 -0
  65. package/esm/deps/jsr.io/@std/assert/1.0.19/not_instance_of.d.ts +20 -0
  66. package/esm/deps/jsr.io/@std/assert/1.0.19/not_instance_of.d.ts.map +1 -0
  67. package/esm/deps/jsr.io/@std/assert/1.0.19/not_instance_of.js +29 -0
  68. package/esm/deps/jsr.io/@std/assert/1.0.19/not_match.d.ts +18 -0
  69. package/esm/deps/jsr.io/@std/assert/1.0.19/not_match.d.ts.map +1 -0
  70. package/esm/deps/jsr.io/@std/assert/1.0.19/not_match.js +26 -0
  71. package/esm/deps/jsr.io/@std/assert/1.0.19/not_strict_equals.d.ts +23 -0
  72. package/esm/deps/jsr.io/@std/assert/1.0.19/not_strict_equals.d.ts.map +1 -0
  73. package/esm/deps/jsr.io/@std/assert/1.0.19/not_strict_equals.js +32 -0
  74. package/esm/deps/jsr.io/@std/assert/1.0.19/object_match.d.ts +29 -0
  75. package/esm/deps/jsr.io/@std/assert/1.0.19/object_match.d.ts.map +1 -0
  76. package/esm/deps/jsr.io/@std/assert/1.0.19/object_match.js +177 -0
  77. package/esm/deps/jsr.io/@std/assert/1.0.19/rejects.d.ts +42 -0
  78. package/esm/deps/jsr.io/@std/assert/1.0.19/rejects.d.ts.map +1 -0
  79. package/esm/deps/jsr.io/@std/assert/1.0.19/rejects.js +53 -0
  80. package/esm/deps/jsr.io/@std/assert/1.0.19/strict_equals.d.ts +24 -0
  81. package/esm/deps/jsr.io/@std/assert/1.0.19/strict_equals.d.ts.map +1 -0
  82. package/esm/deps/jsr.io/@std/assert/1.0.19/strict_equals.js +58 -0
  83. package/esm/deps/jsr.io/@std/assert/1.0.19/string_includes.d.ts +18 -0
  84. package/esm/deps/jsr.io/@std/assert/1.0.19/string_includes.d.ts.map +1 -0
  85. package/esm/deps/jsr.io/@std/assert/1.0.19/string_includes.js +26 -0
  86. package/esm/deps/jsr.io/@std/assert/1.0.19/throws.d.ts +45 -0
  87. package/esm/deps/jsr.io/@std/assert/1.0.19/throws.d.ts.map +1 -0
  88. package/esm/deps/jsr.io/@std/assert/1.0.19/throws.js +44 -0
  89. package/esm/deps/jsr.io/@std/assert/1.0.19/unimplemented.d.ts +15 -0
  90. package/esm/deps/jsr.io/@std/assert/1.0.19/unimplemented.d.ts.map +1 -0
  91. package/esm/deps/jsr.io/@std/assert/1.0.19/unimplemented.js +20 -0
  92. package/esm/deps/jsr.io/@std/assert/1.0.19/unreachable.d.ts +15 -0
  93. package/esm/deps/jsr.io/@std/assert/1.0.19/unreachable.d.ts.map +1 -0
  94. package/esm/deps/jsr.io/@std/assert/1.0.19/unreachable.js +20 -0
  95. package/esm/deps/jsr.io/@std/internal/1.0.13/assertion_state.d.ts +150 -0
  96. package/esm/deps/jsr.io/@std/internal/1.0.13/assertion_state.d.ts.map +1 -0
  97. package/esm/deps/jsr.io/@std/internal/1.0.13/assertion_state.js +224 -0
  98. package/esm/deps/jsr.io/@std/internal/1.0.13/build_message.d.ts +80 -0
  99. package/esm/deps/jsr.io/@std/internal/1.0.13/build_message.d.ts.map +1 -0
  100. package/esm/deps/jsr.io/@std/internal/1.0.13/build_message.js +116 -0
  101. package/esm/deps/jsr.io/@std/internal/1.0.13/diff.d.ts +140 -0
  102. package/esm/deps/jsr.io/@std/internal/1.0.13/diff.d.ts.map +1 -0
  103. package/esm/deps/jsr.io/@std/internal/1.0.13/diff.js +276 -0
  104. package/esm/deps/jsr.io/@std/internal/1.0.13/diff_str.d.ts +99 -0
  105. package/esm/deps/jsr.io/@std/internal/1.0.13/diff_str.d.ts.map +1 -0
  106. package/esm/deps/jsr.io/@std/internal/1.0.13/diff_str.js +182 -0
  107. package/esm/deps/jsr.io/@std/internal/1.0.13/format.d.ts +29 -0
  108. package/esm/deps/jsr.io/@std/internal/1.0.13/format.d.ts.map +1 -0
  109. package/esm/deps/jsr.io/@std/internal/1.0.13/format.js +70 -0
  110. package/esm/deps/jsr.io/@std/internal/1.0.13/styles.d.ts +159 -0
  111. package/esm/deps/jsr.io/@std/internal/1.0.13/styles.d.ts.map +1 -0
  112. package/esm/deps/jsr.io/@std/internal/1.0.13/styles.js +207 -0
  113. package/esm/deps/jsr.io/@std/internal/1.0.13/types.d.ts +25 -0
  114. package/esm/deps/jsr.io/@std/internal/1.0.13/types.d.ts.map +1 -0
  115. package/esm/deps/jsr.io/@std/internal/1.0.13/types.js +3 -0
  116. package/esm/deps/jsr.io/@std/testing/1.0.18/_test_suite.d.ts +80 -0
  117. package/esm/deps/jsr.io/@std/testing/1.0.18/_test_suite.d.ts.map +1 -0
  118. package/esm/deps/jsr.io/@std/testing/1.0.18/_test_suite.js +348 -0
  119. package/esm/deps/jsr.io/@std/testing/1.0.18/bdd.d.ts +738 -0
  120. package/esm/deps/jsr.io/@std/testing/1.0.18/bdd.d.ts.map +1 -0
  121. package/esm/deps/jsr.io/@std/testing/1.0.18/bdd.js +656 -0
  122. package/esm/src/agent/fork-runtime-stream.d.ts +143 -0
  123. package/esm/src/agent/fork-runtime-stream.d.ts.map +1 -0
  124. package/esm/src/agent/fork-runtime-stream.js +505 -0
  125. package/esm/src/agent/index.d.ts +1 -0
  126. package/esm/src/agent/index.d.ts.map +1 -1
  127. package/esm/src/agent/index.js +1 -0
  128. package/esm/src/chat/conversation.d.ts +5 -5
  129. package/esm/src/modules/index.d.ts +12 -0
  130. package/esm/src/modules/index.d.ts.map +1 -0
  131. package/esm/src/modules/index.js +10 -0
  132. package/esm/src/modules/module-resolver.d.ts +28 -0
  133. package/esm/src/modules/module-resolver.d.ts.map +1 -0
  134. package/esm/src/modules/module-resolver.js +106 -0
  135. package/esm/src/rendering/cleanup.d.ts +7 -0
  136. package/esm/src/rendering/cleanup.d.ts.map +1 -0
  137. package/esm/src/rendering/cleanup.js +22 -0
  138. package/esm/src/rendering/ssr/index.d.ts +10 -0
  139. package/esm/src/rendering/ssr/index.d.ts.map +1 -0
  140. package/esm/src/rendering/ssr/index.js +8 -0
  141. package/esm/src/rendering/ssr/mdx-module-loader.d.ts +5 -0
  142. package/esm/src/rendering/ssr/mdx-module-loader.d.ts.map +1 -0
  143. package/esm/src/rendering/ssr/mdx-module-loader.js +150 -0
  144. package/esm/src/rendering/ssr/mdx-renderer.d.ts +4 -0
  145. package/esm/src/rendering/ssr/mdx-renderer.d.ts.map +1 -0
  146. package/esm/src/rendering/ssr/mdx-renderer.js +44 -0
  147. package/esm/src/rendering/ssr/types.d.ts +13 -0
  148. package/esm/src/rendering/ssr/types.d.ts.map +1 -0
  149. package/esm/src/rendering/ssr/types.js +1 -0
  150. package/esm/src/sandbox/index.d.ts +1 -0
  151. package/esm/src/sandbox/index.d.ts.map +1 -1
  152. package/esm/src/sandbox/index.js +1 -0
  153. package/esm/src/sandbox/shell-tools.d.ts +39 -0
  154. package/esm/src/sandbox/shell-tools.d.ts.map +1 -0
  155. package/esm/src/sandbox/shell-tools.js +177 -0
  156. package/esm/src/server/shared/index.d.ts +7 -0
  157. package/esm/src/server/shared/index.d.ts.map +1 -0
  158. package/esm/src/server/shared/index.js +6 -0
  159. package/esm/src/testing/assert.d.ts +22 -0
  160. package/esm/src/testing/assert.d.ts.map +1 -0
  161. package/esm/src/testing/assert.js +217 -0
  162. package/esm/src/testing/bdd.d.ts +67 -0
  163. package/esm/src/testing/bdd.d.ts.map +1 -0
  164. package/esm/src/testing/bdd.js +401 -0
  165. package/esm/src/testing/deno-compat.d.ts +26 -0
  166. package/esm/src/testing/deno-compat.d.ts.map +1 -0
  167. package/esm/src/testing/deno-compat.js +146 -0
  168. package/esm/src/testing/index.d.ts +28 -0
  169. package/esm/src/testing/index.d.ts.map +1 -0
  170. package/esm/src/testing/index.js +27 -0
  171. package/esm/src/testing/init.d.ts +2 -0
  172. package/esm/src/testing/init.d.ts.map +1 -0
  173. package/esm/src/testing/init.js +18 -0
  174. package/esm/src/testing/isolation.d.ts +30 -0
  175. package/esm/src/testing/isolation.d.ts.map +1 -0
  176. package/esm/src/testing/isolation.js +151 -0
  177. package/esm/src/testing/timing.d.ts +4 -0
  178. package/esm/src/testing/timing.d.ts.map +1 -0
  179. package/esm/src/testing/timing.js +22 -0
  180. package/esm/src/testing/utils.d.ts +6 -0
  181. package/esm/src/testing/utils.d.ts.map +1 -0
  182. package/esm/src/testing/utils.js +49 -0
  183. package/esm/src/types/global-guards.d.ts +11 -0
  184. package/esm/src/types/global-guards.d.ts.map +1 -0
  185. package/esm/src/types/global-guards.js +12 -0
  186. package/esm/src/utils/cache/keys/namespace.d.ts +3 -0
  187. package/esm/src/utils/cache/keys/namespace.d.ts.map +1 -0
  188. package/esm/src/utils/cache/keys/namespace.js +19 -0
  189. package/esm/src/utils/clsx.d.ts +3 -3
  190. package/esm/src/utils/clsx.d.ts.map +1 -1
  191. package/esm/src/utils/clsx.js +2 -3
  192. package/esm/src/utils/mime-types.d.ts +0 -6
  193. package/esm/src/utils/mime-types.d.ts.map +1 -1
  194. package/esm/src/utils/mime-types.js +0 -1
  195. package/esm/src/utils/version-constant.d.ts +1 -1
  196. package/esm/src/utils/version-constant.js +1 -1
  197. package/package.json +14 -1
  198. package/src/cli/commands/extension/init-command.ts +2 -2
  199. package/src/cli/commands/extension/validate-command.ts +1 -1
  200. package/src/deno.js +8 -1
  201. package/src/deps/esm.sh/@types/react-dom@19.2.3/client.d.ts +105 -0
  202. package/src/deps/esm.sh/@types/react@19.2.3/global.d.ts +165 -0
  203. package/src/deps/esm.sh/@types/react@19.2.3/index.d.ts +4301 -0
  204. package/src/deps/esm.sh/@types/scheduler@0.26.0/index.d.ts +30 -0
  205. package/src/deps/esm.sh/csstype@3.2.3/index.d.ts +22569 -0
  206. package/src/deps/esm.sh/react-dom@19.2.4/client.d.ts +105 -0
  207. package/src/deps/esm.sh/react-dom@19.2.4/client.js +5 -0
  208. package/src/deps/esm.sh/scheduler@^0.27.0.d.ts +30 -0
  209. package/src/deps/esm.sh/scheduler@^0.27.0.js +3 -0
  210. package/src/deps/jsr.io/@std/assert/1.0.19/almost_equals.ts +56 -0
  211. package/src/deps/jsr.io/@std/assert/1.0.19/array_includes.ts +76 -0
  212. package/src/deps/jsr.io/@std/assert/1.0.19/assert.ts +24 -0
  213. package/src/deps/jsr.io/@std/assert/1.0.19/assertion_error.ts +31 -0
  214. package/src/deps/jsr.io/@std/assert/1.0.19/equal.ts +226 -0
  215. package/src/deps/jsr.io/@std/assert/1.0.19/equals.ts +68 -0
  216. package/src/deps/jsr.io/@std/assert/1.0.19/exists.ts +31 -0
  217. package/src/deps/jsr.io/@std/assert/1.0.19/fail.ts +21 -0
  218. package/src/deps/jsr.io/@std/assert/1.0.19/false.ts +27 -0
  219. package/src/deps/jsr.io/@std/assert/1.0.19/greater.ts +30 -0
  220. package/src/deps/jsr.io/@std/assert/1.0.19/greater_or_equal.ts +36 -0
  221. package/src/deps/jsr.io/@std/assert/1.0.19/instance_of.ts +64 -0
  222. package/src/deps/jsr.io/@std/assert/1.0.19/is_error.ts +65 -0
  223. package/src/deps/jsr.io/@std/assert/1.0.19/less.ts +29 -0
  224. package/src/deps/jsr.io/@std/assert/1.0.19/less_or_equal.ts +36 -0
  225. package/src/deps/jsr.io/@std/assert/1.0.19/match.ts +30 -0
  226. package/src/deps/jsr.io/@std/assert/1.0.19/mod.ts +47 -0
  227. package/src/deps/jsr.io/@std/assert/1.0.19/not_equals.ts +43 -0
  228. package/src/deps/jsr.io/@std/assert/1.0.19/not_instance_of.ts +33 -0
  229. package/src/deps/jsr.io/@std/assert/1.0.19/not_match.ts +30 -0
  230. package/src/deps/jsr.io/@std/assert/1.0.19/not_strict_equals.ts +42 -0
  231. package/src/deps/jsr.io/@std/assert/1.0.19/object_match.ts +224 -0
  232. package/src/deps/jsr.io/@std/assert/1.0.19/rejects.ts +123 -0
  233. package/src/deps/jsr.io/@std/assert/1.0.19/strict_equals.ts +68 -0
  234. package/src/deps/jsr.io/@std/assert/1.0.19/string_includes.ts +30 -0
  235. package/src/deps/jsr.io/@std/assert/1.0.19/throws.ts +111 -0
  236. package/src/deps/jsr.io/@std/assert/1.0.19/unimplemented.ts +21 -0
  237. package/src/deps/jsr.io/@std/assert/1.0.19/unreachable.ts +21 -0
  238. package/src/deps/jsr.io/@std/internal/1.0.13/assertion_state.ts +248 -0
  239. package/src/deps/jsr.io/@std/internal/1.0.13/build_message.ts +147 -0
  240. package/src/deps/jsr.io/@std/internal/1.0.13/diff.ts +317 -0
  241. package/src/deps/jsr.io/@std/internal/1.0.13/diff_str.ts +208 -0
  242. package/src/deps/jsr.io/@std/internal/1.0.13/format.ts +89 -0
  243. package/src/deps/jsr.io/@std/internal/1.0.13/styles.ts +233 -0
  244. package/src/deps/jsr.io/@std/internal/1.0.13/types.ts +30 -0
  245. package/src/deps/jsr.io/@std/testing/1.0.18/_test_suite.ts +461 -0
  246. package/src/deps/jsr.io/@std/testing/1.0.18/bdd.ts +1294 -0
  247. package/src/src/agent/fork-runtime-stream.ts +780 -0
  248. package/src/src/agent/index.ts +16 -0
  249. package/src/src/modules/index.ts +43 -0
  250. package/src/src/modules/module-resolver.ts +145 -0
  251. package/src/src/rendering/cleanup.ts +27 -0
  252. package/src/src/rendering/ssr/index.ts +10 -0
  253. package/src/src/rendering/ssr/mdx-module-loader.ts +185 -0
  254. package/src/src/rendering/ssr/mdx-renderer.ts +66 -0
  255. package/src/src/rendering/ssr/types.ts +14 -0
  256. package/src/src/sandbox/index.ts +9 -0
  257. package/src/src/sandbox/shell-tools.ts +242 -0
  258. package/src/src/server/shared/index.ts +12 -0
  259. package/src/src/testing/assert.ts +352 -0
  260. package/src/src/testing/bdd.ts +618 -0
  261. package/src/src/testing/deno-compat.ts +206 -0
  262. package/src/src/testing/index.ts +92 -0
  263. package/src/src/testing/init.ts +21 -0
  264. package/src/src/testing/isolation.ts +177 -0
  265. package/src/src/testing/timing.ts +27 -0
  266. package/src/src/testing/utils.ts +44 -0
  267. package/src/src/types/global-guards.ts +21 -0
  268. package/src/src/utils/cache/keys/namespace.ts +25 -0
  269. package/src/src/utils/clsx.ts +2 -4
  270. package/src/src/utils/mime-types.ts +0 -2
  271. package/src/src/utils/version-constant.ts +1 -1
@@ -0,0 +1,348 @@
1
+ // Copyright 2018-2026 the Deno authors. MIT license.
2
+ import * as dntShim from "../../../../../_dnt.shims.js";
3
+ import { getAssertionState } from "../../internal/1.0.13/assertion_state.js";
4
+ import { AssertionError } from "../../assert/1.0.19/assertion_error.js";
5
+ export const globalSanitizersState = {
6
+ sanitizeExit: undefined,
7
+ sanitizeOps: undefined,
8
+ sanitizeResources: undefined,
9
+ };
10
+ const assertionState = getAssertionState();
11
+ /**
12
+ * An internal representation of a group of tests.
13
+ */
14
+ export class TestSuiteInternal {
15
+ symbol;
16
+ describe;
17
+ steps;
18
+ hasOnlyStep;
19
+ #registeredOptions;
20
+ constructor(describe) {
21
+ this.describe = describe;
22
+ this.steps = [];
23
+ this.hasOnlyStep = false;
24
+ const { suite } = describe;
25
+ if (suite && !TestSuiteInternal.suites.has(suite.symbol)) {
26
+ throw new Error("Cannot construct Test Suite: suite does not represent a registered test suite");
27
+ }
28
+ const testSuite = suite
29
+ ? TestSuiteInternal.suites.get(suite.symbol)
30
+ : TestSuiteInternal.current;
31
+ this.symbol = Symbol();
32
+ TestSuiteInternal.suites.set(this.symbol, this);
33
+ const { fn, ignore } = describe;
34
+ if (ignore) {
35
+ const { name, only, permissions, sanitizeExit = globalSanitizersState.sanitizeExit, sanitizeOps = globalSanitizersState.sanitizeOps, sanitizeResources = globalSanitizersState.sanitizeResources, } = describe;
36
+ const options = {
37
+ name,
38
+ fn: async () => { },
39
+ ignore: true,
40
+ };
41
+ if (only !== undefined) {
42
+ options.only = only;
43
+ }
44
+ if (permissions !== undefined) {
45
+ options.permissions = permissions;
46
+ }
47
+ if (sanitizeExit !== undefined) {
48
+ options.sanitizeExit = sanitizeExit;
49
+ }
50
+ if (sanitizeOps !== undefined) {
51
+ options.sanitizeOps = sanitizeOps;
52
+ }
53
+ if (sanitizeResources !== undefined) {
54
+ options.sanitizeResources = sanitizeResources;
55
+ }
56
+ TestSuiteInternal.registerTest(options);
57
+ return;
58
+ }
59
+ if (fn) {
60
+ const temp = TestSuiteInternal.current;
61
+ TestSuiteInternal.current = this;
62
+ try {
63
+ // deno-lint-ignore no-explicit-any
64
+ const value = fn();
65
+ if (value instanceof Promise) {
66
+ throw new Error('Returning a Promise from "describe" is not supported: tests must be defined synchronously');
67
+ }
68
+ }
69
+ finally {
70
+ TestSuiteInternal.current = temp;
71
+ }
72
+ }
73
+ if (testSuite) {
74
+ TestSuiteInternal.addStep(testSuite, this);
75
+ }
76
+ else {
77
+ const { name, ignore, permissions, sanitizeExit = globalSanitizersState.sanitizeExit, sanitizeOps = globalSanitizersState.sanitizeOps, sanitizeResources = globalSanitizersState.sanitizeResources, } = describe;
78
+ let { only } = describe;
79
+ if (!ignore && this.hasOnlyStep) {
80
+ only = true;
81
+ }
82
+ const options = {
83
+ name,
84
+ fn: async (t) => {
85
+ TestSuiteInternal.runningCount++;
86
+ try {
87
+ const context = {};
88
+ const { beforeAll } = this.describe;
89
+ if (typeof beforeAll === "function") {
90
+ await beforeAll.call(context);
91
+ }
92
+ else if (beforeAll) {
93
+ for (const hook of beforeAll) {
94
+ await hook.call(context);
95
+ }
96
+ }
97
+ try {
98
+ TestSuiteInternal.active.push(this.symbol);
99
+ await TestSuiteInternal.run(this, context, t);
100
+ }
101
+ finally {
102
+ TestSuiteInternal.active.pop();
103
+ const { afterAll } = this.describe;
104
+ if (typeof afterAll === "function") {
105
+ await afterAll.call(context);
106
+ }
107
+ else if (afterAll) {
108
+ for (const hook of afterAll) {
109
+ await hook.call(context);
110
+ }
111
+ }
112
+ }
113
+ }
114
+ finally {
115
+ TestSuiteInternal.runningCount--;
116
+ }
117
+ },
118
+ };
119
+ if (ignore !== undefined) {
120
+ options.ignore = ignore;
121
+ }
122
+ if (only !== undefined) {
123
+ options.only = only;
124
+ }
125
+ if (permissions !== undefined) {
126
+ options.permissions = permissions;
127
+ }
128
+ if (sanitizeExit !== undefined) {
129
+ options.sanitizeExit = sanitizeExit;
130
+ }
131
+ if (sanitizeOps !== undefined) {
132
+ options.sanitizeOps = sanitizeOps;
133
+ }
134
+ if (sanitizeResources !== undefined) {
135
+ options.sanitizeResources = sanitizeResources;
136
+ }
137
+ this.#registeredOptions = TestSuiteInternal.registerTest(options);
138
+ }
139
+ }
140
+ /** Stores how many test suites are executing. */
141
+ static runningCount = 0;
142
+ /** If a test has been registered yet. Block adding global hooks if a test has been registered. */
143
+ static started = false;
144
+ /** A map of all test suites by symbol. */
145
+ // deno-lint-ignore no-explicit-any
146
+ static suites = new Map();
147
+ /** The current test suite being registered. */
148
+ // deno-lint-ignore no-explicit-any
149
+ static current = null;
150
+ /** The stack of tests that are actively running. */
151
+ static active = [];
152
+ /** This is used internally for testing this module. */
153
+ static reset() {
154
+ TestSuiteInternal.runningCount = 0;
155
+ TestSuiteInternal.started = false;
156
+ TestSuiteInternal.current = null;
157
+ TestSuiteInternal.active = [];
158
+ }
159
+ /** This is used internally to register tests. */
160
+ static registerTest(options) {
161
+ options = { ...options };
162
+ if (options.only === undefined) {
163
+ delete options.only;
164
+ }
165
+ if (options.permissions === undefined) {
166
+ delete options.permissions;
167
+ }
168
+ if (options.ignore === undefined) {
169
+ delete options.ignore;
170
+ }
171
+ if (options.sanitizeExit === undefined) {
172
+ delete options.sanitizeExit;
173
+ }
174
+ if (options.sanitizeOps === undefined) {
175
+ delete options.sanitizeOps;
176
+ }
177
+ if (options.sanitizeResources === undefined) {
178
+ delete options.sanitizeResources;
179
+ }
180
+ dntShim.Deno.test(options);
181
+ return options;
182
+ }
183
+ /** Updates all steps within top level suite to have ignore set to true if only is not set to true on step. */
184
+ static addingOnlyStep(suite) {
185
+ if (!suite.hasOnlyStep) {
186
+ for (let i = 0; i < suite.steps.length; i++) {
187
+ const step = suite.steps[i];
188
+ if (!(step instanceof TestSuiteInternal) && !step.only) {
189
+ suite.steps.splice(i--, 1);
190
+ }
191
+ }
192
+ suite.hasOnlyStep = true;
193
+ }
194
+ const parentSuite = suite.describe.suite;
195
+ const parentTestSuite = parentSuite &&
196
+ TestSuiteInternal.suites.get(parentSuite.symbol);
197
+ if (parentTestSuite) {
198
+ TestSuiteInternal.addingOnlyStep(parentTestSuite);
199
+ }
200
+ // If this suite was already registered with Deno.test (e.g. a global
201
+ // suite created by beforeAll), retroactively mark it as only.
202
+ if (suite.#registeredOptions) {
203
+ suite.#registeredOptions.only = true;
204
+ }
205
+ }
206
+ /** This is used internally to add steps to a test suite. */
207
+ static addStep(suite, step) {
208
+ if (!suite.hasOnlyStep) {
209
+ if (step instanceof TestSuiteInternal) {
210
+ if (step.hasOnlyStep || step.describe.only) {
211
+ TestSuiteInternal.addingOnlyStep(suite);
212
+ }
213
+ }
214
+ else {
215
+ if (step.only)
216
+ TestSuiteInternal.addingOnlyStep(suite);
217
+ }
218
+ }
219
+ if (!(suite.hasOnlyStep && !(step instanceof TestSuiteInternal) && !step.only)) {
220
+ suite.steps.push(step);
221
+ }
222
+ }
223
+ /** This is used internally to add hooks to a test suite. */
224
+ static setHook(suite, name, fn) {
225
+ if (suite.describe[name]) {
226
+ if (typeof suite.describe[name] === "function") {
227
+ suite.describe[name] = [
228
+ suite.describe[name],
229
+ ];
230
+ }
231
+ suite.describe[name].push(fn);
232
+ }
233
+ else {
234
+ suite.describe[name] = fn;
235
+ }
236
+ }
237
+ /** This is used internally to run all steps for a test suite. */
238
+ static async run(suite, context, t) {
239
+ const hasOnly = suite.hasOnlyStep || suite.describe.only || false;
240
+ for (const step of suite.steps) {
241
+ if (hasOnly && step instanceof TestSuiteInternal &&
242
+ !(step.hasOnlyStep || step.describe.only || false)) {
243
+ continue;
244
+ }
245
+ const { name, fn, ignore, permissions, sanitizeExit = globalSanitizersState.sanitizeExit, sanitizeOps = globalSanitizersState.sanitizeOps, sanitizeResources = globalSanitizersState.sanitizeResources, } = step instanceof TestSuiteInternal ? step.describe : step;
246
+ const options = {
247
+ name,
248
+ fn: async (t) => {
249
+ if (permissions) {
250
+ throw new Error(
251
+ // deno-lint-ignore deno-style-guide/error-message
252
+ "permissions option not available for nested tests");
253
+ }
254
+ context = { ...context };
255
+ if (step instanceof TestSuiteInternal) {
256
+ const { beforeAll } = step.describe;
257
+ if (typeof beforeAll === "function") {
258
+ await beforeAll.call(context);
259
+ }
260
+ else if (beforeAll) {
261
+ for (const hook of beforeAll) {
262
+ await hook.call(context);
263
+ }
264
+ }
265
+ try {
266
+ TestSuiteInternal.active.push(step.symbol);
267
+ await TestSuiteInternal.run(step, context, t);
268
+ }
269
+ finally {
270
+ TestSuiteInternal.active.pop();
271
+ const { afterAll } = step.describe;
272
+ if (typeof afterAll === "function") {
273
+ await afterAll.call(context);
274
+ }
275
+ else if (afterAll) {
276
+ for (const hook of afterAll) {
277
+ await hook.call(context);
278
+ }
279
+ }
280
+ }
281
+ }
282
+ else {
283
+ await TestSuiteInternal.runTest(t, fn, context);
284
+ }
285
+ },
286
+ };
287
+ if (ignore !== undefined) {
288
+ options.ignore = ignore;
289
+ }
290
+ if (sanitizeExit !== undefined) {
291
+ options.sanitizeExit = sanitizeExit;
292
+ }
293
+ if (sanitizeOps !== undefined) {
294
+ options.sanitizeOps = sanitizeOps;
295
+ }
296
+ if (sanitizeResources !== undefined) {
297
+ options.sanitizeResources = sanitizeResources;
298
+ }
299
+ await t.step(options);
300
+ }
301
+ }
302
+ static async runTest(t, fn, context, activeIndex = 0) {
303
+ const suite = TestSuiteInternal.active[activeIndex];
304
+ const testSuite = suite && TestSuiteInternal.suites.get(suite);
305
+ if (testSuite) {
306
+ if (activeIndex === 0)
307
+ context = { ...context };
308
+ const { beforeEach } = testSuite.describe;
309
+ if (typeof beforeEach === "function") {
310
+ await beforeEach.call(context);
311
+ }
312
+ else if (beforeEach) {
313
+ for (const hook of beforeEach) {
314
+ await hook.call(context);
315
+ }
316
+ }
317
+ try {
318
+ await TestSuiteInternal.runTest(t, fn, context, activeIndex + 1);
319
+ }
320
+ finally {
321
+ const { afterEach } = testSuite.describe;
322
+ if (typeof afterEach === "function") {
323
+ await afterEach.call(context);
324
+ }
325
+ else if (afterEach) {
326
+ for (const hook of afterEach) {
327
+ await hook.call(context);
328
+ }
329
+ }
330
+ }
331
+ }
332
+ else {
333
+ await fn.call(context, t);
334
+ }
335
+ try {
336
+ if (assertionState.checkAssertionErrorState()) {
337
+ throw new AssertionError("Expected at least one assertion to be called but received none");
338
+ }
339
+ if (assertionState.checkAssertionCountSatisfied()) {
340
+ throw new AssertionError(`Expected exactly ${assertionState.assertionCount} ${assertionState.assertionCount === 1 ? "assertion" : "assertions"} to be called, ` +
341
+ `but received ${assertionState.assertionTriggeredCount}`);
342
+ }
343
+ }
344
+ finally {
345
+ assertionState.resetAssertionState();
346
+ }
347
+ }
348
+ }