vitest-plugin-vis 3.5.1 → 4.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.
Files changed (366) hide show
  1. package/dist/asserts--HSSlgPD.mjs +8 -0
  2. package/dist/asserts--HSSlgPD.mjs.map +1 -0
  3. package/dist/augment-C1tjdh5B.d.mts +33 -0
  4. package/dist/augment-C1tjdh5B.d.mts.map +1 -0
  5. package/dist/auto_snapshot_matcher-C0y6mAeS.mjs +381 -0
  6. package/dist/auto_snapshot_matcher-C0y6mAeS.mjs.map +1 -0
  7. package/dist/auto_snapshot_options-BMRtKmod.d.mts +45 -0
  8. package/dist/auto_snapshot_options-BMRtKmod.d.mts.map +1 -0
  9. package/dist/auto_snapshot_options-DUOTpF2N.mjs +88 -0
  10. package/dist/auto_snapshot_options-DUOTpF2N.mjs.map +1 -0
  11. package/dist/base64-CHSENEAO.mjs +8 -0
  12. package/dist/base64-CHSENEAO.mjs.map +1 -0
  13. package/dist/client-api.d.mts +44 -0
  14. package/dist/client-api.d.mts.map +1 -0
  15. package/dist/client-api.mjs +14 -0
  16. package/dist/client-api.mjs.map +1 -0
  17. package/dist/commands.types-BVhcnnHw.d.mts +51 -0
  18. package/dist/commands.types-BVhcnnHw.d.mts.map +1 -0
  19. package/dist/config.d.mts +28 -0
  20. package/dist/config.d.mts.map +1 -0
  21. package/dist/config.mjs +412 -0
  22. package/dist/config.mjs.map +1 -0
  23. package/dist/constants-CTBaz8Ml.mjs +10 -0
  24. package/dist/constants-CTBaz8Ml.mjs.map +1 -0
  25. package/dist/index.d.mts +5 -0
  26. package/dist/index.mjs +6 -0
  27. package/dist/presets/auto.d.mts +1 -0
  28. package/dist/presets/auto.mjs +19 -0
  29. package/dist/presets/auto.mjs.map +1 -0
  30. package/dist/presets/enable.d.mts +1 -0
  31. package/dist/presets/enable.mjs +15 -0
  32. package/dist/presets/enable.mjs.map +1 -0
  33. package/dist/presets/manual.d.mts +1 -0
  34. package/dist/presets/manual.mjs +15 -0
  35. package/dist/presets/manual.mjs.map +1 -0
  36. package/dist/server-utils.d.mts +19 -0
  37. package/dist/server-utils.d.mts.map +1 -0
  38. package/dist/server-utils.mjs +4 -0
  39. package/dist/setup-DCytWz48.mjs +124 -0
  40. package/dist/setup-DCytWz48.mjs.map +1 -0
  41. package/dist/setup.d.mts +106 -0
  42. package/dist/setup.d.mts.map +1 -0
  43. package/dist/setup.mjs +8 -0
  44. package/dist/snapshot_path-7GliOSH_.mjs +58 -0
  45. package/dist/snapshot_path-7GliOSH_.mjs.map +1 -0
  46. package/dist/src-CSQnlFa9.mjs +1 -0
  47. package/dist/testing.d.mts +12 -0
  48. package/dist/testing.d.mts.map +1 -0
  49. package/dist/testing.mjs +65550 -0
  50. package/dist/testing.mjs.map +1 -0
  51. package/dist/to_match_image_snapshot.types--tTmHoRA.d.mts +9 -0
  52. package/dist/to_match_image_snapshot.types--tTmHoRA.d.mts.map +1 -0
  53. package/dist/trim_common_folder-DBThLerp.d.mts +9 -0
  54. package/dist/trim_common_folder-DBThLerp.d.mts.map +1 -0
  55. package/dist/types-CEmjj-A9.d.mts +144 -0
  56. package/dist/types-CEmjj-A9.d.mts.map +1 -0
  57. package/dist/types-DJYCbyT8.d.mts +63 -0
  58. package/dist/types-DJYCbyT8.d.mts.map +1 -0
  59. package/package.json +55 -39
  60. package/readme.md +58 -6
  61. package/src/client/actions/has_image_snapshot_action.ts +1 -1
  62. package/src/client/actions/load_image_snapshot_results_action.ts +1 -1
  63. package/src/client/actions/match_image_snapshot_action.ts +7 -5
  64. package/src/client/actions/match_page_image_snapshot_action.ts +6 -4
  65. package/src/client/expect/_ctx.ts +10 -0
  66. package/src/client/expect/to_match_image_snapshot.ts +3 -4
  67. package/src/client/external/browser/has_render_content.ts +3 -0
  68. package/src/client/{image_resizer.ts → external/browser/image_resizer.ts} +1 -1
  69. package/src/client/{vitest_browser_context_proxy.ts → external/vitest/vitest_browser_context_proxy.ts} +3 -3
  70. package/src/client/{vitest_suite_proxy.ts → external/vitest/vitest_suite_proxy.ts} +1 -1
  71. package/src/client/{align_images.ts → image/align_images.ts} +3 -3
  72. package/src/client/page/_ctx.ts +12 -0
  73. package/src/client/page/extend.ts +1 -1
  74. package/src/client/page/has_image_snapshot.mdx +1 -1
  75. package/src/client/page/has_image_snapshot.ts +4 -4
  76. package/src/client/page/to_match_image_snapshot.mdx +1 -1
  77. package/src/client/page/to_match_image_snapshot.ts +3 -4
  78. package/src/client/{compare_image_snapshot.logic.ts → snapshot/compare_image_snapshot.logic.ts} +1 -1
  79. package/src/client/{compare_image_snapshot.ts → snapshot/compare_image_snapshot.ts} +8 -9
  80. package/src/client/snapshot/should_take_snapshot.ts +6 -0
  81. package/src/client/suite/_ctx.ts +8 -0
  82. package/src/client/suite/auto_snapshot_matcher.ts +68 -0
  83. package/src/client/{ctx.ts → task/_ctx.ts} +1 -3
  84. package/src/client/{auto_snapshot_options.ts → task/auto_snapshot_options.ts} +20 -5
  85. package/src/client/{snapshot_meta.ts → task/snapshot_meta.ts} +6 -1
  86. package/src/client-api.ts +3 -2
  87. package/src/config/vis.ts +4 -4
  88. package/src/index.ts +1 -1
  89. package/src/server/browser_provider/browser_api.ts +2 -2
  90. package/src/server/browser_provider/playwright.ts +6 -4
  91. package/src/server/browser_provider/webdriverio.ts +3 -3
  92. package/src/server/commands/_assertions.ts +3 -3
  93. package/src/server/commands/augment.ts +9 -7
  94. package/src/server/commands/has_image_snapshot.ts +3 -6
  95. package/src/server/commands/image_snapshot_next_index.ts +3 -9
  96. package/src/server/commands/load_image_snapshot_results.ts +3 -23
  97. package/src/server/commands/prepare_image_snapshot_comparison.ts +4 -50
  98. package/src/server/commands/prepare_page_image_snapshot_comparison.ts +3 -45
  99. package/src/server/commands/setup_vis_suite.ts +3 -27
  100. package/src/server/project.ts +8 -7
  101. package/src/server/snapshot.ts +4 -4
  102. package/src/server/snapshot_path.ts +6 -5
  103. package/src/server/suite.ts +7 -12
  104. package/src/server/testing/stubBrowserCommandContext.ts +16 -0
  105. package/src/{testing → server/testing}/stubSuite.ts +7 -9
  106. package/src/server/testing/stubUserConfig.ts +6 -0
  107. package/src/server/vis_options.ts +4 -5
  108. package/src/server/vis_server_context.logic.ts +8 -8
  109. package/src/server/vis_server_context.types.ts +31 -26
  110. package/src/{client/setup → setup}/create_vis.ts +23 -78
  111. package/src/setup/readme.md +5 -0
  112. package/src/{client/setup → setup}/vis.ts +1 -1
  113. package/src/setup.ts +2 -2
  114. package/src/shared/commands.types.ts +71 -0
  115. package/src/shared/types.ts +55 -1
  116. package/src/testing.ts +0 -1
  117. package/esm/client/actions/has_image_snapshot_action.d.ts +0 -4
  118. package/esm/client/actions/has_image_snapshot_action.d.ts.map +0 -1
  119. package/esm/client/actions/has_image_snapshot_action.js +0 -6
  120. package/esm/client/actions/load_image_snapshot_results_action.d.ts +0 -3
  121. package/esm/client/actions/load_image_snapshot_results_action.d.ts.map +0 -1
  122. package/esm/client/actions/load_image_snapshot_results_action.js +0 -3
  123. package/esm/client/actions/match_image_snapshot_action.d.ts +0 -6
  124. package/esm/client/actions/match_image_snapshot_action.d.ts.map +0 -1
  125. package/esm/client/actions/match_image_snapshot_action.js +0 -20
  126. package/esm/client/actions/match_page_image_snapshot_action.d.ts +0 -6
  127. package/esm/client/actions/match_page_image_snapshot_action.d.ts.map +0 -1
  128. package/esm/client/actions/match_page_image_snapshot_action.js +0 -9
  129. package/esm/client/align_images.d.ts +0 -2
  130. package/esm/client/align_images.d.ts.map +0 -1
  131. package/esm/client/align_images.js +0 -10
  132. package/esm/client/auto_snapshot_options.d.ts +0 -29
  133. package/esm/client/auto_snapshot_options.d.ts.map +0 -1
  134. package/esm/client/auto_snapshot_options.js +0 -49
  135. package/esm/client/compare_image_snapshot.d.ts +0 -6
  136. package/esm/client/compare_image_snapshot.d.ts.map +0 -1
  137. package/esm/client/compare_image_snapshot.js +0 -52
  138. package/esm/client/compare_image_snapshot.logic.d.ts +0 -3
  139. package/esm/client/compare_image_snapshot.logic.d.ts.map +0 -1
  140. package/esm/client/compare_image_snapshot.logic.js +0 -12
  141. package/esm/client/ctx.d.ts +0 -7
  142. package/esm/client/ctx.d.ts.map +0 -1
  143. package/esm/client/ctx.js +0 -11
  144. package/esm/client/expect/augment.d.ts +0 -8
  145. package/esm/client/expect/augment.d.ts.map +0 -1
  146. package/esm/client/expect/augment.js +0 -1
  147. package/esm/client/expect/expectation_result.d.ts +0 -3
  148. package/esm/client/expect/expectation_result.d.ts.map +0 -1
  149. package/esm/client/expect/expectation_result.js +0 -5
  150. package/esm/client/expect/extend.d.ts +0 -2
  151. package/esm/client/expect/extend.d.ts.map +0 -1
  152. package/esm/client/expect/extend.js +0 -4
  153. package/esm/client/expect/to_match_image_snapshot.d.ts +0 -9
  154. package/esm/client/expect/to_match_image_snapshot.d.ts.map +0 -1
  155. package/esm/client/expect/to_match_image_snapshot.js +0 -21
  156. package/esm/client/expect/to_match_image_snapshot.types.d.ts +0 -5
  157. package/esm/client/expect/to_match_image_snapshot.types.d.ts.map +0 -1
  158. package/esm/client/expect/to_match_image_snapshot.types.js +0 -1
  159. package/esm/client/image_data.d.ts +0 -3
  160. package/esm/client/image_data.d.ts.map +0 -1
  161. package/esm/client/image_data.js +0 -33
  162. package/esm/client/image_resizer.d.ts +0 -9
  163. package/esm/client/image_resizer.d.ts.map +0 -1
  164. package/esm/client/image_resizer.js +0 -49
  165. package/esm/client/image_snapshot_options.d.ts +0 -2
  166. package/esm/client/image_snapshot_options.d.ts.map +0 -1
  167. package/esm/client/image_snapshot_options.js +0 -6
  168. package/esm/client/page/augment.d.ts +0 -7
  169. package/esm/client/page/augment.d.ts.map +0 -1
  170. package/esm/client/page/augment.js +0 -1
  171. package/esm/client/page/extend.d.ts +0 -2
  172. package/esm/client/page/extend.d.ts.map +0 -1
  173. package/esm/client/page/extend.js +0 -5
  174. package/esm/client/page/has_image_snapshot.d.ts +0 -10
  175. package/esm/client/page/has_image_snapshot.d.ts.map +0 -1
  176. package/esm/client/page/has_image_snapshot.js +0 -15
  177. package/esm/client/page/to_match_image_snapshot.d.ts +0 -6
  178. package/esm/client/page/to_match_image_snapshot.d.ts.map +0 -1
  179. package/esm/client/page/to_match_image_snapshot.js +0 -15
  180. package/esm/client/selector.d.ts +0 -7
  181. package/esm/client/selector.d.ts.map +0 -1
  182. package/esm/client/selector.js +0 -97
  183. package/esm/client/setup/create_vis.d.ts +0 -96
  184. package/esm/client/setup/create_vis.d.ts.map +0 -1
  185. package/esm/client/setup/create_vis.js +0 -109
  186. package/esm/client/setup/vis.ctx.d.ts +0 -12
  187. package/esm/client/setup/vis.ctx.d.ts.map +0 -1
  188. package/esm/client/setup/vis.ctx.js +0 -32
  189. package/esm/client/setup/vis.d.ts +0 -5
  190. package/esm/client/setup/vis.d.ts.map +0 -1
  191. package/esm/client/setup/vis.js +0 -6
  192. package/esm/client/should_take_snapshot.d.ts +0 -3
  193. package/esm/client/should_take_snapshot.d.ts.map +0 -1
  194. package/esm/client/should_take_snapshot.js +0 -3
  195. package/esm/client/snapshot_meta.d.ts +0 -6
  196. package/esm/client/snapshot_meta.d.ts.map +0 -1
  197. package/esm/client/snapshot_meta.js +0 -1
  198. package/esm/client/task_id.d.ts +0 -7
  199. package/esm/client/task_id.d.ts.map +0 -1
  200. package/esm/client/task_id.js +0 -10
  201. package/esm/client/vitest_browser_context_proxy.d.ts +0 -32
  202. package/esm/client/vitest_browser_context_proxy.d.ts.map +0 -1
  203. package/esm/client/vitest_browser_context_proxy.js +0 -11
  204. package/esm/client/vitest_suite_proxy.d.ts +0 -7
  205. package/esm/client/vitest_suite_proxy.d.ts.map +0 -1
  206. package/esm/client/vitest_suite_proxy.js +0 -8
  207. package/esm/client-api.d.ts +0 -12
  208. package/esm/client-api.d.ts.map +0 -1
  209. package/esm/client-api.js +0 -9
  210. package/esm/commands.d.ts +0 -5
  211. package/esm/commands.d.ts.map +0 -1
  212. package/esm/commands.js +0 -4
  213. package/esm/config/types.d.ts +0 -60
  214. package/esm/config/types.d.ts.map +0 -1
  215. package/esm/config/types.js +0 -1
  216. package/esm/config/vis.d.ts +0 -28
  217. package/esm/config/vis.d.ts.map +0 -1
  218. package/esm/config/vis.js +0 -27
  219. package/esm/config.d.ts +0 -4
  220. package/esm/config.d.ts.map +0 -1
  221. package/esm/config.js +0 -2
  222. package/esm/index.d.ts +0 -5
  223. package/esm/index.d.ts.map +0 -1
  224. package/esm/index.js +0 -4
  225. package/esm/presets/auto.d.ts +0 -2
  226. package/esm/presets/auto.d.ts.map +0 -1
  227. package/esm/presets/auto.js +0 -8
  228. package/esm/presets/enable.d.ts +0 -2
  229. package/esm/presets/enable.d.ts.map +0 -1
  230. package/esm/presets/enable.js +0 -4
  231. package/esm/presets/manual.d.ts +0 -2
  232. package/esm/presets/manual.d.ts.map +0 -1
  233. package/esm/presets/manual.js +0 -4
  234. package/esm/server/browser_provider/browser_api.d.ts +0 -3
  235. package/esm/server/browser_provider/browser_api.d.ts.map +0 -1
  236. package/esm/server/browser_provider/browser_api.js +0 -11
  237. package/esm/server/browser_provider/playwright.d.ts +0 -4
  238. package/esm/server/browser_provider/playwright.d.ts.map +0 -1
  239. package/esm/server/browser_provider/playwright.js +0 -18
  240. package/esm/server/browser_provider/types.d.ts +0 -10
  241. package/esm/server/browser_provider/types.d.ts.map +0 -1
  242. package/esm/server/browser_provider/types.js +0 -1
  243. package/esm/server/browser_provider/webdriverio.d.ts +0 -4
  244. package/esm/server/browser_provider/webdriverio.d.ts.map +0 -1
  245. package/esm/server/browser_provider/webdriverio.js +0 -12
  246. package/esm/server/commands/_assertions.d.ts +0 -5
  247. package/esm/server/commands/_assertions.d.ts.map +0 -1
  248. package/esm/server/commands/_assertions.js +0 -11
  249. package/esm/server/commands/augment.d.ts +0 -11
  250. package/esm/server/commands/augment.d.ts.map +0 -1
  251. package/esm/server/commands/augment.js +0 -1
  252. package/esm/server/commands/commands.d.ts +0 -9
  253. package/esm/server/commands/commands.d.ts.map +0 -1
  254. package/esm/server/commands/commands.js +0 -14
  255. package/esm/server/commands/has_image_snapshot.d.ts +0 -6
  256. package/esm/server/commands/has_image_snapshot.d.ts.map +0 -1
  257. package/esm/server/commands/has_image_snapshot.js +0 -6
  258. package/esm/server/commands/image_snapshot_next_index.d.ts +0 -9
  259. package/esm/server/commands/image_snapshot_next_index.d.ts.map +0 -1
  260. package/esm/server/commands/image_snapshot_next_index.js +0 -6
  261. package/esm/server/commands/load_image_snapshot_results.d.ts +0 -21
  262. package/esm/server/commands/load_image_snapshot_results.d.ts.map +0 -1
  263. package/esm/server/commands/load_image_snapshot_results.js +0 -6
  264. package/esm/server/commands/prepare_image_snapshot_comparison.d.ts +0 -38
  265. package/esm/server/commands/prepare_image_snapshot_comparison.d.ts.map +0 -1
  266. package/esm/server/commands/prepare_image_snapshot_comparison.js +0 -34
  267. package/esm/server/commands/prepare_page_image_snapshot_comparison.d.ts +0 -35
  268. package/esm/server/commands/prepare_page_image_snapshot_comparison.d.ts.map +0 -1
  269. package/esm/server/commands/prepare_page_image_snapshot_comparison.js +0 -27
  270. package/esm/server/commands/setup_vis_suite.d.ts +0 -15
  271. package/esm/server/commands/setup_vis_suite.d.ts.map +0 -1
  272. package/esm/server/commands/setup_vis_suite.js +0 -6
  273. package/esm/server/commands/types.d.ts +0 -3
  274. package/esm/server/commands/types.d.ts.map +0 -1
  275. package/esm/server/commands/types.js +0 -1
  276. package/esm/server/externals/file.d.ts +0 -10
  277. package/esm/server/externals/file.d.ts.map +0 -1
  278. package/esm/server/externals/file.js +0 -20
  279. package/esm/server/project.d.ts +0 -21
  280. package/esm/server/project.d.ts.map +0 -1
  281. package/esm/server/project.js +0 -13
  282. package/esm/server/snapshot.d.ts +0 -6
  283. package/esm/server/snapshot.d.ts.map +0 -1
  284. package/esm/server/snapshot.js +0 -29
  285. package/esm/server/snapshot_path.d.ts +0 -14
  286. package/esm/server/snapshot_path.d.ts.map +0 -1
  287. package/esm/server/snapshot_path.js +0 -34
  288. package/esm/server/snapshot_writer.d.ts +0 -13
  289. package/esm/server/snapshot_writer.d.ts.map +0 -1
  290. package/esm/server/snapshot_writer.js +0 -15
  291. package/esm/server/suite.d.ts +0 -54
  292. package/esm/server/suite.d.ts.map +0 -1
  293. package/esm/server/suite.js +0 -73
  294. package/esm/server/vis_options.d.ts +0 -19
  295. package/esm/server/vis_options.d.ts.map +0 -1
  296. package/esm/server/vis_options.js +0 -14
  297. package/esm/server/vis_server_context.d.ts +0 -50
  298. package/esm/server/vis_server_context.d.ts.map +0 -1
  299. package/esm/server/vis_server_context.deps.d.ts +0 -29
  300. package/esm/server/vis_server_context.deps.d.ts.map +0 -1
  301. package/esm/server/vis_server_context.deps.js +0 -10
  302. package/esm/server/vis_server_context.js +0 -2
  303. package/esm/server/vis_server_context.logic.d.ts +0 -53
  304. package/esm/server/vis_server_context.logic.d.ts.map +0 -1
  305. package/esm/server/vis_server_context.logic.js +0 -79
  306. package/esm/server/vis_server_context.types.d.ts +0 -54
  307. package/esm/server/vis_server_context.types.d.ts.map +0 -1
  308. package/esm/server/vis_server_context.types.js +0 -1
  309. package/esm/server-utils.d.ts +0 -4
  310. package/esm/server-utils.d.ts.map +0 -1
  311. package/esm/server-utils.js +0 -3
  312. package/esm/setup.d.ts +0 -5
  313. package/esm/setup.d.ts.map +0 -1
  314. package/esm/setup.js +0 -5
  315. package/esm/shared/asserts.d.ts +0 -2
  316. package/esm/shared/asserts.d.ts.map +0 -1
  317. package/esm/shared/asserts.js +0 -5
  318. package/esm/shared/base64.d.ts +0 -2
  319. package/esm/shared/base64.d.ts.map +0 -1
  320. package/esm/shared/base64.js +0 -3
  321. package/esm/shared/compare_image.d.ts +0 -6
  322. package/esm/shared/compare_image.d.ts.map +0 -1
  323. package/esm/shared/compare_image.js +0 -42
  324. package/esm/shared/constants.d.ts +0 -6
  325. package/esm/shared/constants.d.ts.map +0 -1
  326. package/esm/shared/constants.js +0 -5
  327. package/esm/shared/convert_threshold_unit.d.ts +0 -6
  328. package/esm/shared/convert_threshold_unit.d.ts.map +0 -1
  329. package/esm/shared/convert_threshold_unit.js +0 -10
  330. package/esm/shared/get_max_size.d.ts +0 -11
  331. package/esm/shared/get_max_size.d.ts.map +0 -1
  332. package/esm/shared/get_max_size.js +0 -5
  333. package/esm/shared/is_same_size.d.ts +0 -8
  334. package/esm/shared/is_same_size.d.ts.map +0 -1
  335. package/esm/shared/is_same_size.js +0 -3
  336. package/esm/shared/trim_common_folder.d.ts +0 -6
  337. package/esm/shared/trim_common_folder.d.ts.map +0 -1
  338. package/esm/shared/trim_common_folder.js +0 -11
  339. package/esm/shared/types.d.ts +0 -90
  340. package/esm/shared/types.d.ts.map +0 -1
  341. package/esm/shared/types.js +0 -1
  342. package/esm/testing/constants.d.ts +0 -9
  343. package/esm/testing/constants.d.ts.map +0 -1
  344. package/esm/testing/constants.js +0 -1933
  345. package/esm/testing/stubBrowserCommandContext.d.ts +0 -8
  346. package/esm/testing/stubBrowserCommandContext.d.ts.map +0 -1
  347. package/esm/testing/stubBrowserCommandContext.js +0 -12
  348. package/esm/testing/stubSuite.d.ts +0 -10
  349. package/esm/testing/stubSuite.d.ts.map +0 -1
  350. package/esm/testing/stubSuite.js +0 -27
  351. package/esm/testing/stubUserConfig.d.ts +0 -7
  352. package/esm/testing/stubUserConfig.d.ts.map +0 -1
  353. package/esm/testing/stubUserConfig.js +0 -4
  354. package/esm/testing.d.ts +0 -3
  355. package/esm/testing.d.ts.map +0 -1
  356. package/esm/testing.js +0 -2
  357. package/src/client/image_snapshot_options.ts +0 -6
  358. package/src/client/setup/vis.ctx.ts +0 -33
  359. package/src/client/should_take_snapshot.ts +0 -5
  360. package/src/server/commands/types.ts +0 -9
  361. package/src/testing/stubBrowserCommandContext.ts +0 -16
  362. package/src/testing/stubUserConfig.ts +0 -6
  363. /package/src/client/{image_data.ts → external/browser/image_data.ts} +0 -0
  364. /package/src/client/{selector.ts → external/browser/selector.ts} +0 -0
  365. /package/src/client/{auto_snapshot_options.mdx → task/auto_snapshot_options.mdx} +0 -0
  366. /package/src/client/{task_id.ts → task/task_id.ts} +0 -0
