testplane 9.0.0-rc.4 → 9.0.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 (299) hide show
  1. package/build/package.json +11 -11
  2. package/build/src/base-testplane.d.ts +6 -2
  3. package/build/src/base-testplane.js +18 -5
  4. package/build/src/base-testplane.js.map +1 -1
  5. package/build/src/browser/browser.d.ts +2 -0
  6. package/build/src/browser/browser.js +8 -4
  7. package/build/src/browser/browser.js.map +1 -1
  8. package/build/src/browser/calibrator.js +19 -17
  9. package/build/src/browser/calibrator.js.map +1 -1
  10. package/build/src/browser/camera/index.d.ts +6 -2
  11. package/build/src/browser/camera/index.js +18 -14
  12. package/build/src/browser/camera/index.js.map +1 -1
  13. package/build/src/browser/camera/utils.d.ts +11 -1
  14. package/build/src/browser/camera/utils.js +27 -1
  15. package/build/src/browser/camera/utils.js.map +1 -1
  16. package/build/src/browser/cdp/connection.d.ts +2 -39
  17. package/build/src/browser/cdp/connection.js +73 -353
  18. package/build/src/browser/cdp/connection.js.map +1 -1
  19. package/build/src/browser/cdp/constants.d.ts +0 -10
  20. package/build/src/browser/cdp/constants.js +1 -11
  21. package/build/src/browser/cdp/constants.js.map +1 -1
  22. package/build/src/browser/cdp/domains/css.d.ts +14 -6
  23. package/build/src/browser/cdp/domains/css.js +4 -0
  24. package/build/src/browser/cdp/domains/css.js.map +1 -1
  25. package/build/src/browser/cdp/domains/debugger.d.ts +1 -1
  26. package/build/src/browser/cdp/domains/fetch.d.ts +163 -0
  27. package/build/src/browser/cdp/domains/fetch.js +51 -0
  28. package/build/src/browser/cdp/domains/fetch.js.map +1 -0
  29. package/build/src/browser/cdp/domains/network.d.ts +290 -0
  30. package/build/src/browser/cdp/domains/network.js +75 -0
  31. package/build/src/browser/cdp/domains/network.js.map +1 -0
  32. package/build/src/browser/cdp/domains/page.d.ts +378 -0
  33. package/build/src/browser/cdp/domains/page.js +114 -0
  34. package/build/src/browser/cdp/domains/page.js.map +1 -0
  35. package/build/src/browser/cdp/emitter.d.ts +2 -1
  36. package/build/src/browser/cdp/emitter.js +2 -2
  37. package/build/src/browser/cdp/emitter.js.map +1 -1
  38. package/build/src/browser/cdp/error.d.ts +14 -20
  39. package/build/src/browser/cdp/error.js +29 -32
  40. package/build/src/browser/cdp/error.js.map +1 -1
  41. package/build/src/browser/cdp/index.d.ts +6 -0
  42. package/build/src/browser/cdp/index.js +21 -6
  43. package/build/src/browser/cdp/index.js.map +1 -1
  44. package/build/src/browser/cdp/selectivity/constants.d.ts +2 -0
  45. package/build/src/browser/cdp/selectivity/constants.js +3 -1
  46. package/build/src/browser/cdp/selectivity/constants.js.map +1 -1
  47. package/build/src/browser/cdp/selectivity/css-selectivity.d.ts +13 -3
  48. package/build/src/browser/cdp/selectivity/css-selectivity.js +211 -62
  49. package/build/src/browser/cdp/selectivity/css-selectivity.js.map +1 -1
  50. package/build/src/browser/cdp/selectivity/fs-cache.d.ts +12 -0
  51. package/build/src/browser/cdp/selectivity/fs-cache.js +122 -0
  52. package/build/src/browser/cdp/selectivity/fs-cache.js.map +1 -0
  53. package/build/src/browser/cdp/selectivity/hash-provider.d.ts +1 -0
  54. package/build/src/browser/cdp/selectivity/hash-provider.js +5 -3
  55. package/build/src/browser/cdp/selectivity/hash-provider.js.map +1 -1
  56. package/build/src/browser/cdp/selectivity/hash-reader.d.ts +2 -3
  57. package/build/src/browser/cdp/selectivity/hash-reader.js +39 -26
  58. package/build/src/browser/cdp/selectivity/hash-reader.js.map +1 -1
  59. package/build/src/browser/cdp/selectivity/hash-writer.d.ts +2 -2
  60. package/build/src/browser/cdp/selectivity/hash-writer.js +16 -62
  61. package/build/src/browser/cdp/selectivity/hash-writer.js.map +1 -1
  62. package/build/src/browser/cdp/selectivity/index.d.ts +6 -2
  63. package/build/src/browser/cdp/selectivity/index.js +147 -24
  64. package/build/src/browser/cdp/selectivity/index.js.map +1 -1
  65. package/build/src/browser/cdp/selectivity/js-selectivity.d.ts +11 -4
  66. package/build/src/browser/cdp/selectivity/js-selectivity.js +200 -87
  67. package/build/src/browser/cdp/selectivity/js-selectivity.js.map +1 -1
  68. package/build/src/browser/cdp/selectivity/json-utils.d.ts +5 -0
  69. package/build/src/browser/cdp/selectivity/json-utils.js +19 -9
  70. package/build/src/browser/cdp/selectivity/json-utils.js.map +1 -1
  71. package/build/src/browser/cdp/selectivity/merge-dumps/index.d.ts +2 -0
  72. package/build/src/browser/cdp/selectivity/merge-dumps/index.js +28 -0
  73. package/build/src/browser/cdp/selectivity/merge-dumps/index.js.map +1 -0
  74. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.d.ts +2 -0
  75. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js +39 -0
  76. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js.map +1 -0
  77. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.d.ts +2 -0
  78. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js +129 -0
  79. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js.map +1 -0
  80. package/build/src/browser/cdp/selectivity/modes.d.ts +4 -0
  81. package/build/src/browser/cdp/selectivity/modes.js +11 -0
  82. package/build/src/browser/cdp/selectivity/modes.js.map +1 -0
  83. package/build/src/browser/cdp/selectivity/runner.d.ts +5 -0
  84. package/build/src/browser/cdp/selectivity/runner.js +114 -22
  85. package/build/src/browser/cdp/selectivity/runner.js.map +1 -1
  86. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js +1 -1
  87. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js.map +1 -1
  88. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js +1 -1
  89. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js.map +1 -1
  90. package/build/src/browser/cdp/selectivity/testplane-selectivity.d.ts +3 -1
  91. package/build/src/browser/cdp/selectivity/testplane-selectivity.js +64 -13
  92. package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
  93. package/build/src/browser/cdp/selectivity/types.d.ts +6 -0
  94. package/build/src/browser/cdp/selectivity/types.js.map +1 -1
  95. package/build/src/browser/cdp/selectivity/used-dumps-tracker.d.ts +7 -0
  96. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js +25 -0
  97. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js.map +1 -0
  98. package/build/src/browser/cdp/selectivity/utils.d.ts +18 -9
  99. package/build/src/browser/cdp/selectivity/utils.js +111 -34
  100. package/build/src/browser/cdp/selectivity/utils.js.map +1 -1
  101. package/build/src/browser/cdp/types.d.ts +214 -0
  102. package/build/src/browser/cdp/utils.d.ts +0 -6
  103. package/build/src/browser/cdp/utils.js +1 -6
  104. package/build/src/browser/cdp/utils.js.map +1 -1
  105. package/build/src/browser/client-scripts/calibrate.js +2 -2
  106. package/build/src/browser/client-scripts/rrweb-record.min.js +2 -2
  107. package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +10 -10
  108. package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +10 -10
  109. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +21 -8
  110. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +57 -29
  111. package/build/src/browser/commands/assert-view/errors/image-diff-error.d.ts +1 -0
  112. package/build/src/browser/commands/assert-view/index.js +23 -3
  113. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  114. package/build/src/browser/commands/openAndWait.js +23 -26
  115. package/build/src/browser/commands/openAndWait.js.map +1 -1
  116. package/build/src/browser/commands/restoreState/index.js +19 -8
  117. package/build/src/browser/commands/restoreState/index.js.map +1 -1
  118. package/build/src/browser/commands/saveState/index.d.ts +1 -2
  119. package/build/src/browser/commands/saveState/index.js +8 -12
  120. package/build/src/browser/commands/saveState/index.js.map +1 -1
  121. package/build/src/browser/commands/switchToRepl.js +27 -9
  122. package/build/src/browser/commands/switchToRepl.js.map +1 -1
  123. package/build/src/browser/existing-browser.d.ts +2 -0
  124. package/build/src/browser/existing-browser.js +15 -0
  125. package/build/src/browser/existing-browser.js.map +1 -1
  126. package/build/src/browser/history/index.d.ts +8 -1
  127. package/build/src/browser/history/index.js +41 -17
  128. package/build/src/browser/history/index.js.map +1 -1
  129. package/build/src/browser/history/rrweb.d.ts +3 -1
  130. package/build/src/browser/history/rrweb.js +122 -27
  131. package/build/src/browser/history/rrweb.js.map +1 -1
  132. package/build/src/browser/isomorphic/tsconfig.tsbuildinfo +1 -1
  133. package/build/src/browser/new-browser.d.ts +1 -1
  134. package/build/src/browser/new-browser.js +6 -12
  135. package/build/src/browser/new-browser.js.map +1 -1
  136. package/build/src/browser/screen-shooter/composite-image/index.d.ts +23 -0
  137. package/build/src/browser/screen-shooter/composite-image/index.js +161 -14
  138. package/build/src/browser/screen-shooter/composite-image/index.js.map +1 -1
  139. package/build/src/browser/screen-shooter/debug.d.ts +3 -0
  140. package/build/src/browser/screen-shooter/debug.js +25 -0
  141. package/build/src/browser/screen-shooter/debug.js.map +1 -0
  142. package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +0 -1
  143. package/build/src/browser/screen-shooter/elements-screen-shooter.js +127 -75
  144. package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
  145. package/build/src/browser/screen-shooter/full-page-screen-shooter.d.ts +3 -2
  146. package/build/src/browser/screen-shooter/full-page-screen-shooter.js +19 -15
  147. package/build/src/browser/screen-shooter/full-page-screen-shooter.js.map +1 -1
  148. package/build/src/browser/screen-shooter/operations/index.d.ts +1 -0
  149. package/build/src/browser/screen-shooter/operations/index.js +3 -1
  150. package/build/src/browser/screen-shooter/operations/index.js.map +1 -1
  151. package/build/src/browser/screen-shooter/operations/pointer-events.js +7 -0
  152. package/build/src/browser/screen-shooter/operations/pointer-events.js.map +1 -1
  153. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.d.ts +2 -0
  154. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js +133 -0
  155. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js.map +1 -0
  156. package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +2 -1
  157. package/build/src/browser/screen-shooter/viewport-screen-shooter.js +3 -5
  158. package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
  159. package/build/src/browser/types.d.ts +6 -4
  160. package/build/src/browser/wsdriver/compression.d.ts +5 -0
  161. package/build/src/browser/wsdriver/compression.js +79 -0
  162. package/build/src/browser/wsdriver/compression.js.map +1 -0
  163. package/build/src/browser/wsdriver/constants.d.ts +11 -0
  164. package/build/src/browser/wsdriver/constants.js +15 -0
  165. package/build/src/browser/wsdriver/constants.js.map +1 -0
  166. package/build/src/browser/wsdriver/debug.d.ts +2 -0
  167. package/build/src/browser/wsdriver/debug.js +9 -0
  168. package/build/src/browser/wsdriver/debug.js.map +1 -0
  169. package/build/src/browser/wsdriver/error.d.ts +18 -0
  170. package/build/src/browser/wsdriver/error.js +36 -0
  171. package/build/src/browser/wsdriver/error.js.map +1 -0
  172. package/build/src/browser/wsdriver/index.d.ts +23 -0
  173. package/build/src/browser/wsdriver/index.js +261 -0
  174. package/build/src/browser/wsdriver/index.js.map +1 -0
  175. package/build/src/browser/wsdriver/request.d.ts +10 -0
  176. package/build/src/browser/wsdriver/request.js +58 -0
  177. package/build/src/browser/wsdriver/request.js.map +1 -0
  178. package/build/src/browser/wsdriver/response.d.ts +3 -0
  179. package/build/src/browser/wsdriver/response.js +111 -0
  180. package/build/src/browser/wsdriver/response.js.map +1 -0
  181. package/build/src/browser/wsdriver/types.d.ts +71 -0
  182. package/build/src/browser/wsdriver/types.js +27 -0
  183. package/build/src/browser/wsdriver/types.js.map +1 -0
  184. package/build/src/browser-pool/basic-pool.js +3 -1
  185. package/build/src/browser-pool/basic-pool.js.map +1 -1
  186. package/build/src/cli/commands/selectivity-merge-dumps/index.d.ts +2 -0
  187. package/build/src/cli/commands/selectivity-merge-dumps/index.js +50 -0
  188. package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -0
  189. package/build/src/cli/constants.d.ts +1 -0
  190. package/build/src/cli/constants.js +1 -0
  191. package/build/src/cli/constants.js.map +1 -1
  192. package/build/src/cli/index.js +3 -5
  193. package/build/src/cli/index.js.map +1 -1
  194. package/build/src/config/browser-options.js +11 -3
  195. package/build/src/config/browser-options.js.map +1 -1
  196. package/build/src/config/defaults.d.ts +7 -2
  197. package/build/src/config/defaults.js +10 -5
  198. package/build/src/config/defaults.js.map +1 -1
  199. package/build/src/config/index.d.ts +10 -6
  200. package/build/src/config/index.js +67 -42
  201. package/build/src/config/index.js.map +1 -1
  202. package/build/src/config/types.d.ts +59 -14
  203. package/build/src/config/types.js +15 -5
  204. package/build/src/config/types.js.map +1 -1
  205. package/build/src/config/utils.d.ts +2 -2
  206. package/build/src/config/utils.js +11 -6
  207. package/build/src/config/utils.js.map +1 -1
  208. package/build/src/constants/config.d.ts +0 -1
  209. package/build/src/constants/config.js +1 -2
  210. package/build/src/constants/config.js.map +1 -1
  211. package/build/src/constants/png.d.ts +1 -0
  212. package/build/src/constants/repl.d.ts +2 -0
  213. package/build/src/constants/repl.js +6 -0
  214. package/build/src/constants/repl.js.map +1 -0
  215. package/build/src/dev-server/index.d.ts +1 -1
  216. package/build/src/dev-server/index.js +1 -1
  217. package/build/src/dev-server/index.js.map +1 -1
  218. package/build/src/globals.d.ts +7 -0
  219. package/build/src/globals.js +10 -0
  220. package/build/src/globals.js.map +1 -0
  221. package/build/src/image.d.ts +6 -1
  222. package/build/src/image.js +56 -2
  223. package/build/src/image.js.map +1 -1
  224. package/build/src/index.d.ts +3 -13
  225. package/build/src/index.js +5 -1
  226. package/build/src/index.js.map +1 -1
  227. package/build/src/runner/browser-env/vite/browser-modules/driver.js +6 -8
  228. package/build/src/runner/browser-env/vite/browser-modules/driver.js.map +1 -1
  229. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  230. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +1 -1
  231. package/build/src/runner/index.js +1 -0
  232. package/build/src/runner/index.js.map +1 -1
  233. package/build/src/runner/suite-monitor.d.ts +1 -1
  234. package/build/src/runner/test-runner/regular-test-runner.js +2 -2
  235. package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
  236. package/build/src/signal-handler.d.ts +2 -2
  237. package/build/src/signal-handler.js +24 -11
  238. package/build/src/signal-handler.js.map +1 -1
  239. package/build/src/test-reader/mocha-reader/mocha-event-bus.d.ts +1 -1
  240. package/build/src/test-reader/test-parser.js +3 -3
  241. package/build/src/test-reader/test-parser.js.map +1 -1
  242. package/build/src/testplane.d.ts +4 -5
  243. package/build/src/testplane.js +20 -10
  244. package/build/src/testplane.js.map +1 -1
  245. package/build/src/types/globals.d.ts +16 -0
  246. package/build/src/types/globals.js +3 -0
  247. package/build/src/types/globals.js.map +1 -0
  248. package/build/src/types/index.d.ts +2 -3
  249. package/build/src/utils/crypto.d.ts +1 -0
  250. package/build/src/utils/crypto.js +2 -1
  251. package/build/src/utils/crypto.js.map +1 -1
  252. package/build/src/utils/eight-bit-rgba-to-png.d.ts +1 -0
  253. package/build/src/utils/repl-instrumentation/index.d.ts +1 -0
  254. package/build/src/utils/repl-instrumentation/index.js +46 -0
  255. package/build/src/utils/repl-instrumentation/index.js.map +1 -0
  256. package/build/src/utils/repl-instrumentation/typescript.d.ts +7 -0
  257. package/build/src/utils/repl-instrumentation/typescript.js +307 -0
  258. package/build/src/utils/repl-instrumentation/typescript.js.map +1 -0
  259. package/build/src/utils/repl-module-hooks.d.ts +1 -0
  260. package/build/src/utils/repl-module-hooks.js +111 -0
  261. package/build/src/utils/repl-module-hooks.js.map +1 -0
  262. package/build/src/utils/workers-registry.d.ts +2 -2
  263. package/build/src/utils/workers-registry.js +1 -0
  264. package/build/src/utils/workers-registry.js.map +1 -1
  265. package/build/src/vendors/expect-webdriverio/matchers-overrides.d.ts +49 -0
  266. package/build/src/vendors/expect-webdriverio/matchers-overrides.js +3 -0
  267. package/build/src/vendors/expect-webdriverio/matchers-overrides.js.map +1 -0
  268. package/build/src/worker/runner/browser-pool.js +4 -1
  269. package/build/src/worker/runner/browser-pool.js.map +1 -1
  270. package/build/src/worker/runner/index.js +6 -3
  271. package/build/src/worker/runner/index.js.map +1 -1
  272. package/build/src/worker/runner/sequence-test-parser.js +5 -7
  273. package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
  274. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js +2 -3
  275. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js.map +1 -1
  276. package/build/src/worker/runner/test-runner/execution-thread.d.ts +0 -1
  277. package/build/src/worker/runner/test-runner/execution-thread.js +0 -5
  278. package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
  279. package/build/src/worker/runner/test-runner/index.d.ts +1 -0
  280. package/build/src/worker/runner/test-runner/index.js +47 -2
  281. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  282. package/build/src/worker/testplane-facade.js +5 -3
  283. package/build/src/worker/testplane-facade.js.map +1 -1
  284. package/build/src/worker/testplane.d.ts +1 -0
  285. package/build/src/worker/testplane.js +4 -1
  286. package/build/src/worker/testplane.js.map +1 -1
  287. package/build/src/ws-connection/constants.d.ts +13 -0
  288. package/build/src/ws-connection/constants.js +17 -0
  289. package/build/src/ws-connection/constants.js.map +1 -0
  290. package/build/src/ws-connection/error.d.ts +52 -0
  291. package/build/src/ws-connection/error.js +84 -0
  292. package/build/src/ws-connection/error.js.map +1 -0
  293. package/build/src/ws-connection/index.d.ts +83 -0
  294. package/build/src/ws-connection/index.js +397 -0
  295. package/build/src/ws-connection/index.js.map +1 -0
  296. package/build/src/ws-connection/utils.d.ts +6 -0
  297. package/build/src/ws-connection/utils.js +9 -0
  298. package/build/src/ws-connection/utils.js.map +1 -0
  299. package/package.json +11 -11