@@ -1,8 +1,10 @@
1
1
  import type pixelMatch from 'pixelmatch'
2
2
  import type { Options as SsimDiffOptions } from 'ssim.js'
3
- import type { SnapshotMeta } from '../client/snapshot_meta.ts'
3
+ import type { SnapshotMeta } from '../client/task/snapshot_meta.ts'
4
4
  import type { NAME } from './constants.ts'
5
5
 
6
+ export type Awaitable<T> = T | PromiseLike<T>
7
+
6
8
  export interface ImageSnapshotTimeoutOptions {
7
9
  /**
8
10
  * Timeout for taking the snapshot.
@@ -106,3 +108,55 @@ export type SnapshotTestMeta = {
106
108
  [NAME]?: SnapshotMeta<ComparisonMethod>
107
109
  }
108
110
  }
111
+
112
+ export type ImageSnapshotComparisonInfo = {
113
+ /**
114
+ * Path to the project root.
115
+ */
116
+ projectRoot: string
117
+ /**
118
+ * Path to the baseline image relative to the project root.
119
+ */
120
+ baselinePath: string
121
+ /**
122
+ * Path to the result image relative to the project root.
123
+ */
124
+ resultPath: string
125
+ /**
126
+ * Path to the diff image relative to the project root.
127
+ */
128
+ diffPath: string
129
+ /**
130
+ * Base64 encoded baseline image.
131
+ */
132
+ baseline: string
133
+ /**
134
+ * Base64 encoded result image.
135
+ */
136
+ result: string
137
+ /**
138
+ * Base64 encoded diff image.
139
+ */
140
+ diff?: string | undefined
141
+ } & ImageSnapshotTimeoutOptions &
142
+ FailureThresholdOptions &
143
+ (SsimComparisonOptions | PixelComparisonOptions)
144
+
145
+ export type MatchImageSnapshotOptions = ImageSnapshotTimeoutOptions &
146
+ ImageSnapshotCompareOptions<any> &
147
+ ImageSnapshotKeyOptions
148
+
149
+ export type SetupVisOptions<GM extends Record<string, any> | unknown = unknown> = {
150
+ auto?:
151
+ | boolean
152
+ | (<C extends ComparisonMethod, M extends Record<string, any> | unknown = unknown>(
153
+ options: SnapshotMeta<C> & M & GM,
154
+ ) => Promise<boolean> | Promise<void> | boolean | void)
155
+ | Record<
156
+ string,
157
+ | boolean
158
+ | (<C extends ComparisonMethod, M extends Record<string, any> | unknown = unknown>(
159
+ options: SnapshotMeta<C> & M & GM,
160
+ ) => Promise<boolean> | Promise<void> | boolean | void)
161
+ >
162
+ }
package/src/testing.ts CHANGED
@@ -1,2 +1 @@
1
1
  export * from './testing/constants.ts'