@@ -7,6 +7,7 @@ import type { ChildProcessWithoutNullStreams } from "child_process";
7
7
  import type { RequestOptions } from "https";
8
8
  import type { Config } from "./index";
9
9
  import type { SelectivityCompressionType } from "../browser/cdp/selectivity/types";
10
+ import type { CropMargins } from "../browser/camera";
10
11
  import { DisableHoverMode } from "../browser/isomorphic/types";
11
12
  export interface CompareOptsConfig {
12
13
  shouldCluster: boolean;
@@ -52,9 +53,9 @@ export interface AssertViewOpts {
52
53
  * @remarks
53
54
  * Indicates maximum allowed CIEDE2000 difference between colors. Used only in non-strict mode.
54
55
  * Increasing global default is not recommended, prefer changing tolerance for particular suites or states instead.
55
- * By default it's 2.3 which should be enough for the most cases.
56
+ * By default it's 3.0 which should be enough for the most cases.
56
57
  *
57
- * @defaultValue `2.3`
58
+ * @defaultValue `3.0`
58
59
  */
59
60
  tolerance?: number;
60
61
  /**
@@ -87,6 +88,14 @@ export interface AssertViewOpts {
87
88
  * @defaultValue `0`
88
89
  */
89
90
  screenshotDelay?: number;
91
+ /**
92
+ * Additional raw screenshot margins to crop, in physical pixels.
93
+ *
94
+ * Values are applied to every raw browser screenshot and merged with automatic calibration margins
95
+ * by taking the larger margin for each side.
96
+ * Useful to crop off the scrollbar, or the browser UI on exotic mobile devices.
97
+ */
98
+ cropMargins?: CropMargins;
90
99
  /**
91
100
  * Ability to set DOM-node selector which should be scroll when the captured element does not completely fit on the screen.
92
101
  *
@@ -137,7 +146,7 @@ export interface AssertViewOpts {
137
146
  * @note
138
147
  * This should be considered a last resort and only used in small number of cases where necessary.
139
148
  *
140
- * @defaultValue `0`
149
+ * @defaultValue `4`
141
150
  */
142
151
  ignoreDiffPixelCount?: `${number}%` | number;
143
152
  /**
@@ -250,11 +259,26 @@ type ReadinessProbeObj = {
250
259
  };
251
260
  type ReadinessProbe = ReadinessProbeFn | ReadinessProbeObj;
252
261
  export declare enum TimeTravelMode {
262
+ /** @description Record and save all test runs */
253
263
  On = "on",
264
+ /** @description Do not record any test runs */
254
265
  Off = "off",
266
+ /** @description Record and save all retries */
255
267
  RetriesOnly = "retries-only",
268
+ /** @description Record all test runs, but save only last failed run */
256
269
  LastFailedRun = "last-failed-run"
257
270
  }
271
+ export declare const SelectivityMode: {
272
+ /** @description Completely disables Testplane selectivity */
273
+ readonly Disabled: false;
274
+ /** @description Skips running unchanged tests, does not update selectivity state after successful run */
275
+ readonly ReadOnly: "read-only";
276
+ /** @description Runs unchanged tests, updates selectivity state after successful run */
277
+ readonly WriteOnly: "write-only";
278
+ /** @description Skips running unchanged tests, updates selectivity state after successful run */
279
+ readonly Enabled: true;
280
+ };
281
+ export type SelectivityModeValue = (typeof SelectivityMode)[keyof typeof SelectivityMode];
258
282
  export interface TimeTravelConfig {
259
283
  mode: TimeTravelMode;
260
284
  }
@@ -266,21 +290,36 @@ export type StateOpts = {
266
290
  cookieFilter?: (cookie: Cookie) => boolean;
267
291
  keepFile?: boolean;
268
292
  };
293
+ export type SelectivityDependencyScope = "browser" | "testplane";
294
+ export type SelectivityDependencyReason = "browser-css-import" | "browser-js-coverage" | "testplane-js-import" | "testplane-assert-view-reference";
269
295
  /**
270
296
  * @param {Object} dependency - Object with dependency scope and posix relative path
271
297
  * @param {"browser"|"testplane"|string} dependency.scope - Dependency scope
272
298
  * @param {string} dependency.relativePath - POSIX relative path
273
- * @returns {string|void} Updated POSIX relative path or falsy value, if dependency should be ignored.
299
+ * @returns mapped POSIX relative path, "true", if should be untouched, or "falsy", if should be ignored
274
300
  */
275
- type SelectivityMapDependencyRelativePathFn = (dependency: {
276
- scope: "browser" | "testplane" | (string & NonNullable<unknown>);
301
+ export type SelectivityMapDependencyRelativePathFn = (dependency: {
302
+ scope: SelectivityDependencyScope;
303
+ reason: SelectivityDependencyReason;
277
304
  relativePath: string;
278
- }) => string | void;
305
+ }) => string | boolean | void;
306
+ /**
307
+ * @param {Object} assetInfo - Object with dependency asset info
308
+ * @param {"css"|"js"|string} assetInfo.type - Dependency type
309
+ * @param {string} assetInfo.sourceUrl - dependency absolute source url
310
+ * @param {string} assetInfo.sourceMapUrl - dependency absolute source map url
311
+ * @returns mapped source map url, "true", if should be untouched, or "falsy", if should be ignored
312
+ */
313
+ export type SelectivityMapSourceMapUrlFn = (assetInfo: {
314
+ type: "css" | "js" | (string & NonNullable<unknown>);
315
+ sourceUrl: string;
316
+ sourceMapUrl: string;
317
+ }) => string | boolean | void;
279
318
  export interface CommonConfig {
280
319
  configPath?: string;
281
- automationProtocol: "webdriver" | "devtools";
320
+ automationProtocol: "webdriver";
282
321
  desiredCapabilities: WebdriverIO.Capabilities | null;
283
- sessionEnvFlags: Record<"isW3C" | "isChrome" | "isMobile" | "isIOS" | "isAndroid" | "isSauce" | "isSeleniumStandalone", boolean>;
322
+ sessionEnvFlags: Partial<Record<"isW3C" | "isChrome" | "isMobile" | "isIOS" | "isAndroid" | "isSauce" | "isSeleniumStandalone", boolean>>;
284
323
  gridUrl: string;
285
324
  baseUrl: string;
286
325
  sessionsPerBrowser: number;
@@ -328,6 +367,7 @@ export interface CommonConfig {
328
367
  height: number;
329
368
  } | `${number}x${number}` | null;
330
369
  orientation: "landscape" | "portrait" | null;
370
+ /** Was changed from "true" to "false" in testplane@9 */
331
371
  resetCursor: boolean;
332
372
  headers: Record<string, string> | null;
333
373
  transformRequest: (req: RequestOptions) => RequestOptions;
@@ -340,6 +380,7 @@ export interface CommonConfig {
340
380
  headless: "old" | "new" | boolean | null;
341
381
  isolation: boolean;
342
382
  passive: boolean;
383
+ useWsDriver: boolean;
343
384
  lastFailed: {
344
385
  only: boolean;
345
386
  input: string | Array<string>;
@@ -362,12 +403,15 @@ export interface CommonConfig {
362
403
  reuseExisting: boolean;
363
404
  };
364
405
  selectivity: {
365
- enabled: boolean;
406
+ enabled: SelectivityModeValue;
407
+ saveIncompleteDumpOnFail: boolean;
366
408
  sourceRoot: string;
367
409
  testDependenciesPath: string;
368
410
  compression: SelectivityCompressionType;
369
411
  disableSelectivityPatterns: string[];
370
412
  mapDependencyRelativePath: null | SelectivityMapDependencyRelativePathFn;
413
+ mapSourceMapUrl: null | SelectivityMapSourceMapUrlFn;
414
+ reportPath: string;
371
415
  };
372
416
  timeTravel: TimeTravelConfig;
373
417
  }
@@ -394,22 +438,23 @@ type PartialCommonConfig = Partial<Omit<CommonConfig, "system" | "timeTravel" |
394
438
  };
395
439
  export type HookType = (params: {
396
440
  config: Config;
397
- }) => Promise<void> | undefined;
398
- export type ConfigInput = Partial<PartialCommonConfig> & {
441
+ }) => Promise<unknown> | unknown;
442
+ export type ConfigInputData = Partial<PartialCommonConfig> & {
399
443
  browsers: Record<string, PartialCommonConfig & {
400
444
  desiredCapabilities: WebdriverIO.Capabilities;
401
445
  }>;
402
446
  plugins?: Record<string, unknown>;
403
447
  sets?: Record<string, SetsConfig>;
404
- prepareEnvironment?: () => void | null;
448
+ prepareEnvironment?: () => void | Promise<void> | null;
405
449
  beforeAll?: HookType;
406
450
  afterAll?: HookType;
407
451
  };
452
+ export type ConfigInput = ConfigInputData | (() => ConfigInputData) | (() => Promise<ConfigInputData>);
408
453
  export interface ConfigParsed extends CommonConfig {
409
454
  browsers: Record<string, BrowserConfig>;
410
455
  plugins: Record<string, Record<string, unknown>>;
411
456
  sets: Record<string, SetsConfigParsed>;
412
- prepareEnvironment?: () => void | null;
457
+ prepareEnvironment?: () => void | Promise<void> | null;
413
458
  beforeAll?: HookType;
414
459
  afterAll?: HookType;
415
460
  }
@@ -1,15 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TimeTravelMode = void 0;
3
+ exports.SelectivityMode = exports.TimeTravelMode = void 0;
4
4
  var TimeTravelMode;
5
5
  (function (TimeTravelMode) {
6
- // Record and save all test runs
6
+ /** @description Record and save all test runs */
7
7
  TimeTravelMode["On"] = "on";
8
- // Do not record any test runs
8
+ /** @description Do not record any test runs */
9
9
  TimeTravelMode["Off"] = "off";
10
- // Record and save all retries
10
+ /** @description Record and save all retries */
11
11
  TimeTravelMode["RetriesOnly"] = "retries-only";
12
- // Record all test runs, but save only last failed run
12
+ /** @description Record all test runs, but save only last failed run */
13
13
  TimeTravelMode["LastFailedRun"] = "last-failed-run";
14
14
  })(TimeTravelMode || (exports.TimeTravelMode = TimeTravelMode = {}));
15
+ exports.SelectivityMode = {
16
+ /** @description Completely disables Testplane selectivity */
17
+ Disabled: false,
18
+ /** @description Skips running unchanged tests, does not update selectivity state after successful run */
19
+ ReadOnly: "read-only",
20
+ /** @description Runs unchanged tests, updates selectivity state after successful run */
21
+ WriteOnly: "write-only",
22
+ /** @description Skips running unchanged tests, updates selectivity state after successful run */
23
+ Enabled: true,
24
+ };
15
25
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":";;;AA+RA,IAAY,cASX;AATD,WAAY,cAAc;IACtB,gCAAgC;IAChC,2BAAS,CAAA;IACT,8BAA8B;IAC9B,6BAAW,CAAA;IACX,8BAA8B;IAC9B,8CAA4B,CAAA;IAC5B,sDAAsD;IACtD,mDAAiC,CAAA;AACrC,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":";;;AAwSA,IAAY,cASX;AATD,WAAY,cAAc;IACtB,iDAAiD;IACjD,2BAAS,CAAA;IACT,+CAA+C;IAC/C,6BAAW,CAAA;IACX,+CAA+C;IAC/C,8CAA4B,CAAA;IAC5B,wEAAwE;IACxE,mDAAiC,CAAA;AACrC,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB;AAEY,QAAA,eAAe,GAAG;IAC3B,6DAA6D;IAC7D,QAAQ,EAAE,KAAK;IACf,yGAAyG;IACzG,QAAQ,EAAE,WAAW;IACrB,wFAAwF;IACxF,SAAS,EAAE,YAAY;IACvB,iGAAiG;IACjG,OAAO,EAAE,IAAI;CACP,CAAC"}
@@ -1,4 +1,4 @@
1
- import { ConfigParsed } from "./types";
1
+ import { ConfigParsed, SelectivityModeValue } from "./types";
2
2
  type ValueType = "string" | "number" | "boolean" | "object" | "undefined" | "function";
3
3
  export declare const is: (type: ValueType, name: string) => (value: unknown) => void;
4
4
  export declare const assertNonNegativeNumber: (value: number, name: string) => void;
@@ -12,6 +12,6 @@ export declare const parseBoolean: (value: string, name: string) => boolean;
12
12
  export declare const parsePrimitive: <T = unknown>(str: string) => T;
13
13
  export declare const addUserAgentToArgs: (config: ConfigParsed) => ConfigParsed;
14
14
  export declare const extractSelectivityEnabledEnvVariable: (envPrefixes?: string[]) => {
15
- enabled?: boolean;
15
+ enabled?: SelectivityModeValue;
16
16
  };
17
17
  export {};
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.extractSelectivityEnabledEnvVariable = exports.addUserAgentToArgs = exports.parsePrimitive = exports.parseBoolean = exports.assertPositiveIntegerOrInfinity = exports.assertPositiveInteger = exports.assertEnum = exports.assertNonNegativeInteger = exports.assertOptionalArray = exports.assertOptionalObject = exports.assertNonNegativeNumber = exports.is = void 0;
7
7
  const lodash_1 = __importDefault(require("lodash"));
8
+ const types_1 = require("./types");
8
9
  const is = (type, name) => {
9
10
  return (value) => {
10
11
  if (typeof value !== type) {
@@ -34,7 +35,7 @@ const assertOptionalArray = (value, name) => {
34
35
  exports.assertOptionalArray = assertOptionalArray;
35
36
  const assertNonNegativeInteger = (value, name) => {
36
37
  if (!Number.isInteger(value) || value < 0) {
37
- throw new Error(`"${name}" must be a non-negative integer`);
38
+ throw new Error(`"${name}" must be a non-negative integer, got ${value} of type ${typeof value}`);
38
39
  }
39
40
  };
40
41
  exports.assertNonNegativeInteger = assertNonNegativeInteger;
@@ -101,11 +102,15 @@ exports.addUserAgentToArgs = addUserAgentToArgs;
101
102
  const extractSelectivityEnabledEnvVariable = (envPrefixes = []) => {
102
103
  for (const envPrefix of envPrefixes) {
103
104
  const envName = envPrefix + "selectivity_enabled";
104
- if (process.env[envName] === String(true)) {
105
- return { enabled: true };
106
- }
107
- if (process.env[envName] === String(false)) {
108
- return { enabled: false };
105
+ switch (process.env[envName]) {
106
+ case String(types_1.SelectivityMode.Enabled):
107
+ return { enabled: types_1.SelectivityMode.Enabled };
108
+ case String(types_1.SelectivityMode.Disabled):
109
+ return { enabled: types_1.SelectivityMode.Disabled };
110
+ case String(types_1.SelectivityMode.ReadOnly):
111
+ return { enabled: types_1.SelectivityMode.ReadOnly };
112
+ case String(types_1.SelectivityMode.WriteOnly):
113
+ return { enabled: types_1.SelectivityMode.WriteOnly };
109
114
  }
110
115
  }
111
116
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/config/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/config/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import { type W3CBrowserName } from "../browser/types";
2
2
  export declare const ENV_PREFIXES: string[];
3
3
  export declare const WEBDRIVER_PROTOCOL = "webdriver";
4
- export declare const DEVTOOLS_PROTOCOL = "devtools";
5
4
  export declare const SAVE_HISTORY_MODE: {
6
5
  ALL: string;
7
6
  NONE: string;
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VENDOR_CAPABILITIES = exports.W3C_CAPABILITIES = exports.LOCAL_GRID_URL = exports.BROWSER_TEST_RUN_ENV = exports.NODEJS_TEST_RUN_ENV = exports.SAVE_HISTORY_MODE = exports.DEVTOOLS_PROTOCOL = exports.WEBDRIVER_PROTOCOL = exports.ENV_PREFIXES = void 0;
3
+ exports.VENDOR_CAPABILITIES = exports.W3C_CAPABILITIES = exports.LOCAL_GRID_URL = exports.BROWSER_TEST_RUN_ENV = exports.NODEJS_TEST_RUN_ENV = exports.SAVE_HISTORY_MODE = exports.WEBDRIVER_PROTOCOL = exports.ENV_PREFIXES = void 0;
4
4
  const types_1 = require("../browser/types");
5
5
  exports.ENV_PREFIXES = ["testplane_", "hermione_"];
6
6
  exports.WEBDRIVER_PROTOCOL = "webdriver";
7
- exports.DEVTOOLS_PROTOCOL = "devtools";
8
7
  exports.SAVE_HISTORY_MODE = {
9
8
  ALL: "all",
10
9
  NONE: "none",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/constants/config.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAEvD,QAAA,YAAY,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAE3C,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,iBAAiB,GAAG,UAAU,CAAC;AAC/B,QAAA,iBAAiB,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,YAAY;CAC5B,CAAC;AACW,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC,gDAAgD;AACnC,QAAA,gBAAgB,GAAG;IAC5B,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,OAAO;IACP,eAAe;IACf,UAAU;IACV,2BAA2B;IAC3B,yBAAyB;IACzB,WAAW;IACX,cAAc;IACd,8BAA8B;CACjC,CAAC;AAEW,QAAA,mBAAmB,GAAqC;IACjE,8DAA8D;IAC9D,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAChE,CAAC,mBAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAC7E,qFAAqF;IACrF,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,CAAC;IAC7C,gGAAgG;IAChG,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACtC,8EAA8E;IAC9E,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,4BAA4B,EAAE,2BAA2B,EAAE,sBAAsB,CAAC;CAC5G,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/constants/config.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAEvD,QAAA,YAAY,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAE3C,QAAA,kBAAkB,GAAG,WAAW,CAAC;AACjC,QAAA,iBAAiB,GAAG;IAC7B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,YAAY;CAC5B,CAAC;AACW,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,oBAAoB,GAAG,SAAS,CAAC;AACjC,QAAA,cAAc,GAAG,OAAO,CAAC;AAEtC,gDAAgD;AACnC,QAAA,gBAAgB,GAAG;IAC5B,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,qBAAqB;IACrB,kBAAkB;IAClB,OAAO;IACP,eAAe;IACf,UAAU;IACV,2BAA2B;IAC3B,yBAAyB;IACzB,WAAW;IACX,cAAc;IACd,8BAA8B;CACjC,CAAC;AAEW,QAAA,mBAAmB,GAAqC;IACjE,8DAA8D;IAC9D,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAChE,CAAC,mBAAW,CAAC,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;IAC7E,qFAAqF;IACrF,CAAC,mBAAW,CAAC,OAAO,CAAC,EAAE,CAAC,oBAAoB,CAAC;IAC7C,gGAAgG;IAChG,CAAC,mBAAW,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;IACtC,8EAA8E;IAC9E,CAAC,mBAAW,CAAC,MAAM,CAAC,EAAE,CAAC,4BAA4B,EAAE,2BAA2B,EAAE,sBAAsB,CAAC;CAC5G,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  export declare const RGBA_CHANNELS = 4;
3
4
  export declare const BITS_IN_BYTE = 8;
4
5
  export declare const PNG_WIDTH_OFFSET = 16;
@@ -0,0 +1,2 @@
1
+ export declare const REPL_INSTRUMENTED_FN_FLAG_KEY = "testplane.repl.instrumented.fn";
2
+ export declare const REPL_INSTRUMENTED_FN_FLAG: unique symbol;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REPL_INSTRUMENTED_FN_FLAG = exports.REPL_INSTRUMENTED_FN_FLAG_KEY = void 0;
4
+ exports.REPL_INSTRUMENTED_FN_FLAG_KEY = "testplane.repl.instrumented.fn";
5
+ exports.REPL_INSTRUMENTED_FN_FLAG = Symbol.for(exports.REPL_INSTRUMENTED_FN_FLAG_KEY);
6
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/constants/repl.ts"],"names":[],"mappings":";;;AAAa,QAAA,6BAA6B,GAAG,gCAAgC,CAAC;AACjE,QAAA,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAC,qCAA6B,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import type { Testplane } from "../testplane";
3
3
  export type DevServerOpts = {
4
4
  testplane: Testplane;
5
5
  devServerConfig: Config["devServer"];
6
- configPath: string;
6
+ configPath?: string;
7
7
  };
8
8
  export type InitDevServer = (opts: DevServerOpts) => Promise<void>;
9
9
  export declare const initDevServer: InitDevServer;
@@ -56,7 +56,7 @@ const initDevServer = async ({ testplane, devServerConfig, configPath }) => {
56
56
  }
57
57
  const devServer = (0, child_process_1.spawn)(devServerConfig.command, devServerConfig.args, {
58
58
  env: { ...process.env, ...devServerConfig.env },
59
- cwd: devServerConfig.cwd || (0, utils_1.findCwd)(configPath),
59
+ cwd: devServerConfig.cwd || (configPath ? (0, utils_1.findCwd)(configPath) : process.cwd()),
60
60
  shell: true,
61
61
  windowsHide: true,
62
62
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dev-server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dev-server/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { GlobalAfterEachType, GlobalBeforeEachType, GlobalDescribeType, GlobalHermioneType, GlobalItType, GlobalTestplaneType } from "./types/globals";
2
+ export declare const it: GlobalItType;
3
+ export declare const describe: GlobalDescribeType;
4
+ export declare const beforeEach: GlobalBeforeEachType;
5
+ export declare const afterEach: GlobalAfterEachType;
6
+ export declare const testplane: GlobalTestplaneType;
7
+ export declare const hermione: GlobalHermioneType;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hermione = exports.testplane = exports.afterEach = exports.beforeEach = exports.describe = exports.it = void 0;
4
+ exports.it = globalThis.it;
5
+ exports.describe = globalThis.describe;
6
+ exports.beforeEach = globalThis.beforeEach;
7
+ exports.afterEach = globalThis.afterEach;
8
+ exports.testplane = globalThis.testplane;
9
+ exports.hermione = globalThis.hermione;
10
+ //# sourceMappingURL=globals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globals.js","sourceRoot":"","sources":["../../src/globals.ts"],"names":[],"mappings":";;;AAUa,QAAA,EAAE,GAAkB,UAA0C,CAAC,EAAE,CAAC;AAClE,QAAA,QAAQ,GAAwB,UAA0C,CAAC,QAAQ,CAAC;AACpF,QAAA,UAAU,GAA0B,UAA0C,CAAC,UAAU,CAAC;AAC1F,QAAA,SAAS,GAAyB,UAA0C,CAAC,SAAS,CAAC;AACvF,QAAA,SAAS,GAAyB,UAA0C,CAAC,SAAS,CAAC;AACvF,QAAA,QAAQ,GAAwB,UAA0C,CAAC,QAAQ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import looksSame from "looks-same";
3
4
  import { DiffOptions, ImageSize } from "./types";
4
5
  interface PngImageData {
@@ -32,6 +33,7 @@ interface CompareOptions {
32
33
  tolerance?: number;
33
34
  antialiasingTolerance?: number;
34
35
  }
36
+ export declare const extractBase64PngSize: (base64EncodedPng: string) => ImageSize;
35
37
  export declare class Image {
36
38
  private _imgDataPromise;
37
39
  private _imgData;
@@ -40,12 +42,15 @@ export declare class Image {
40
42
  private _composeImages;
41
43
  private _clearAreas;
42
44
  private _decodeError;
45
+ private _hasICCPChunk;
43
46
  static create(buffer: Buffer): Image;
44
47
  constructor(buffer: Buffer);
45
48
  constructor(size: Size);
49
+ get hasICCPChunk(): boolean;
46
50
  _getImgData(): Promise<Buffer>;
47
51
  _ensureImagesHaveSameWidth(): void;
48
- getSize(): Promise<ImageSize>;
52
+ getSize(): ImageSize;
53
+ clone(): Promise<Image>;
49
54
  crop(rect: Rect): Promise<void>;
50
55
  addJoin(attachedImages: this[]): void;
51
56
  applyJoin(): Promise<void>;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Image = void 0;
6
+ exports.Image = exports.extractBase64PngSize = void 0;
7
7
  const fs_1 = __importDefault(require("fs"));
8
8
  const looks_same_1 = __importDefault(require("looks-same"));
9
9
  const preload_utils_1 = require("./utils/preload-utils");
@@ -24,6 +24,46 @@ const jsquashDecode = (buffer) => {
24
24
  initJsquashPromise,
25
25
  ]).then(([mod]) => mod.decode(buffer, { bitDepth: png_1.BITS_IN_BYTE }));
26
26
  };
27
+ const extractBase64PngSize = (base64EncodedPng) => {
28
+ // Strips data URI prefix if it exists
29
+ const base64Data = base64EncodedPng.includes(";base64,")
30
+ ? base64EncodedPng.split(";base64,").pop()
31
+ : base64EncodedPng;
32
+ if (base64Data.length <= png_1.PNG_MIN_ASSIST_BYTES) {
33
+ throw new Error("Invalid base64 encoded png: too short");
34
+ }
35
+ const headerBytesToRead = Math.max(png_1.PNG_WIDTH_OFFSET, png_1.PNG_HEIGHT_OFFSET) + 4;
36
+ const headerCharsToRead = Math.ceil(headerBytesToRead / 3) * 4;
37
+ const pngHeader = Buffer.from(base64Data.slice(0, headerCharsToRead), "base64");
38
+ if (!pngHeader.subarray(0, png_1.PNG_SIGNATURE.byteLength).equals(png_1.PNG_SIGNATURE)) {
39
+ throw new Error("Invalid base64 encoded png: signature missmatch");
40
+ }
41
+ return {
42
+ width: pngHeader.readUInt32BE(png_1.PNG_WIDTH_OFFSET),
43
+ height: pngHeader.readUInt32BE(png_1.PNG_HEIGHT_OFFSET),
44
+ };
45
+ };
46
+ exports.extractBase64PngSize = extractBase64PngSize;
47
+ const hasICCPChunk = (buffer) => {
48
+ const auxChunkSizeBytes = 12; // 4 bytes for length, 4 bytes for type, 4 bytes for crc
49
+ const iCCPChunkType = Buffer.from("iCCP", "ascii").readUInt32BE(0);
50
+ const IDATChunkType = Buffer.from("IDAT", "ascii").readUInt32BE(0);
51
+ const PLTEChunkType = Buffer.from("PLTE", "ascii").readUInt32BE(0);
52
+ for (let nextChunkPointer = png_1.PNG_SIGNATURE.byteLength; nextChunkPointer <= buffer.length - auxChunkSizeBytes;) {
53
+ const chunkLength = buffer.readUInt32BE(nextChunkPointer);
54
+ const chunkType = buffer.readUInt32BE(nextChunkPointer + 4);
55
+ if (chunkType === iCCPChunkType) {
56
+ return true;
57
+ }
58
+ // If the iCCP chunk appears, it must precede the first IDAT chunk, and it must also precede the PLTE chunk if present
59
+ // https://libpng.org/pub/png/spec/1.2/PNG-Chunks.html#C.iCCP
60
+ if (chunkType === IDATChunkType || chunkType === PLTEChunkType) {
61
+ return false;
62
+ }
63
+ nextChunkPointer += chunkLength + auxChunkSizeBytes;
64
+ }
65
+ return false;
66
+ };
27
67
  class Image {
28
68
  static create(buffer) {
29
69
  return new this(buffer);
@@ -33,9 +73,11 @@ class Image {
33
73
  this._composeImages = [];
34
74
  this._clearAreas = [];
35
75
  this._decodeError = null;
76
+ this._hasICCPChunk = false;
36
77
  if (Buffer.isBuffer(bufferOrSize)) {
37
78
  this._width = bufferOrSize.readUInt32BE(png_1.PNG_WIDTH_OFFSET);
38
79
  this._height = bufferOrSize.readUInt32BE(png_1.PNG_HEIGHT_OFFSET);
80
+ this._hasICCPChunk = hasICCPChunk(bufferOrSize);
39
81
  this._imgDataPromise = jsquashDecode(bufferOrSize)
40
82
  .then(({ data }) => {
41
83
  return Buffer.from(data.buffer, data.byteOffset, data.byteLength);
@@ -53,6 +95,9 @@ class Image {
53
95
  this._imgData.fill(blackRgbaPixel);
54
96
  this._imgDataPromise = Promise.resolve(this._imgData);
55
97
  }
98
+ get hasICCPChunk() {
99
+ return this._hasICCPChunk;
100
+ }
56
101
  async _getImgData() {
57
102
  if (this._imgData) {
58
103
  return this._imgData;
@@ -73,11 +118,20 @@ class Image {
73
118
  }
74
119
  }
75
120
  }
76
- async getSize() {
121
+ getSize() {
77
122
  this._ensureImagesHaveSameWidth();
78
123
  const height = this._composeImages.reduce((acc, img) => acc + img._height, this._height);
79
124
  return { height, width: this._width };
80
125
  }
126
+ async clone() {
127
+ const imgData = await this._getImgData();
128
+ const image = new Image({ width: this._width, height: this._height });
129
+ image._imgData = Buffer.from(imgData);
130
+ image._imgDataPromise = Promise.resolve(image._imgData);
131
+ image._clearAreas = this._clearAreas.slice();
132
+ image._composeImages = this._composeImages.slice();
133
+ return image;
134
+ }
81
135
  async crop(rect) {
82
136
  const imgData = await this._getImgData();
83
137
  let bufferPointer = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/image.ts"],"names":[],"mappings":"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"}
@@ -2,30 +2,20 @@
2
2
  /// <reference types="expect-webdriverio/types/expect-webdriverio" />
3
3
  import "./browser/types";
4
4
  import "expect-webdriverio";
5
- import { GlobalHelper } from "./types";
5
+ import "./vendors/expect-webdriverio/matchers-overrides";
6
6
  export { run as runCli } from "./cli";
7
7
  export { Testplane as default } from "./testplane";
8
8
  export { Key } from "@testplane/webdriverio";
9
9
  export * from "./mock";
10
+ export * from "./globals";
10
11
  export * as unstable from "./unstable";
11
12
  export type { SessionOptions } from "./browser/types";
12
13
  export type { WdioBrowser, TestResult, Test, Suite, TestError, HermioneCtx, GlobalHelper, TestplaneCtx, TestFunction, TestFunctionCtx, ExecutionThreadCtx, Cookie, TestTag, } from "./types";
13
14
  export type { Config } from "./config";
14
- export { TimeTravelMode } from "./config";
15
+ export { TimeTravelMode, SelectivityMode } from "./config";
15
16
  export type { ConfigInput, AssertViewOpts } from "./config/types";
16
17
  export type { TestCollection, FormatterTreeSuite, FormatterTreeTest, FormatterTreeMainRunnable, FormatterListTest, } from "./test-collection";
17
18
  export type { StatsResult } from "./stats";
18
19
  export type { SaveStateData } from "./browser/commands/saveState";
19
20
  import type { TestDefinition, SuiteDefinition, TestHookDefinition } from "./test-reader/test-object/types";
20
21
  export type { TestDefinition, SuiteDefinition, TestHookDefinition };
21
- declare global {
22
- var it: TestDefinition;
23
- var describe: SuiteDefinition;
24
- var beforeEach: TestHookDefinition;
25
- var afterEach: TestHookDefinition;
26
- var testplane: GlobalHelper;
27
- /**
28
- * @deprecated Use `testplane` instead
29
- */
30
- var hermione: GlobalHelper;
31
- }