2
- export * from './testing/stubBrowserCommandContext.ts'
@@ -1,4 +0,0 @@
1
- import type { HasImageSnapshotCommand, ImageSnapshotNextIndexCommand } from '../../commands.ts';
2
- import type { ImageSnapshotKeyOptions } from '../../shared/types.ts';
3
- export declare function hasImageSnapshotAction(commands: ImageSnapshotNextIndexCommand & HasImageSnapshotCommand, taskId: string, options?: ImageSnapshotKeyOptions | undefined): Promise<boolean>;
4
- //# sourceMappingURL=has_image_snapshot_action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"has_image_snapshot_action.d.ts","sourceRoot":"","sources":["../../../src/client/actions/has_image_snapshot_action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAC/F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE,wBAAgB,sBAAsB,CACrC,QAAQ,EAAE,6BAA6B,GAAG,uBAAuB,EACjE,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,oBAO7C"}
@@ -1,6 +0,0 @@
1
- export function hasImageSnapshotAction(commands, taskId, options) {
2
- if (options?.snapshotKey?.includes('-')) {
3
- throw new Error('Snapshot key cannot contain dash');
4
- }
5
- return commands.hasImageSnapshot(taskId, options?.snapshotKey);
6
- }
@@ -1,3 +0,0 @@
1
- import type { LoadImageSnapshotResultsCommand } from '../../server/commands/load_image_snapshot_results.ts';
2
- export declare function loadImageSnapshotResultsAction(commands: LoadImageSnapshotResultsCommand, taskId: string): Promise<import("../../server/commands/load_image_snapshot_results.ts").ImageSnapshotResult[]>;
3
- //# sourceMappingURL=load_image_snapshot_results_action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load_image_snapshot_results_action.d.ts","sourceRoot":"","sources":["../../../src/client/actions/load_image_snapshot_results_action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAA;AAE3G,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,+BAA+B,EAAE,MAAM,EAAE,MAAM,iGAEvG"}
@@ -1,3 +0,0 @@
1
- export function loadImageSnapshotResultsAction(commands, taskId) {
2
- return commands.loadImageSnapshotResults(taskId);
3
- }
@@ -1,6 +0,0 @@
1
- import type { BrowserCommands } from '@vitest/browser/context';
2
- import type { ImageSnapshotNextIndexCommand } from '../../commands.ts';
3
- import type { PrepareImageSnapshotComparisonCommand } from '../../server/commands/prepare_image_snapshot_comparison.ts';
4
- import type { ToMatchImageSnapshotOptions } from '../../shared/types.ts';
5
- export declare function matchImageSnapshotAction(commands: BrowserCommands & PrepareImageSnapshotComparisonCommand & ImageSnapshotNextIndexCommand, taskId: string, subject: any, options?: ToMatchImageSnapshotOptions<any>): Promise<void>;
6
- //# sourceMappingURL=match_image_snapshot_action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match_image_snapshot_action.d.ts","sourceRoot":"","sources":["../../../src/client/actions/match_image_snapshot_action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,4DAA4D,CAAA;AAGvH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAIxE,wBAAsB,wBAAwB,CAC7C,QAAQ,EAAE,eAAe,GAAG,qCAAqC,GAAG,6BAA6B,EACjG,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC,iBAS1C"}
@@ -1,20 +0,0 @@
1
- import { assertSnapshotKeyWithoutDash } from "../../shared/asserts.js";
2
- import { isBase64String } from "../../shared/base64.js";
3
- import { compareImageSnapshot } from "../compare_image_snapshot.js";
4
- import { convertElementToCssSelector } from "../selector.js";
5
- export async function matchImageSnapshotAction(commands, taskId, subject, options) {
6
- assertSnapshotKeyWithoutDash(options?.snapshotKey);
7
- const info = await commands.prepareImageSnapshotComparison(taskId, parseImageSnapshotSubject(subject), options);
8
- if (!info)
9
- return;
10
- return compareImageSnapshot(commands, taskId, info, options);
11
- }
12
- function parseImageSnapshotSubject(subject) {
13
- if (subject instanceof Element)
14
- return convertElementToCssSelector(subject);
15
- if (subject?.['selector'])
16
- return subject['selector'];
17
- if (isBase64String(subject))
18
- return subject;
19
- throw new Error(`'toMatchImageSnapshot()' expects the subject to be an element, locator, or image encoded in base64 string, but got: ${subject}`);
20
- }
@@ -1,6 +0,0 @@
1
- import type { BrowserCommands } from '@vitest/browser/context';
2
- import type { ImageSnapshotNextIndexCommand } from '../../commands.ts';
3
- import type { PrepareImageSnapshotComparisonCommand } from '../../server/commands/prepare_image_snapshot_comparison.ts';
4
- import type { ToMatchImageSnapshotOptions } from '../../shared/types.ts';
5
- export declare function matchPageImageSnapshotAction(commands: BrowserCommands & PrepareImageSnapshotComparisonCommand & ImageSnapshotNextIndexCommand, taskId: string, options?: ToMatchImageSnapshotOptions<any>): Promise<void>;
6
- //# sourceMappingURL=match_page_image_snapshot_action.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match_page_image_snapshot_action.d.ts","sourceRoot":"","sources":["../../../src/client/actions/match_page_image_snapshot_action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,4DAA4D,CAAA;AAEvH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAGxE,wBAAsB,4BAA4B,CACjD,QAAQ,EAAE,eAAe,GAAG,qCAAqC,GAAG,6BAA6B,EACjG,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC,iBAS1C"}
@@ -1,9 +0,0 @@
1
- import { assertSnapshotKeyWithoutDash } from "../../shared/asserts.js";
2
- import { compareImageSnapshot } from "../compare_image_snapshot.js";
3
- export async function matchPageImageSnapshotAction(commands, taskId, options) {
4
- assertSnapshotKeyWithoutDash(options?.snapshotKey);
5
- const info = await commands.preparePageImageSnapshotComparison(taskId, options);
6
- if (!info)
7
- return;
8
- return compareImageSnapshot(commands, taskId, info, options);
9
- }
@@ -1,2 +0,0 @@
1
- export declare function alignImagesToSameSize(image1: ImageData, image2: ImageData): [image1: ImageData, image2: ImageData];
2
- //# sourceMappingURL=align_images.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"align_images.d.ts","sourceRoot":"","sources":["../../src/client/align_images.ts"],"names":[],"mappings":"AAIA,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAMlH"}
@@ -1,10 +0,0 @@
1
- import { getMaxSize } from "../shared/get_max_size.js";
2
- import { isSameSize } from "../shared/is_same_size.js";
3
- import { createImageResizer } from "./image_resizer.js";
4
- export function alignImagesToSameSize(image1, image2) {
5
- if (isSameSize(image1, image2))
6
- return [image1, image2];
7
- const size = getMaxSize(image1, image2);
8
- const resize = createImageResizer(size);
9
- return [resize(image1), resize(image2)];
10
- }
@@ -1,29 +0,0 @@
1
- import type { ComparisonMethod } from '../shared/types.ts';
2
- import type { SnapshotMeta } from './snapshot_meta.ts';
3
- type Suite = {
4
- meta: Record<string, any>;
5
- suite?: Suite | undefined;
6
- };
7
- export type MetaTask = {
8
- file?: {
9
- meta: Record<string, any>;
10
- } | undefined;
11
- suite?: Suite | undefined;
12
- meta: Record<string, any>;
13
- } | undefined;
14
- /**
15
- * Set the snapshot options for auto snapshot.
16
- *
17
- * ```ts
18
- * beforeAll(() => setAutoSnapshotOptions(...))
19
- * beforeEach(() => setAutoSnapshotOptions(...))
20
- *
21
- * it('...', () => {
22
- * setAutoSnapshotOptions(...)
23
- * })
24
- * ```
25
- */
26
- export declare function setAutoSnapshotOptions<M extends ComparisonMethod>(meta: SnapshotMeta<M> | boolean): void;
27
- export declare function extractAutoSnapshotOptions<M extends SnapshotMeta<any> = SnapshotMeta<any>>(task: MetaTask): M | undefined;
28
- export {};
29
- //# sourceMappingURL=auto_snapshot_options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto_snapshot_options.d.ts","sourceRoot":"","sources":["../../src/client/auto_snapshot_options.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CAAE,CAAA;AAErE,MAAM,MAAM,QAAQ,GACjB;IACA,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,SAAS,CAAA;IAChD,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;IACzB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACxB,GACD,SAAS,CAAA;AAEZ;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAYxG;AAUD,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,EACzF,IAAI,EAAE,QAAQ,GACZ,CAAC,GAAG,SAAS,CAkBf"}
@@ -1,49 +0,0 @@
1
- import { assertSnapshotKeyWithoutDash } from "../shared/asserts.js";
2
- import { NAME } from "../shared/constants.js";
3
- import { ctx } from "./ctx.js";
4
- /**
5
- * Set the snapshot options for auto snapshot.
6
- *
7
- * ```ts
8
- * beforeAll(() => setAutoSnapshotOptions(...))
9
- * beforeEach(() => setAutoSnapshotOptions(...))
10
- *
11
- * it('...', () => {
12
- * setAutoSnapshotOptions(...)
13
- * })
14
- * ```
15
- */
16
- export function setAutoSnapshotOptions(meta) {
17
- if (typeof meta === 'object') {
18
- assertSnapshotKeyWithoutDash(meta.snapshotKey);
19
- }
20
- const task = getTask();
21
- if (!task)
22
- return;
23
- task.meta[NAME] = {
24
- ...task.meta[NAME],
25
- ...parseMeta(meta),
26
- };
27
- }
28
- function getTask() {
29
- return ctx.getCurrentTest() ?? ctx.getCurrentSuite()?.tasks?.[0]?.file;
30
- }
31
- function parseMeta(meta) {
32
- return typeof meta === 'boolean' ? { enable: meta } : { enable: true, ...meta };
33
- }
34
- export function extractAutoSnapshotOptions(task) {
35
- if (!task)
36
- return;
37
- const list = [];
38
- let current = task;
39
- while (current?.suite) {
40
- list.unshift(current.suite.meta);
41
- current = current.suite;
42
- }
43
- list.unshift(task.file?.meta);
44
- list.push(task.meta);
45
- return list.reduce((acc, cur) => {
46
- const meta = cur?.[NAME];
47
- return meta ? Object.assign({}, acc, meta) : acc;
48
- }, { enable: false });
49
- }
@@ -1,6 +0,0 @@
1
- import type { BrowserCommands } from '@vitest/browser/context';
2
- import type { ImageSnapshotNextIndexCommand } from '../commands.ts';
3
- import type { ImageSnapshotComparisonInfo, PrepareImageSnapshotComparisonCommand } from '../server/commands/prepare_image_snapshot_comparison.ts';
4
- import type { ToMatchImageSnapshotOptions } from '../shared/types.ts';
5
- export declare function compareImageSnapshot(commands: BrowserCommands & PrepareImageSnapshotComparisonCommand & ImageSnapshotNextIndexCommand, taskId: string, info: ImageSnapshotComparisonInfo, options?: ToMatchImageSnapshotOptions<any>): Promise<void>;
6
- //# sourceMappingURL=compare_image_snapshot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compare_image_snapshot.d.ts","sourceRoot":"","sources":["../../src/client/compare_image_snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG9D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EACX,2BAA2B,EAC3B,qCAAqC,EACrC,MAAM,yDAAyD,CAAA;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAMrE,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,eAAe,GAAG,qCAAqC,GAAG,6BAA6B,EACjG,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,2BAA2B,EACjC,OAAO,CAAC,EAAE,2BAA2B,CAAC,GAAG,CAAC,iBA2D1C"}
@@ -1,52 +0,0 @@
1
- import dedent from 'dedent';
2
- import { resolve } from 'pathe';
3
- import { compareImage } from "../shared/compare_image.js";
4
- import { alignImagesToSameSize } from "./align_images.js";
5
- import { prettifyOptions } from "./compare_image_snapshot.logic.js";
6
- import { toDataURL, toImageData } from "./image_data.js";
7
- import { server } from "./vitest_browser_context_proxy.js";
8
- export async function compareImageSnapshot(commands, taskId, info, options) {
9
- options = { ...info, ...options };
10
- const baselineImage = await toImageData(info.baseline);
11
- const resultImage = await toImageData(info.result);
12
- const [baselineAlignedImage, resultAlignedImage] = alignImagesToSameSize(baselineImage, resultImage);
13
- const { width, height } = baselineAlignedImage;
14
- const diffImage = new ImageData(width, height);
15
- const { pass, diffAmount } = compareImage(baselineAlignedImage.data, resultAlignedImage.data, diffImage.data, width, height, options);
16
- if (pass) {
17
- if (options?.expectToFail) {
18
- throw new Error(dedent `Snapshot \`${taskId}\` matched but expected to fail.
19
-
20
- Options: ${prettifyOptions(options)}
21
- Diff: ${options.failureThresholdType === 'percent' ? `${diffAmount}%` : `${diffAmount} pixels`}
22
-
23
- Expected: ${resolve(info.projectRoot, info.baselinePath)}
24
- Actual: ${resolve(info.projectRoot, info.resultPath)}`);
25
- }
26
- return;
27
- }
28
- if (server.config.snapshotOptions.updateSnapshot === 'all' && !options?.expectToFail) {
29
- await writeSnapshot(commands, resolve(info.projectRoot, info.baselinePath), resultImage);
30
- return;
31
- }
32
- await writeSnapshot(commands, resolve(info.projectRoot, info.diffPath), diffImage);
33
- throw new Error(dedent `Snapshot \`${taskId}\` mismatched
34
-
35
- ${options?.failureThreshold
36
- ? options?.failureThresholdType === 'percent'
37
- ? `Expected image to match within ${options.failureThreshold}% but was differ by ${diffAmount}%.`
38
- : `Expected image to match within ${options.failureThreshold} pixels but was differ by ${diffAmount} pixels.`
39
- : `Expected image to match but was differ by ${options?.failureThresholdType === 'percent' ? `${diffAmount}%` : `${diffAmount} pixels`}.`}${baselineImage.width !== resultImage.width || baselineImage.height !== resultImage.height
40
- ? `\nThe image size changed from ${baselineImage.width}x${baselineImage.height} to ${resultImage.width}x${resultImage.height}.`
41
- : ''}
42
-
43
- Options: ${prettifyOptions(options)}
44
-
45
- Expected: ${resolve(info.projectRoot, info.baselinePath)}
46
- Actual: ${resolve(info.projectRoot, info.resultPath)}
47
- Difference: ${resolve(info.projectRoot, info.diffPath)}`);
48
- }
49
- async function writeSnapshot(commands, path, image) {
50
- const content = (await toDataURL(image)).split(',')[1];
51
- return commands.writeFile(path, content, { encoding: 'base64' });
52
- }
@@ -1,3 +0,0 @@
1
- import type { ToMatchImageSnapshotOptions } from '../shared/types.ts';
2
- export declare function prettifyOptions(options: ToMatchImageSnapshotOptions<any> | undefined): string;
3
- //# sourceMappingURL=compare_image_snapshot.logic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compare_image_snapshot.logic.d.ts","sourceRoot":"","sources":["../../src/client/compare_image_snapshot.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAA;AAErE,wBAAgB,eAAe,CAAC,OAAO,EAAE,2BAA2B,CAAC,GAAG,CAAC,GAAG,SAAS,UAWpF"}
@@ -1,12 +0,0 @@
1
- export function prettifyOptions(options) {
2
- if (!options)
3
- return 'none';
4
- return [
5
- `failureThreshold: ${options.failureThreshold ?? 0} ${options.failureThresholdType ?? 'pixels'}`,
6
- options.timeout ? `timeout: ${options.timeout} ms` : '',
7
- `comparisonMethod: ${options.comparisonMethod ?? 'pixel'}`,
8
- options.diffOptions ? `diffOptions: ${JSON.stringify(options.diffOptions)}` : '',
9
- ]
10
- .filter(Boolean)
11
- .join('\n ');
12
- }
@@ -1,7 +0,0 @@
1
- export declare const ctx: {
2
- autoEnabled: boolean | undefined;
3
- getCurrentTest: () => import("./vitest_suite_proxy.ts").CurrentTest;
4
- getCurrentSuite: () => import("vitest").SuiteCollector<object>;
5
- __test__reset(): void;
6
- };
7
- //# sourceMappingURL=ctx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ctx.d.ts","sourceRoot":"","sources":["../../src/client/ctx.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,GAAG;iBACW,OAAO,GAAG,SAAS;;;;CAQ7C,CAAA"}
package/esm/client/ctx.js DELETED
@@ -1,11 +0,0 @@
1
- import { getCurrentSuite, getCurrentTest } from "./vitest_suite_proxy.js";
2
- export const ctx = {
3
- autoEnabled: undefined,
4
- getCurrentTest,
5
- getCurrentSuite,
6
- __test__reset() {
7
- ctx.getCurrentTest = getCurrentTest;
8
- ctx.getCurrentSuite = getCurrentSuite;
9
- ctx.autoEnabled = undefined;
10
- },
11
- };
@@ -1,8 +0,0 @@
1
- import type { ImageSnapshotMatcher } from './to_match_image_snapshot.types.ts';
2
- declare global {
3
- namespace jest {
4
- interface Matchers<R, T> extends ImageSnapshotMatcher {
5
- }
6
- }
7
- }
8
- //# sourceMappingURL=augment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../../../src/client/expect/augment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAA;AAE9E,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,IAAI,CAAC;QAEd,UAAU,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,oBAAoB;SAAG;KACxD;CACD"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import type { SyncExpectationResult } from '@vitest/expect';
2
- export declare const success: SyncExpectationResult;
3
- //# sourceMappingURL=expectation_result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expectation_result.d.ts","sourceRoot":"","sources":["../../../src/client/expect/expectation_result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAE3D,eAAO,MAAM,OAAO,EAAE,qBAIrB,CAAA"}
@@ -1,5 +0,0 @@
1
- export const success = {
2
- pass: true,
3
- /* v8 ignore next */
4
- message: () => '',
5
- };
@@ -1,2 +0,0 @@
1
- import './augment.ts';
2
- //# sourceMappingURL=extend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/client/expect/extend.ts"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAA"}
@@ -1,4 +0,0 @@
1
- import { expect } from 'vitest';
2
- import { toMatchImageSnapshot } from "./to_match_image_snapshot.js";
3
- import "./augment.js";
4
- expect.extend({ toMatchImageSnapshot });
@@ -1,9 +0,0 @@
1
- import type { AsyncExpectationResult } from '@vitest/expect';
2
- import type { ToMatchImageSnapshotOptions } from '../../shared/types.ts';
3
- export declare function toMatchImageSnapshot(
4
- /**
5
- * The element or locator to take the snapshot of,
6
- * or the base64 value of the image to compare against.
7
- */
8
- subject: any, options?: ToMatchImageSnapshotOptions | undefined): AsyncExpectationResult;
9
- //# sourceMappingURL=to_match_image_snapshot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to_match_image_snapshot.d.ts","sourceRoot":"","sources":["../../../src/client/expect/to_match_image_snapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAMxE,wBAAgB,oBAAoB;AACnC;;;GAGG;AACH,OAAO,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE,2BAA2B,GAAG,SAAS,GAC/C,sBAAsB,CAcxB"}
@@ -1,21 +0,0 @@
1
- import { commands } from '@vitest/browser/context';
2
- import { matchImageSnapshotAction } from "../actions/match_image_snapshot_action.js";
3
- import { ctx } from "../ctx.js";
4
- import { toTaskId } from "../task_id.js";
5
- import { success } from "./expectation_result.js";
6
- export function toMatchImageSnapshot(
7
- /**
8
- * The element or locator to take the snapshot of,
9
- * or the base64 value of the image to compare against.
10
- */
11
- subject, options) {
12
- const test = ctx.getCurrentTest();
13
- if (!test) {
14
- throw new Error('`toMatchImageSnapshot()` must be called in a test.');
15
- }
16
- if (test.concurrent) {
17
- throw new Error('`toMatchImageSnapshot()` cannot be called in a concurrent test because ' +
18
- "concurrent tests run at the same time in the same iframe and affect each other's environment.");
19
- }
20
- return matchImageSnapshotAction(commands, toTaskId(test), subject, options).then(() => success);
21
- }
@@ -1,5 +0,0 @@
1
- import type { ComparisonMethod, ToMatchImageSnapshotOptions } from '../../shared/types.ts';
2
- export interface ImageSnapshotMatcher {
3
- toMatchImageSnapshot<M extends ComparisonMethod>(options?: ToMatchImageSnapshotOptions<M> | undefined): Promise<void>;
4
- }
5
- //# sourceMappingURL=to_match_image_snapshot.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to_match_image_snapshot.types.d.ts","sourceRoot":"","sources":["../../../src/client/expect/to_match_image_snapshot.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAE1F,MAAM,WAAW,oBAAoB;IACpC,oBAAoB,CAAC,CAAC,SAAS,gBAAgB,EAAE,OAAO,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACrH"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- export declare function toImageData(base64: string): Promise<ImageData>;
2
- export declare function toDataURL(imageData: ImageData): Promise<string>;
3
- //# sourceMappingURL=image_data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image_data.d.ts","sourceRoot":"","sources":["../../src/client/image_data.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,sBAkBzC;AAED,wBAAsB,SAAS,CAAC,SAAS,EAAE,SAAS,mBAenD"}
@@ -1,33 +0,0 @@
1
- export function toImageData(base64) {
2
- return new Promise((resolve, reject) => {
3
- const img = new Image();
4
- img.src = `data:image/png;base64,${base64}`;
5
- img.onload = () => {
6
- const canvas = document.createElement('canvas');
7
- canvas.width = img.width;
8
- canvas.height = img.height;
9
- const ctx = canvas.getContext('2d');
10
- ctx.drawImage(img, 0, 0);
11
- resolve(ctx.getImageData(0, 0, canvas.width, canvas.height));
12
- };
13
- img.onerror = () => {
14
- reject(new Error('Failed to load image'));
15
- };
16
- });
17
- }
18
- export async function toDataURL(imageData) {
19
- const canvas = document.createElement('canvas');
20
- canvas.width = imageData.width;
21
- canvas.height = imageData.height;
22
- const ctx = canvas.getContext('2d');
23
- ctx.putImageData(imageData, 0, 0);
24
- return new Promise((resolve) => {
25
- canvas.toBlob((blob) => {
26
- const reader = new FileReader();
27
- reader.onload = () => {
28
- resolve(reader.result);
29
- };
30
- reader.readAsDataURL(blob);
31
- });
32
- });
33
- }
@@ -1,9 +0,0 @@
1
- export declare const createImageResizer: ({ width, height }: {
2
- width: number;
3
- height: number;
4
- }) => (image: ImageData) => ImageData;
5
- export declare const createImageResizer2: ({ width, height }: {
6
- width: number;
7
- height: number;
8
- }) => (image: ImageData) => ImageData;
9
- //# sourceMappingURL=image_resizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image_resizer.d.ts","sourceRoot":"","sources":["../../src/client/image_resizer.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,GAC7B,mBAAmB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,MACpD,OAAO,SAAS,cA2BhB,CAAA;AAGF,eAAO,MAAM,mBAAmB,GAC9B,mBAAmB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,MACpD,OAAO,SAAS,cAsBhB,CAAA"}
@@ -1,49 +0,0 @@
1
- import { isSameSize } from "../shared/is_same_size.js";
2
- export const createImageResizer = ({ width, height }) => (image) => {
3
- if (isSameSize(image, { width, height }))
4
- return image;
5
- const inArea = (x, y) => y <= image.height && x <= image.width;
6
- const data = new Uint8ClampedArray(width * height * 4);
7
- const result = new ImageData(data, width, height, { colorSpace: image.colorSpace });
8
- for (let y = 0; y < height; y++) {
9
- for (let x = 0; x < width; x++) {
10
- const idx = (width * y + x) << 2;
11
- if (inArea(x, y)) {
12
- const old = (image.width * y + x) << 2;
13
- result.data[idx] = image.data[old];
14
- result.data[idx + 1] = image.data[old + 1];
15
- result.data[idx + 2] = image.data[old + 2];
16
- result.data[idx + 3] = image.data[old + 3];
17
- }
18
- else {
19
- result.data[idx] = 0;
20
- result.data[idx + 1] = 0;
21
- result.data[idx + 2] = 0;
22
- result.data[idx + 3] = 64;
23
- }
24
- }
25
- }
26
- return result;
27
- };
28
- // slower
29
- export const createImageResizer2 = ({ width, height }) => (image) => {
30
- if (isSameSize(image, { width, height }))
31
- return image;
32
- const inArea = (x, y) => y <= image.height && x <= image.width;
33
- const data = new Uint8ClampedArray(width * height * 4);
34
- const result = new ImageData(data, width, height, { colorSpace: image.colorSpace });
35
- const copyBytes = image.width * 4;
36
- for (let y = 0; y < height; y++) {
37
- result.data.set(image.data.slice(y * image.width, copyBytes), y * width * 4);
38
- for (let x = image.width; x < width; x++) {
39
- const idx = (width * y + x) << 2;
40
- if (!inArea(x, y)) {
41
- result.data[idx] = 0;
42
- result.data[idx + 1] = 0;
43
- result.data[idx + 2] = 0;
44
- result.data[idx + 3] = 64;
45
- }
46
- }
47
- }
48
- return result;
49
- };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=image_snapshot_options.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image_snapshot_options.d.ts","sourceRoot":"","sources":["../../src/client/image_snapshot_options.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- // import type { ToMatchImageSnapshotOptions } from '../shared/types.ts'
2
- export {};
3
- // export function parseImageSnapshotOptions(taskId: string, options: ToMatchImageSnapshotOptions<any> | undefined) {
4
- // const { snapshotKey, ...rest } = options ?? {}
5
- // return snapshotKey ? { ...options, snapshotFileId: `${taskId}-${snapshotKey}` } : rest
6
- // }
@@ -1,7 +0,0 @@
1
- import type { HasImageSnapshotAction } from './has_image_snapshot.ts';
2
- import type { ToMatchImageSnapshotAction } from './to_match_image_snapshot.ts';
3
- declare module '@vitest/browser/context' {
4
- interface BrowserPage extends HasImageSnapshotAction, ToMatchImageSnapshotAction {
5
- }
6
- }
7
- //# sourceMappingURL=augment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"augment.d.ts","sourceRoot":"","sources":["../../../src/client/page/augment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACrE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAE9E,OAAO,QAAQ,yBAAyB,CAAC;IACxC,UAAU,WAAY,SAAQ,sBAAsB,EAAE,0BAA0B;KAAG;CACnF"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- import './augment.ts';
2
- //# sourceMappingURL=extend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/client/page/extend.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,CAAA"}