@wdio/image-comparison-core 1.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 (416) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/LICENSE +21 -0
  3. package/README.md +12 -0
  4. package/assets/ios/ipadair4th.ipadair5th-bottom.png +0 -0
  5. package/assets/ios/ipadair4th.ipadair5th-top.png +0 -0
  6. package/assets/ios/ipadmini6th-bottom.png +0 -0
  7. package/assets/ios/ipadmini6th-top.png +0 -0
  8. package/assets/ios/ipadpro11-bottom.png +0 -0
  9. package/assets/ios/ipadpro11-top.png +0 -0
  10. package/assets/ios/ipadpro129-bottom.png +0 -0
  11. package/assets/ios/ipadpro129-top.png +0 -0
  12. package/assets/ios/iphone11promax-bottom.png +0 -0
  13. package/assets/ios/iphone11promax-top.png +0 -0
  14. package/assets/ios/iphone12.iphone12pro-top.png +0 -0
  15. package/assets/ios/iphone12.iphone12pro.iphone13.iphone13pro.iphone14-bottom.png +0 -0
  16. package/assets/ios/iphone12mini-top.png +0 -0
  17. package/assets/ios/iphone12mini.iphone13mini-bottom.png +0 -0
  18. package/assets/ios/iphone12promax-top.png +0 -0
  19. package/assets/ios/iphone12promax.iphone13promax.iphone14plus-bottom.png +0 -0
  20. package/assets/ios/iphone13.iphone13pro.iphone14-top.png +0 -0
  21. package/assets/ios/iphone13mini-top.png +0 -0
  22. package/assets/ios/iphone13promax.iphone14plus-top.png +0 -0
  23. package/assets/ios/iphone14pro-bottom.png +0 -0
  24. package/assets/ios/iphone14pro-top.png +0 -0
  25. package/assets/ios/iphone14promax-bottom.png +0 -0
  26. package/assets/ios/iphone14promax-top.png +0 -0
  27. package/assets/ios/iphone15-bottom.png +0 -0
  28. package/assets/ios/iphone15-top.png +0 -0
  29. package/assets/ios/iphonex.iphonexs.iphone11pro-bottom.png +0 -0
  30. package/assets/ios/iphonex.iphonexs.iphone11pro-top.png +0 -0
  31. package/assets/ios/iphonexr.iphone11-bottom.png +0 -0
  32. package/assets/ios/iphonexr.iphone11-top.png +0 -0
  33. package/assets/ios/iphonexsmax-bottom.png +0 -0
  34. package/assets/ios/iphonexsmax-top.png +0 -0
  35. package/dist/base.d.ts +18 -0
  36. package/dist/base.d.ts.map +1 -0
  37. package/dist/base.interfaces.d.ts +200 -0
  38. package/dist/base.interfaces.d.ts.map +1 -0
  39. package/dist/base.interfaces.js +1 -0
  40. package/dist/base.js +58 -0
  41. package/dist/base.test.d.ts +2 -0
  42. package/dist/base.test.d.ts.map +1 -0
  43. package/dist/base.test.js +45 -0
  44. package/dist/clientSideScripts/checkMetaTag.d.ts +2 -0
  45. package/dist/clientSideScripts/checkMetaTag.d.ts.map +1 -0
  46. package/dist/clientSideScripts/checkMetaTag.js +9 -0
  47. package/dist/clientSideScripts/checkMetaTag.test.d.ts +2 -0
  48. package/dist/clientSideScripts/checkMetaTag.test.d.ts.map +1 -0
  49. package/dist/clientSideScripts/checkMetaTag.test.js +25 -0
  50. package/dist/clientSideScripts/customCss.interfaces.d.ts +8 -0
  51. package/dist/clientSideScripts/customCss.interfaces.d.ts.map +1 -0
  52. package/dist/clientSideScripts/customCss.interfaces.js +1 -0
  53. package/dist/clientSideScripts/drawTabbableOnCanvas.d.ts +8 -0
  54. package/dist/clientSideScripts/drawTabbableOnCanvas.d.ts.map +1 -0
  55. package/dist/clientSideScripts/drawTabbableOnCanvas.interfaces.d.ts +4 -0
  56. package/dist/clientSideScripts/drawTabbableOnCanvas.interfaces.d.ts.map +1 -0
  57. package/dist/clientSideScripts/drawTabbableOnCanvas.interfaces.js +1 -0
  58. package/dist/clientSideScripts/drawTabbableOnCanvas.js +275 -0
  59. package/dist/clientSideScripts/drawTabbableOnCanvas.test.d.ts +2 -0
  60. package/dist/clientSideScripts/drawTabbableOnCanvas.test.d.ts.map +1 -0
  61. package/dist/clientSideScripts/drawTabbableOnCanvas.test.js +251 -0
  62. package/dist/clientSideScripts/elementPosition.interfaces.d.ts +3 -0
  63. package/dist/clientSideScripts/elementPosition.interfaces.d.ts.map +1 -0
  64. package/dist/clientSideScripts/elementPosition.interfaces.js +1 -0
  65. package/dist/clientSideScripts/getBoundingClientRect.d.ts +6 -0
  66. package/dist/clientSideScripts/getBoundingClientRect.d.ts.map +1 -0
  67. package/dist/clientSideScripts/getBoundingClientRect.js +12 -0
  68. package/dist/clientSideScripts/getBoundingClientRect.test.d.ts +2 -0
  69. package/dist/clientSideScripts/getBoundingClientRect.test.d.ts.map +1 -0
  70. package/dist/clientSideScripts/getBoundingClientRect.test.js +28 -0
  71. package/dist/clientSideScripts/getDocumentScrollHeight.d.ts +5 -0
  72. package/dist/clientSideScripts/getDocumentScrollHeight.d.ts.map +1 -0
  73. package/dist/clientSideScripts/getDocumentScrollHeight.js +48 -0
  74. package/dist/clientSideScripts/getDocumentScrollHeight.test.d.ts +2 -0
  75. package/dist/clientSideScripts/getDocumentScrollHeight.test.d.ts.map +1 -0
  76. package/dist/clientSideScripts/getDocumentScrollHeight.test.js +30 -0
  77. package/dist/clientSideScripts/getElementPositionTopDom.d.ts +6 -0
  78. package/dist/clientSideScripts/getElementPositionTopDom.d.ts.map +1 -0
  79. package/dist/clientSideScripts/getElementPositionTopDom.js +11 -0
  80. package/dist/clientSideScripts/getElementPositionTopDom.test.d.ts +2 -0
  81. package/dist/clientSideScripts/getElementPositionTopDom.test.d.ts.map +1 -0
  82. package/dist/clientSideScripts/getElementPositionTopDom.test.js +11 -0
  83. package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.d.ts +14 -0
  84. package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.d.ts.map +1 -0
  85. package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.js +19 -0
  86. package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.test.d.ts +2 -0
  87. package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.test.d.ts.map +1 -0
  88. package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.test.js +52 -0
  89. package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.d.ts +6 -0
  90. package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.d.ts.map +1 -0
  91. package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.js +17 -0
  92. package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.test.d.ts +2 -0
  93. package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.test.d.ts.map +1 -0
  94. package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.test.js +47 -0
  95. package/dist/clientSideScripts/getScreenDimensions.d.ts +6 -0
  96. package/dist/clientSideScripts/getScreenDimensions.d.ts.map +1 -0
  97. package/dist/clientSideScripts/getScreenDimensions.js +104 -0
  98. package/dist/clientSideScripts/getScreenDimensions.test.d.ts +2 -0
  99. package/dist/clientSideScripts/getScreenDimensions.test.d.ts.map +1 -0
  100. package/dist/clientSideScripts/getScreenDimensions.test.js +161 -0
  101. package/dist/clientSideScripts/hideRemoveElements.d.ts +8 -0
  102. package/dist/clientSideScripts/hideRemoveElements.d.ts.map +1 -0
  103. package/dist/clientSideScripts/hideRemoveElements.js +60 -0
  104. package/dist/clientSideScripts/hideRemoveElements.test.d.ts +2 -0
  105. package/dist/clientSideScripts/hideRemoveElements.test.d.ts.map +1 -0
  106. package/dist/clientSideScripts/hideRemoveElements.test.js +199 -0
  107. package/dist/clientSideScripts/hideScrollbars.d.ts +9 -0
  108. package/dist/clientSideScripts/hideScrollbars.d.ts.map +1 -0
  109. package/dist/clientSideScripts/hideScrollbars.js +15 -0
  110. package/dist/clientSideScripts/hideScrollbars.test.d.ts +2 -0
  111. package/dist/clientSideScripts/hideScrollbars.test.d.ts.map +1 -0
  112. package/dist/clientSideScripts/hideScrollbars.test.js +12 -0
  113. package/dist/clientSideScripts/injectWebviewOverlay.d.ts +5 -0
  114. package/dist/clientSideScripts/injectWebviewOverlay.d.ts.map +1 -0
  115. package/dist/clientSideScripts/injectWebviewOverlay.js +35 -0
  116. package/dist/clientSideScripts/injectWebviewOverlay.test.d.ts +2 -0
  117. package/dist/clientSideScripts/injectWebviewOverlay.test.d.ts.map +1 -0
  118. package/dist/clientSideScripts/injectWebviewOverlay.test.js +74 -0
  119. package/dist/clientSideScripts/removeElementFromDom.d.ts +5 -0
  120. package/dist/clientSideScripts/removeElementFromDom.d.ts.map +1 -0
  121. package/dist/clientSideScripts/removeElementFromDom.js +9 -0
  122. package/dist/clientSideScripts/removeElementFromDom.test.d.ts +2 -0
  123. package/dist/clientSideScripts/removeElementFromDom.test.d.ts.map +1 -0
  124. package/dist/clientSideScripts/removeElementFromDom.test.js +43 -0
  125. package/dist/clientSideScripts/screenDimensions.interfaces.d.ts +96 -0
  126. package/dist/clientSideScripts/screenDimensions.interfaces.d.ts.map +1 -0
  127. package/dist/clientSideScripts/screenDimensions.interfaces.js +1 -0
  128. package/dist/clientSideScripts/scrollElementIntoView.d.ts +5 -0
  129. package/dist/clientSideScripts/scrollElementIntoView.d.ts.map +1 -0
  130. package/dist/clientSideScripts/scrollElementIntoView.js +31 -0
  131. package/dist/clientSideScripts/scrollElementIntoView.test.d.ts +2 -0
  132. package/dist/clientSideScripts/scrollElementIntoView.test.d.ts.map +1 -0
  133. package/dist/clientSideScripts/scrollElementIntoView.test.js +79 -0
  134. package/dist/clientSideScripts/scrollToPosition.d.ts +5 -0
  135. package/dist/clientSideScripts/scrollToPosition.d.ts.map +1 -0
  136. package/dist/clientSideScripts/scrollToPosition.js +25 -0
  137. package/dist/clientSideScripts/scrollToPosition.test.d.ts +2 -0
  138. package/dist/clientSideScripts/scrollToPosition.test.d.ts.map +1 -0
  139. package/dist/clientSideScripts/scrollToPosition.test.js +72 -0
  140. package/dist/clientSideScripts/setCustomCss.d.ts +6 -0
  141. package/dist/clientSideScripts/setCustomCss.d.ts.map +1 -0
  142. package/dist/clientSideScripts/setCustomCss.js +36 -0
  143. package/dist/clientSideScripts/setCustomCss.test.d.ts +2 -0
  144. package/dist/clientSideScripts/setCustomCss.test.d.ts.map +1 -0
  145. package/dist/clientSideScripts/setCustomCss.test.js +68 -0
  146. package/dist/clientSideScripts/statusAddressToolBarOffsets.interfaces.d.ts +11 -0
  147. package/dist/clientSideScripts/statusAddressToolBarOffsets.interfaces.d.ts.map +1 -0
  148. package/dist/clientSideScripts/statusAddressToolBarOffsets.interfaces.js +1 -0
  149. package/dist/clientSideScripts/toggleTextTransparency.d.ts +5 -0
  150. package/dist/clientSideScripts/toggleTextTransparency.d.ts.map +1 -0
  151. package/dist/clientSideScripts/toggleTextTransparency.js +16 -0
  152. package/dist/clientSideScripts/toggleTextTransparency.test.d.ts +2 -0
  153. package/dist/clientSideScripts/toggleTextTransparency.test.d.ts.map +1 -0
  154. package/dist/clientSideScripts/toggleTextTransparency.test.js +35 -0
  155. package/dist/clientSideScripts/waitForFonts.d.ts +8 -0
  156. package/dist/clientSideScripts/waitForFonts.d.ts.map +1 -0
  157. package/dist/clientSideScripts/waitForFonts.js +20 -0
  158. package/dist/clientSideScripts/waitForFonts.test.d.ts +2 -0
  159. package/dist/clientSideScripts/waitForFonts.test.d.ts.map +1 -0
  160. package/dist/clientSideScripts/waitForFonts.test.js +37 -0
  161. package/dist/commands/check.interfaces.d.ts +35 -0
  162. package/dist/commands/check.interfaces.d.ts.map +1 -0
  163. package/dist/commands/check.interfaces.js +1 -0
  164. package/dist/commands/checkAppElement.d.ts +7 -0
  165. package/dist/commands/checkAppElement.d.ts.map +1 -0
  166. package/dist/commands/checkAppElement.js +44 -0
  167. package/dist/commands/checkAppElement.test.d.ts +2 -0
  168. package/dist/commands/checkAppElement.test.d.ts.map +1 -0
  169. package/dist/commands/checkAppElement.test.js +241 -0
  170. package/dist/commands/checkAppScreen.d.ts +7 -0
  171. package/dist/commands/checkAppScreen.d.ts.map +1 -0
  172. package/dist/commands/checkAppScreen.js +73 -0
  173. package/dist/commands/checkAppScreen.test.d.ts +2 -0
  174. package/dist/commands/checkAppScreen.test.d.ts.map +1 -0
  175. package/dist/commands/checkAppScreen.test.js +295 -0
  176. package/dist/commands/checkElement.d.ts +7 -0
  177. package/dist/commands/checkElement.d.ts.map +1 -0
  178. package/dist/commands/checkElement.js +10 -0
  179. package/dist/commands/checkElement.test.d.ts +2 -0
  180. package/dist/commands/checkElement.test.d.ts.map +1 -0
  181. package/dist/commands/checkElement.test.js +66 -0
  182. package/dist/commands/checkFullPageScreen.d.ts +7 -0
  183. package/dist/commands/checkFullPageScreen.d.ts.map +1 -0
  184. package/dist/commands/checkFullPageScreen.js +56 -0
  185. package/dist/commands/checkFullPageScreen.test.d.ts +2 -0
  186. package/dist/commands/checkFullPageScreen.test.d.ts.map +1 -0
  187. package/dist/commands/checkFullPageScreen.test.js +259 -0
  188. package/dist/commands/checkScreen.d.ts +7 -0
  189. package/dist/commands/checkScreen.d.ts.map +1 -0
  190. package/dist/commands/checkScreen.js +10 -0
  191. package/dist/commands/checkScreen.test.d.ts +2 -0
  192. package/dist/commands/checkScreen.test.d.ts.map +1 -0
  193. package/dist/commands/checkScreen.test.js +62 -0
  194. package/dist/commands/checkTabbablePage.d.ts +7 -0
  195. package/dist/commands/checkTabbablePage.d.ts.map +1 -0
  196. package/dist/commands/checkTabbablePage.js +28 -0
  197. package/dist/commands/checkTabbablePage.test.d.ts +2 -0
  198. package/dist/commands/checkTabbablePage.test.d.ts.map +1 -0
  199. package/dist/commands/checkTabbablePage.test.js +200 -0
  200. package/dist/commands/checkWebElement.d.ts +7 -0
  201. package/dist/commands/checkWebElement.d.ts.map +1 -0
  202. package/dist/commands/checkWebElement.js +52 -0
  203. package/dist/commands/checkWebElement.test.d.ts +2 -0
  204. package/dist/commands/checkWebElement.test.d.ts.map +1 -0
  205. package/dist/commands/checkWebElement.test.js +278 -0
  206. package/dist/commands/checkWebScreen.d.ts +7 -0
  207. package/dist/commands/checkWebScreen.d.ts.map +1 -0
  208. package/dist/commands/checkWebScreen.js +50 -0
  209. package/dist/commands/checkWebScreen.test.d.ts +2 -0
  210. package/dist/commands/checkWebScreen.test.d.ts.map +1 -0
  211. package/dist/commands/checkWebScreen.test.js +227 -0
  212. package/dist/commands/element.interfaces.d.ts +27 -0
  213. package/dist/commands/element.interfaces.d.ts.map +1 -0
  214. package/dist/commands/element.interfaces.js +1 -0
  215. package/dist/commands/fullPage.interfaces.d.ts +38 -0
  216. package/dist/commands/fullPage.interfaces.d.ts.map +1 -0
  217. package/dist/commands/fullPage.interfaces.js +1 -0
  218. package/dist/commands/save.interfaces.d.ts +27 -0
  219. package/dist/commands/save.interfaces.d.ts.map +1 -0
  220. package/dist/commands/save.interfaces.js +1 -0
  221. package/dist/commands/saveAppElement.d.ts +7 -0
  222. package/dist/commands/saveAppElement.d.ts.map +1 -0
  223. package/dist/commands/saveAppElement.js +30 -0
  224. package/dist/commands/saveAppElement.test.d.ts +2 -0
  225. package/dist/commands/saveAppElement.test.d.ts.map +1 -0
  226. package/dist/commands/saveAppElement.test.js +199 -0
  227. package/dist/commands/saveAppScreen.d.ts +7 -0
  228. package/dist/commands/saveAppScreen.d.ts.map +1 -0
  229. package/dist/commands/saveAppScreen.js +43 -0
  230. package/dist/commands/saveAppScreen.test.d.ts +2 -0
  231. package/dist/commands/saveAppScreen.test.d.ts.map +1 -0
  232. package/dist/commands/saveAppScreen.test.js +221 -0
  233. package/dist/commands/saveElement.d.ts +7 -0
  234. package/dist/commands/saveElement.d.ts.map +1 -0
  235. package/dist/commands/saveElement.js +10 -0
  236. package/dist/commands/saveElement.test.d.ts +2 -0
  237. package/dist/commands/saveElement.test.d.ts.map +1 -0
  238. package/dist/commands/saveElement.test.js +62 -0
  239. package/dist/commands/saveFullPageScreen.d.ts +7 -0
  240. package/dist/commands/saveFullPageScreen.d.ts.map +1 -0
  241. package/dist/commands/saveFullPageScreen.js +60 -0
  242. package/dist/commands/saveFullPageScreen.test.d.ts +2 -0
  243. package/dist/commands/saveFullPageScreen.test.d.ts.map +1 -0
  244. package/dist/commands/saveFullPageScreen.test.js +293 -0
  245. package/dist/commands/saveScreen.d.ts +7 -0
  246. package/dist/commands/saveScreen.d.ts.map +1 -0
  247. package/dist/commands/saveScreen.js +10 -0
  248. package/dist/commands/saveScreen.test.d.ts +2 -0
  249. package/dist/commands/saveScreen.test.d.ts.map +1 -0
  250. package/dist/commands/saveScreen.test.js +47 -0
  251. package/dist/commands/saveTabbablePage.d.ts +7 -0
  252. package/dist/commands/saveTabbablePage.d.ts.map +1 -0
  253. package/dist/commands/saveTabbablePage.js +20 -0
  254. package/dist/commands/saveTabbablePage.test.d.ts +2 -0
  255. package/dist/commands/saveTabbablePage.test.d.ts.map +1 -0
  256. package/dist/commands/saveTabbablePage.test.js +74 -0
  257. package/dist/commands/saveWebElement.d.ts +7 -0
  258. package/dist/commands/saveWebElement.d.ts.map +1 -0
  259. package/dist/commands/saveWebElement.js +53 -0
  260. package/dist/commands/saveWebElement.test.d.ts +2 -0
  261. package/dist/commands/saveWebElement.test.d.ts.map +1 -0
  262. package/dist/commands/saveWebElement.test.js +253 -0
  263. package/dist/commands/saveWebScreen.d.ts +7 -0
  264. package/dist/commands/saveWebScreen.d.ts.map +1 -0
  265. package/dist/commands/saveWebScreen.js +48 -0
  266. package/dist/commands/saveWebScreen.test.d.ts +2 -0
  267. package/dist/commands/saveWebScreen.test.d.ts.map +1 -0
  268. package/dist/commands/saveWebScreen.test.js +222 -0
  269. package/dist/commands/screen.interfaces.d.ts +16 -0
  270. package/dist/commands/screen.interfaces.d.ts.map +1 -0
  271. package/dist/commands/screen.interfaces.js +1 -0
  272. package/dist/commands/tabbable.interfaces.d.ts +29 -0
  273. package/dist/commands/tabbable.interfaces.d.ts.map +1 -0
  274. package/dist/commands/tabbable.interfaces.js +1 -0
  275. package/dist/helpers/afterScreenshot.d.ts +7 -0
  276. package/dist/helpers/afterScreenshot.d.ts.map +1 -0
  277. package/dist/helpers/afterScreenshot.interfaces.d.ts +46 -0
  278. package/dist/helpers/afterScreenshot.interfaces.d.ts.map +1 -0
  279. package/dist/helpers/afterScreenshot.interfaces.js +1 -0
  280. package/dist/helpers/afterScreenshot.js +55 -0
  281. package/dist/helpers/afterScreenshot.test.d.ts +2 -0
  282. package/dist/helpers/afterScreenshot.test.d.ts.map +1 -0
  283. package/dist/helpers/afterScreenshot.test.js +241 -0
  284. package/dist/helpers/beforeScreenshot.d.ts +6 -0
  285. package/dist/helpers/beforeScreenshot.d.ts.map +1 -0
  286. package/dist/helpers/beforeScreenshot.interfaces.d.ts +15 -0
  287. package/dist/helpers/beforeScreenshot.interfaces.d.ts.map +1 -0
  288. package/dist/helpers/beforeScreenshot.interfaces.js +1 -0
  289. package/dist/helpers/beforeScreenshot.js +79 -0
  290. package/dist/helpers/beforeScreenshot.test.d.ts +2 -0
  291. package/dist/helpers/beforeScreenshot.test.d.ts.map +1 -0
  292. package/dist/helpers/beforeScreenshot.test.js +261 -0
  293. package/dist/helpers/compare.interfaces.d.ts +16 -0
  294. package/dist/helpers/compare.interfaces.d.ts.map +1 -0
  295. package/dist/helpers/compare.interfaces.js +1 -0
  296. package/dist/helpers/constants.d.ts +108 -0
  297. package/dist/helpers/constants.d.ts.map +1 -0
  298. package/dist/helpers/constants.interfaces.d.ts +30 -0
  299. package/dist/helpers/constants.interfaces.d.ts.map +1 -0
  300. package/dist/helpers/constants.interfaces.js +11 -0
  301. package/dist/helpers/constants.js +436 -0
  302. package/dist/helpers/options.d.ts +64 -0
  303. package/dist/helpers/options.d.ts.map +1 -0
  304. package/dist/helpers/options.interfaces.d.ts +363 -0
  305. package/dist/helpers/options.interfaces.d.ts.map +1 -0
  306. package/dist/helpers/options.interfaces.js +1 -0
  307. package/dist/helpers/options.js +184 -0
  308. package/dist/helpers/options.test.d.ts +2 -0
  309. package/dist/helpers/options.test.d.ts.map +1 -0
  310. package/dist/helpers/options.test.js +428 -0
  311. package/dist/helpers/utils.d.ts +134 -0
  312. package/dist/helpers/utils.d.ts.map +1 -0
  313. package/dist/helpers/utils.interfaces.d.ts +254 -0
  314. package/dist/helpers/utils.interfaces.d.ts.map +1 -0
  315. package/dist/helpers/utils.interfaces.js +1 -0
  316. package/dist/helpers/utils.js +566 -0
  317. package/dist/helpers/utils.test.d.ts +2 -0
  318. package/dist/helpers/utils.test.d.ts.map +1 -0
  319. package/dist/helpers/utils.test.js +900 -0
  320. package/dist/index.d.ts +26 -0
  321. package/dist/index.d.ts.map +1 -0
  322. package/dist/index.js +18 -0
  323. package/dist/methods/compareReport.interfaces.d.ts +109 -0
  324. package/dist/methods/compareReport.interfaces.d.ts.map +1 -0
  325. package/dist/methods/compareReport.interfaces.js +1 -0
  326. package/dist/methods/createCompareReport.d.ts +7 -0
  327. package/dist/methods/createCompareReport.d.ts.map +1 -0
  328. package/dist/methods/createCompareReport.js +61 -0
  329. package/dist/methods/createCompareReport.test.d.ts +2 -0
  330. package/dist/methods/createCompareReport.test.d.ts.map +1 -0
  331. package/dist/methods/createCompareReport.test.js +236 -0
  332. package/dist/methods/elementPosition.d.ts +18 -0
  333. package/dist/methods/elementPosition.d.ts.map +1 -0
  334. package/dist/methods/elementPosition.interfaces.d.ts +14 -0
  335. package/dist/methods/elementPosition.interfaces.d.ts.map +1 -0
  336. package/dist/methods/elementPosition.interfaces.js +1 -0
  337. package/dist/methods/elementPosition.js +34 -0
  338. package/dist/methods/images.d.ts +69 -0
  339. package/dist/methods/images.d.ts.map +1 -0
  340. package/dist/methods/images.executeImageCompare.test.d.ts +2 -0
  341. package/dist/methods/images.executeImageCompare.test.d.ts.map +1 -0
  342. package/dist/methods/images.executeImageCompare.test.js +770 -0
  343. package/dist/methods/images.interfaces.d.ts +214 -0
  344. package/dist/methods/images.interfaces.d.ts.map +1 -0
  345. package/dist/methods/images.interfaces.js +1 -0
  346. package/dist/methods/images.js +428 -0
  347. package/dist/methods/images.test.d.ts +2 -0
  348. package/dist/methods/images.test.d.ts.map +1 -0
  349. package/dist/methods/images.test.js +1465 -0
  350. package/dist/methods/instanceData.d.ts +6 -0
  351. package/dist/methods/instanceData.d.ts.map +1 -0
  352. package/dist/methods/instanceData.interfaces.d.ts +57 -0
  353. package/dist/methods/instanceData.interfaces.d.ts.map +1 -0
  354. package/dist/methods/instanceData.interfaces.js +1 -0
  355. package/dist/methods/instanceData.js +42 -0
  356. package/dist/methods/instanceData.test.d.ts +2 -0
  357. package/dist/methods/instanceData.test.d.ts.map +1 -0
  358. package/dist/methods/instanceData.test.js +224 -0
  359. package/dist/methods/processDiffPixels.d.ts +59 -0
  360. package/dist/methods/processDiffPixels.d.ts.map +1 -0
  361. package/dist/methods/processDiffPixels.js +242 -0
  362. package/dist/methods/processDiffPixels.test.d.ts +2 -0
  363. package/dist/methods/processDiffPixels.test.d.ts.map +1 -0
  364. package/dist/methods/processDiffPixels.test.js +122 -0
  365. package/dist/methods/rectangles.d.ts +51 -0
  366. package/dist/methods/rectangles.d.ts.map +1 -0
  367. package/dist/methods/rectangles.interfaces.d.ts +146 -0
  368. package/dist/methods/rectangles.interfaces.d.ts.map +1 -0
  369. package/dist/methods/rectangles.interfaces.js +1 -0
  370. package/dist/methods/rectangles.js +266 -0
  371. package/dist/methods/rectangles.test.d.ts +2 -0
  372. package/dist/methods/rectangles.test.d.ts.map +1 -0
  373. package/dist/methods/rectangles.test.js +853 -0
  374. package/dist/methods/screenshots.d.ts +37 -0
  375. package/dist/methods/screenshots.d.ts.map +1 -0
  376. package/dist/methods/screenshots.interfaces.d.ts +203 -0
  377. package/dist/methods/screenshots.interfaces.d.ts.map +1 -0
  378. package/dist/methods/screenshots.interfaces.js +1 -0
  379. package/dist/methods/screenshots.js +394 -0
  380. package/dist/methods/screenshots.test.d.ts +2 -0
  381. package/dist/methods/screenshots.test.d.ts.map +1 -0
  382. package/dist/methods/screenshots.test.js +656 -0
  383. package/dist/methods/takeElementScreenshots.d.ts +3 -0
  384. package/dist/methods/takeElementScreenshots.d.ts.map +1 -0
  385. package/dist/methods/takeElementScreenshots.js +104 -0
  386. package/dist/methods/takeElementScreenshots.test.d.ts +2 -0
  387. package/dist/methods/takeElementScreenshots.test.d.ts.map +1 -0
  388. package/dist/methods/takeElementScreenshots.test.js +314 -0
  389. package/dist/methods/takeFullPageScreenshots.d.ts +3 -0
  390. package/dist/methods/takeFullPageScreenshots.d.ts.map +1 -0
  391. package/dist/methods/takeFullPageScreenshots.js +56 -0
  392. package/dist/methods/takeFullPageScreenshots.test.d.ts +2 -0
  393. package/dist/methods/takeFullPageScreenshots.test.d.ts.map +1 -0
  394. package/dist/methods/takeFullPageScreenshots.test.js +72 -0
  395. package/dist/methods/takeWebScreenshots.d.ts +3 -0
  396. package/dist/methods/takeWebScreenshots.d.ts.map +1 -0
  397. package/dist/methods/takeWebScreenshots.js +41 -0
  398. package/dist/methods/takeWebScreenshots.test.d.ts +2 -0
  399. package/dist/methods/takeWebScreenshots.test.d.ts.map +1 -0
  400. package/dist/methods/takeWebScreenshots.test.js +149 -0
  401. package/dist/mocks/image.d.ts +4 -0
  402. package/dist/mocks/image.d.ts.map +1 -0
  403. package/dist/mocks/image.js +3 -0
  404. package/dist/mocks/mocks.d.ts +745 -0
  405. package/dist/mocks/mocks.d.ts.map +1 -0
  406. package/dist/mocks/mocks.js +392 -0
  407. package/dist/resemble/compare.interfaces.d.ts +136 -0
  408. package/dist/resemble/compare.interfaces.d.ts.map +1 -0
  409. package/dist/resemble/compare.interfaces.js +1 -0
  410. package/dist/resemble/compareImages.d.ts +3 -0
  411. package/dist/resemble/compareImages.d.ts.map +1 -0
  412. package/dist/resemble/compareImages.js +21 -0
  413. package/dist/resemble/resemble.jimp.cjs +981 -0
  414. package/dist/resemble/resemble.jimp.d.cts +46 -0
  415. package/dist/resemble/resemble.jimp.d.cts.map +1 -0
  416. package/package.json +47 -0
@@ -0,0 +1,26 @@
1
+ import BaseClass from './base.js';
2
+ import saveScreen from './commands/saveScreen.js';
3
+ import saveElement from './commands/saveElement.js';
4
+ import saveFullPageScreen from './commands/saveFullPageScreen.js';
5
+ import saveTabbablePage from './commands/saveTabbablePage.js';
6
+ import checkScreen from './commands/checkScreen.js';
7
+ import checkElement from './commands/checkElement.js';
8
+ import checkFullPageScreen from './commands/checkFullPageScreen.js';
9
+ import checkTabbablePage from './commands/checkTabbablePage.js';
10
+ import { ClassOptions } from './helpers/options.interfaces.js';
11
+ import { ImageCompareResult } from './methods/images.interfaces.js';
12
+ import { DEFAULT_TEST_CONTEXT, DEVICE_RECTANGLES, IOS_OFFSETS, FOLDERS, NOT_KNOWN } from './helpers/constants.js';
13
+ import { getMobileScreenSize, getMobileViewPortPosition } from './helpers/utils.js';
14
+ import { InternalCheckElementMethodOptions, InternalCheckFullPageMethodOptions, InternalCheckScreenMethodOptions, InternalCheckTabbablePageMethodOptions } from './commands/check.interfaces.js';
15
+ import { InternalSaveElementMethodOptions, InternalSaveFullPageMethodOptions, InternalSaveScreenMethodOptions, InternalSaveTabbablePageMethodOptions } from './commands/save.interfaces.js';
16
+ export type { ScreenshotOutput } from './helpers/afterScreenshot.interfaces.js';
17
+ export type { CheckScreenMethodOptions, SaveScreenMethodOptions, } from './commands/screen.interfaces.js';
18
+ export type { WicElement, CheckElementMethodOptions, SaveElementMethodOptions, } from './commands/element.interfaces.js';
19
+ export type { CheckFullPageMethodOptions, SaveFullPageMethodOptions, } from './commands/fullPage.interfaces.js';
20
+ export type { TestContext } from './methods/compareReport.interfaces.js';
21
+ export type { Folders } from './base.interfaces.js';
22
+ export type { InstanceData } from './methods/instanceData.interfaces.js';
23
+ export type { DeviceRectangles } from './methods/rectangles.interfaces.js';
24
+ export type { ResultReport } from './methods/compareReport.interfaces.js';
25
+ export { DEFAULT_TEST_CONTEXT, DEVICE_RECTANGLES, IOS_OFFSETS, FOLDERS, NOT_KNOWN, BaseClass, saveScreen, saveElement, saveFullPageScreen, saveTabbablePage, checkScreen, checkElement, checkFullPageScreen, checkTabbablePage, getMobileScreenSize, getMobileViewPortPosition, InternalSaveScreenMethodOptions, InternalSaveElementMethodOptions, InternalSaveFullPageMethodOptions, InternalSaveTabbablePageMethodOptions, InternalCheckScreenMethodOptions, InternalCheckElementMethodOptions, InternalCheckFullPageMethodOptions, InternalCheckTabbablePageMethodOptions, ImageCompareResult, ClassOptions, };
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,WAAW,MAAM,2BAA2B,CAAA;AACnD,OAAO,kBAAkB,MAAM,kCAAkC,CAAA;AACjE,OAAO,gBAAgB,MAAM,gCAAgC,CAAA;AAC7D,OAAO,WAAW,MAAM,2BAA2B,CAAA;AACnD,OAAO,YAAY,MAAM,4BAA4B,CAAA;AACrD,OAAO,mBAAmB,MAAM,mCAAmC,CAAA;AACnE,OAAO,iBAAiB,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACjH,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AACnF,OAAO,EAAE,iCAAiC,EAAE,kCAAkC,EAAE,gCAAgC,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAA;AAChM,OAAO,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,qCAAqC,EAAE,MAAM,+BAA+B,CAAA;AAE3L,YAAY,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,YAAY,EACR,wBAAwB,EACxB,uBAAuB,GAC1B,MAAM,iCAAiC,CAAA;AACxC,YAAY,EACR,UAAU,EACV,yBAAyB,EACzB,wBAAwB,GAC3B,MAAM,kCAAkC,CAAA;AACzC,YAAY,EACR,0BAA0B,EAC1B,yBAAyB,GAC5B,MAAM,mCAAmC,CAAA;AAC1C,YAAY,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AACxE,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACxE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,YAAY,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAEH,oBAAoB,EACpB,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,SAAS,EAET,SAAS,EAET,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EAEzB,+BAA+B,EAC/B,gCAAgC,EAChC,iCAAiC,EACjC,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EACjC,kCAAkC,EAClC,sCAAsC,EACtC,kBAAkB,EAClB,YAAY,GACf,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ import BaseClass from './base.js';
2
+ import saveScreen from './commands/saveScreen.js';
3
+ import saveElement from './commands/saveElement.js';
4
+ import saveFullPageScreen from './commands/saveFullPageScreen.js';
5
+ import saveTabbablePage from './commands/saveTabbablePage.js';
6
+ import checkScreen from './commands/checkScreen.js';
7
+ import checkElement from './commands/checkElement.js';
8
+ import checkFullPageScreen from './commands/checkFullPageScreen.js';
9
+ import checkTabbablePage from './commands/checkTabbablePage.js';
10
+ import { DEFAULT_TEST_CONTEXT, DEVICE_RECTANGLES, IOS_OFFSETS, FOLDERS, NOT_KNOWN } from './helpers/constants.js';
11
+ import { getMobileScreenSize, getMobileViewPortPosition } from './helpers/utils.js';
12
+ export {
13
+ // Constants
14
+ DEFAULT_TEST_CONTEXT, DEVICE_RECTANGLES, IOS_OFFSETS, FOLDERS, NOT_KNOWN,
15
+ // Base class
16
+ BaseClass,
17
+ // Commands
18
+ saveScreen, saveElement, saveFullPageScreen, saveTabbablePage, checkScreen, checkElement, checkFullPageScreen, checkTabbablePage, getMobileScreenSize, getMobileViewPortPosition, };
@@ -0,0 +1,109 @@
1
+ import type { CompareData } from 'src/resemble/compare.interfaces.js';
2
+ import type { WicImageCompareOptions } from './images.interfaces.js';
3
+ import type { BoundingBoxes, ReportFileSizes } from './rectangles.interfaces.js';
4
+ import type { FilePaths, FolderPaths } from 'src/base.interfaces.js';
5
+ export type TestContext = {
6
+ /** The name of the command being executed */
7
+ commandName: string;
8
+ /** The testing framework being used */
9
+ framework: string;
10
+ /** The parent test suite or describe block */
11
+ parent: string;
12
+ /** The tag associated with the test */
13
+ tag: string;
14
+ /** The title of the test */
15
+ title: string;
16
+ instanceData: {
17
+ browser: {
18
+ /** The name of the browser */
19
+ name: string;
20
+ /** The version of the browser */
21
+ version: string;
22
+ };
23
+ /** The name of the device */
24
+ deviceName: string;
25
+ platform: {
26
+ /** The name of the platform */
27
+ name: string;
28
+ /** The version of the platform */
29
+ version: string;
30
+ };
31
+ /** The application identifier */
32
+ app: string;
33
+ /** Whether the device is mobile */
34
+ isMobile: boolean;
35
+ /** Whether the device is Android */
36
+ isAndroid: boolean;
37
+ /** Whether the device is iOS */
38
+ isIOS: boolean;
39
+ };
40
+ };
41
+ export type BaseCreateCompareReportOptions = {
42
+ /** Bounding boxes for diff and ignored areas */
43
+ boundingBoxes: BoundingBoxes;
44
+ /** Comparison data from the image comparison process */
45
+ data: CompareData;
46
+ /** Name of the file being compared */
47
+ fileName: string;
48
+ /** Test execution context and metadata */
49
+ testContext: TestContext;
50
+ };
51
+ export type CreateCompareReportOptions = BaseCreateCompareReportOptions & {
52
+ /** Folder paths for actual, baseline, and diff images */
53
+ folders: FolderPaths;
54
+ /** Size information for actual, baseline, and diff images */
55
+ size: ReportFileSizes;
56
+ };
57
+ export type CreateJsonReportIfNeededOptions = BaseCreateCompareReportOptions & {
58
+ /** Complete file paths for all comparison images */
59
+ filePaths: FolderPaths & FilePaths;
60
+ /** Device pixel ratio for the comparison */
61
+ devicePixelRatio: number;
62
+ /** Image comparison configuration options */
63
+ imageCompareOptions: WicImageCompareOptions;
64
+ /** Whether to store diff images */
65
+ storeDiffs: boolean;
66
+ };
67
+ export type ResultReport = {
68
+ /** Test description or suite name */
69
+ description: string;
70
+ /** Test title or name */
71
+ test: string;
72
+ /** Test tag identifier */
73
+ tag: string;
74
+ /** Test instance information (browser, device, platform) */
75
+ instanceData: {
76
+ /** Application identifier */
77
+ app?: string;
78
+ /** Browser name and version */
79
+ browser?: {
80
+ name: string;
81
+ version: string;
82
+ };
83
+ /** Device name */
84
+ deviceName?: string;
85
+ /** Platform name and version */
86
+ platform: {
87
+ name: string;
88
+ version: string;
89
+ };
90
+ };
91
+ /** Command that was executed */
92
+ commandName: string;
93
+ /** Testing framework being used */
94
+ framework: string;
95
+ /** Bounding boxes for diff and ignored areas */
96
+ boundingBoxes: BoundingBoxes;
97
+ /** File data including paths and sizes */
98
+ fileData: FilePaths & {
99
+ /** Name of the file */
100
+ fileName: string;
101
+ /** Size information for images */
102
+ size: ReportFileSizes;
103
+ };
104
+ /** Mismatch percentage as formatted string */
105
+ misMatchPercentage: string;
106
+ /** Raw mismatch percentage as number */
107
+ rawMisMatchPercentage: number;
108
+ };
109
+ //# sourceMappingURL=compareReport.interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareReport.interfaces.d.ts","sourceRoot":"","sources":["../../src/methods/compareReport.interfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { CreateCompareReportOptions, CreateJsonReportIfNeededOptions } from './compareReport.interfaces.js';
2
+ export declare function createCompareReport({ boundingBoxes, data, fileName, folders, size, testContext: { commandName, instanceData: { app, browser, deviceName, isIOS, isMobile, platform, }, framework, parent, tag, title }, }: CreateCompareReportOptions): void;
3
+ /**
4
+ * Create JSON report if requested
5
+ */
6
+ export declare function createJsonReportIfNeeded({ boundingBoxes, data, fileName, filePaths, devicePixelRatio, imageCompareOptions, testContext, storeDiffs, }: CreateJsonReportIfNeededOptions): Promise<void>;
7
+ //# sourceMappingURL=createCompareReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCompareReport.d.ts","sourceRoot":"","sources":["../../src/methods/createCompareReport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,0BAA0B,EAAE,+BAA+B,EAAgB,MAAM,+BAA+B,CAAA;AAG9H,wBAAgB,mBAAmB,CAAC,EAChC,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EAAE,EACT,WAAW,EACX,YAAY,EAAE,EACV,GAAG,EACH,OAAO,EACP,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,GACX,EACD,SAAS,EACT,MAAM,EACN,GAAG,EACH,KAAK,EACR,GACJ,EAAE,0BAA0B,QAmC5B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,EAC3C,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,UAAU,GACb,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBjD"}
@@ -0,0 +1,61 @@
1
+ import { resolve as pathResolve } from 'node:path';
2
+ import { writeFileSync, readFileSync } from 'node:fs';
3
+ import { getBase64ScreenshotSize } from '../helpers/utils.js';
4
+ export function createCompareReport({ boundingBoxes, data, fileName, folders, size, testContext: { commandName, instanceData: { app, browser, deviceName, isIOS, isMobile, platform, }, framework, parent, tag, title }, }) {
5
+ const { misMatchPercentage, rawMisMatchPercentage } = data;
6
+ const jsonFileName = fileName.split('.').slice(0, -1).join('.');
7
+ const jsonFilePath = pathResolve(folders.actualFolderPath, `${jsonFileName}-report.json`);
8
+ const browserContext = {
9
+ browser,
10
+ platform,
11
+ };
12
+ const mobileContext = {
13
+ ...(app !== 'not-known'
14
+ ? { app }
15
+ : { browser: { name: browser.name, version: isIOS ? platform.version : browser.version } }),
16
+ deviceName,
17
+ platform,
18
+ };
19
+ const jsonData = {
20
+ description: parent,
21
+ test: title,
22
+ tag,
23
+ instanceData: isMobile ? mobileContext : browserContext,
24
+ commandName,
25
+ framework,
26
+ boundingBoxes,
27
+ fileData: {
28
+ actualFilePath: pathResolve(folders.actualFolderPath, fileName),
29
+ baselineFilePath: pathResolve(folders.baselineFolderPath, fileName),
30
+ diffFilePath: pathResolve(folders.diffFolderPath, fileName),
31
+ fileName,
32
+ size,
33
+ },
34
+ misMatchPercentage: misMatchPercentage.toString(),
35
+ rawMisMatchPercentage,
36
+ };
37
+ writeFileSync(jsonFilePath, JSON.stringify(jsonData), 'utf8');
38
+ }
39
+ /**
40
+ * Create JSON report if requested
41
+ */
42
+ export async function createJsonReportIfNeeded({ boundingBoxes, data, fileName, filePaths, devicePixelRatio, imageCompareOptions, testContext, storeDiffs, }) {
43
+ if (imageCompareOptions.createJsonReportFiles) {
44
+ createCompareReport({
45
+ boundingBoxes,
46
+ data,
47
+ fileName,
48
+ folders: {
49
+ actualFolderPath: filePaths.actualFolderPath,
50
+ baselineFolderPath: filePaths.baselineFolderPath,
51
+ diffFolderPath: filePaths.diffFolderPath,
52
+ },
53
+ size: {
54
+ actual: getBase64ScreenshotSize(readFileSync(filePaths.actualFilePath).toString('base64'), devicePixelRatio),
55
+ baseline: getBase64ScreenshotSize(readFileSync(filePaths.baselineFilePath).toString('base64'), devicePixelRatio),
56
+ ...(storeDiffs && filePaths.diffFilePath && { diff: getBase64ScreenshotSize(readFileSync(filePaths.diffFilePath).toString('base64'), devicePixelRatio) }),
57
+ },
58
+ testContext,
59
+ });
60
+ }
61
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createCompareReport.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCompareReport.test.d.ts","sourceRoot":"","sources":["../../src/methods/createCompareReport.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,236 @@
1
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
2
+ import { writeFileSync, readFileSync } from 'node:fs';
3
+ import { createCompareReport, createJsonReportIfNeeded } from './createCompareReport.js';
4
+ import { getBase64ScreenshotSize } from '../helpers/utils.js';
5
+ vi.mock('node:fs', () => ({
6
+ writeFileSync: vi.fn(),
7
+ readFileSync: vi.fn(),
8
+ }));
9
+ vi.mock('../helpers/utils.js', () => ({
10
+ getBase64ScreenshotSize: vi.fn(),
11
+ }));
12
+ describe('createCompareReport', () => {
13
+ const createMockData = (misMatchPercentage = 0) => ({
14
+ misMatchPercentage,
15
+ rawMisMatchPercentage: misMatchPercentage,
16
+ getBuffer: () => Buffer.from(''),
17
+ diffBounds: { top: 0, left: 0, bottom: 0, right: 0 },
18
+ analysisTime: 0,
19
+ diffPixels: [],
20
+ });
21
+ const createMockFolders = () => ({
22
+ actualFolderPath: '/actual',
23
+ baselineFolderPath: '/baseline',
24
+ diffFolderPath: '/diff',
25
+ });
26
+ const createMockSize = () => ({
27
+ actual: { width: 100, height: 100 },
28
+ baseline: { width: 100, height: 100 },
29
+ diff: { width: 100, height: 100 },
30
+ });
31
+ const createMockBoundingBoxes = () => ({
32
+ diffBoundingBoxes: [],
33
+ ignoredBoxes: [],
34
+ });
35
+ const createTestContext = (options = {}) => ({
36
+ commandName: 'test-command',
37
+ instanceData: {
38
+ app: options.app ?? 'not-known',
39
+ browser: options.browser ?? { name: 'chrome', version: '100' },
40
+ deviceName: options.deviceName ?? 'desktop',
41
+ isIOS: options.isIOS ?? false,
42
+ isAndroid: options.isAndroid ?? false,
43
+ isMobile: options.isMobile ?? false,
44
+ platform: options.platform ?? { name: 'windows', version: '10' },
45
+ },
46
+ framework: 'wdio',
47
+ parent: 'test parent',
48
+ tag: 'test-tag',
49
+ title: 'test title',
50
+ });
51
+ beforeEach(() => {
52
+ vi.clearAllMocks();
53
+ });
54
+ it('should create a report for desktop browser', () => {
55
+ createCompareReport({
56
+ boundingBoxes: createMockBoundingBoxes(),
57
+ data: createMockData(),
58
+ fileName: 'test.png',
59
+ folders: createMockFolders(),
60
+ size: createMockSize(),
61
+ testContext: createTestContext(),
62
+ });
63
+ const writtenData = JSON.parse(writeFileSync.mock.calls[0][1]);
64
+ expect(writtenData).toMatchSnapshot();
65
+ });
66
+ it('should create a report for mobile browser', () => {
67
+ createCompareReport({
68
+ boundingBoxes: createMockBoundingBoxes(),
69
+ data: createMockData(),
70
+ fileName: 'test.png',
71
+ folders: createMockFolders(),
72
+ size: createMockSize(),
73
+ testContext: createTestContext({
74
+ browser: { name: 'safari', version: '15' },
75
+ deviceName: 'iPhone 12',
76
+ isIOS: true,
77
+ isMobile: true,
78
+ platform: { name: 'ios', version: '15' },
79
+ }),
80
+ });
81
+ const writtenData = JSON.parse(writeFileSync.mock.calls[0][1]);
82
+ expect(writtenData).toMatchSnapshot();
83
+ });
84
+ it('should create a report for mobile app', () => {
85
+ createCompareReport({
86
+ boundingBoxes: createMockBoundingBoxes(),
87
+ data: createMockData(),
88
+ fileName: 'test.png',
89
+ folders: createMockFolders(),
90
+ size: createMockSize(),
91
+ testContext: createTestContext({
92
+ app: 'my-app',
93
+ deviceName: 'Pixel 6',
94
+ isAndroid: true,
95
+ isMobile: true,
96
+ platform: { name: 'android', version: '12' },
97
+ }),
98
+ });
99
+ const writtenData = JSON.parse(writeFileSync.mock.calls[0][1]);
100
+ expect(writtenData).toMatchSnapshot();
101
+ });
102
+ it('should include misMatchPercentage in the report', () => {
103
+ createCompareReport({
104
+ boundingBoxes: createMockBoundingBoxes(),
105
+ data: createMockData(5.5),
106
+ fileName: 'test.png',
107
+ folders: createMockFolders(),
108
+ size: createMockSize(),
109
+ testContext: createTestContext(),
110
+ });
111
+ const writtenData = JSON.parse(writeFileSync.mock.calls[0][1]);
112
+ expect(writtenData).toMatchSnapshot();
113
+ });
114
+ });
115
+ describe('createJsonReportIfNeeded', () => {
116
+ const createMockData = (misMatchPercentage = 0) => ({
117
+ misMatchPercentage,
118
+ rawMisMatchPercentage: misMatchPercentage,
119
+ getBuffer: () => Buffer.from(''),
120
+ diffBounds: { top: 0, left: 0, bottom: 0, right: 0 },
121
+ analysisTime: 0,
122
+ diffPixels: [],
123
+ });
124
+ const createMockBoundingBoxes = () => ({
125
+ diffBoundingBoxes: [],
126
+ ignoredBoxes: [],
127
+ });
128
+ const createTestContext = (options = {}) => ({
129
+ commandName: 'test-command',
130
+ instanceData: {
131
+ app: options.app ?? 'not-known',
132
+ browser: options.browser ?? { name: 'chrome', version: '100' },
133
+ deviceName: options.deviceName ?? 'desktop',
134
+ isIOS: options.isIOS ?? false,
135
+ isAndroid: options.isAndroid ?? false,
136
+ isMobile: options.isMobile ?? false,
137
+ platform: options.platform ?? { name: 'windows', version: '10' },
138
+ },
139
+ framework: 'wdio',
140
+ parent: 'test parent',
141
+ tag: 'test-tag',
142
+ title: 'test title',
143
+ });
144
+ const createMockFilePaths = () => ({
145
+ actualFolderPath: '/actual',
146
+ baselineFolderPath: '/baseline',
147
+ diffFolderPath: '/diff',
148
+ actualFilePath: '/actual/test.png',
149
+ baselineFilePath: '/baseline/test.png',
150
+ diffFilePath: '/diff/test.png',
151
+ });
152
+ const createMockImageCompareOptions = (createJsonReportFiles = false) => ({
153
+ createJsonReportFiles,
154
+ returnEarlyOnMismatch: false,
155
+ scaleToSameSize: false,
156
+ globalCompareOptions: {},
157
+ localCompareOptions: {},
158
+ diffPixelBoundingBoxProximity: 0,
159
+ output: {
160
+ actualScreenshotRelatedPath: '',
161
+ baselineScreenshotRelatedPath: '',
162
+ diffScreenshotRelatedPath: '',
163
+ screenshotFolderOptions: {
164
+ baselineImagesFolderName: '',
165
+ actualImagesFolderName: '',
166
+ diffImagesFolderName: '',
167
+ },
168
+ },
169
+ });
170
+ const createMockBase64Data = () => 'base64-image-data';
171
+ beforeEach(() => {
172
+ vi.clearAllMocks();
173
+ vi.mocked(readFileSync).mockReturnValue(Buffer.from(createMockBase64Data()));
174
+ vi.mocked(getBase64ScreenshotSize).mockReturnValue({ width: 100, height: 100 });
175
+ });
176
+ it('should not create report when createJsonReportFiles is false', async () => {
177
+ await createJsonReportIfNeeded({
178
+ boundingBoxes: createMockBoundingBoxes(),
179
+ data: createMockData(),
180
+ fileName: 'test.png',
181
+ filePaths: createMockFilePaths(),
182
+ devicePixelRatio: 1,
183
+ imageCompareOptions: createMockImageCompareOptions(false),
184
+ testContext: createTestContext(),
185
+ storeDiffs: true,
186
+ });
187
+ expect(vi.mocked(readFileSync).mock.calls).toMatchSnapshot();
188
+ expect(vi.mocked(getBase64ScreenshotSize).mock.calls).toMatchSnapshot();
189
+ });
190
+ it('should create report when createJsonReportFiles is true without diff', async () => {
191
+ await createJsonReportIfNeeded({
192
+ boundingBoxes: createMockBoundingBoxes(),
193
+ data: createMockData(),
194
+ fileName: 'test.png',
195
+ filePaths: createMockFilePaths(),
196
+ devicePixelRatio: 2,
197
+ imageCompareOptions: createMockImageCompareOptions(true),
198
+ testContext: createTestContext(),
199
+ storeDiffs: false,
200
+ });
201
+ expect(vi.mocked(readFileSync).mock.calls).toMatchSnapshot();
202
+ expect(vi.mocked(getBase64ScreenshotSize).mock.calls).toMatchSnapshot();
203
+ });
204
+ it('should create report when createJsonReportFiles is true with diff', async () => {
205
+ await createJsonReportIfNeeded({
206
+ boundingBoxes: createMockBoundingBoxes(),
207
+ data: createMockData(),
208
+ fileName: 'test.png',
209
+ filePaths: createMockFilePaths(),
210
+ devicePixelRatio: 1,
211
+ imageCompareOptions: createMockImageCompareOptions(true),
212
+ testContext: createTestContext(),
213
+ storeDiffs: true,
214
+ });
215
+ expect(vi.mocked(readFileSync).mock.calls).toMatchSnapshot();
216
+ expect(vi.mocked(getBase64ScreenshotSize).mock.calls).toMatchSnapshot();
217
+ });
218
+ it('should create report without diff when diffFilePath is undefined', async () => {
219
+ const filePathsWithoutDiff = {
220
+ ...createMockFilePaths(),
221
+ diffFilePath: undefined,
222
+ };
223
+ await createJsonReportIfNeeded({
224
+ boundingBoxes: createMockBoundingBoxes(),
225
+ data: createMockData(),
226
+ fileName: 'test.png',
227
+ filePaths: filePathsWithoutDiff,
228
+ devicePixelRatio: 1,
229
+ imageCompareOptions: createMockImageCompareOptions(true),
230
+ testContext: createTestContext(),
231
+ storeDiffs: true,
232
+ });
233
+ expect(vi.mocked(readFileSync).mock.calls).toMatchSnapshot();
234
+ expect(vi.mocked(getBase64ScreenshotSize).mock.calls).toMatchSnapshot();
235
+ });
236
+ });
@@ -0,0 +1,18 @@
1
+ import type { ElementPosition } from '../clientSideScripts/elementPosition.interfaces.js';
2
+ import type { DeviceRectangles } from './rectangles.interfaces.js';
3
+ import type { GetElementPositionAndroidOptions, GetElementPositionDesktopOptions } from './elementPosition.interfaces.js';
4
+ /**
5
+ * Get the element position on a Android device
6
+ */
7
+ export declare function getElementPositionAndroid(browserInstance: WebdriverIO.Browser, element: HTMLElement, { deviceRectangles, isAndroidNativeWebScreenshot }: GetElementPositionAndroidOptions): Promise<ElementPosition>;
8
+ /**
9
+ * Get the element position on a desktop browser
10
+ */
11
+ export declare function getElementPositionDesktop(browserInstance: WebdriverIO.Browser, element: HTMLElement, { innerHeight, screenshotHeight }: GetElementPositionDesktopOptions): Promise<ElementPosition>;
12
+ /**
13
+ * Get the element position calculated from the webview
14
+ */
15
+ export declare function getElementWebviewPosition(browserInstance: WebdriverIO.Browser, element: HTMLElement, { deviceRectangles: { viewport: { x, y } } }: {
16
+ deviceRectangles: DeviceRectangles;
17
+ }): Promise<ElementPosition>;
18
+ //# sourceMappingURL=elementPosition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementPosition.d.ts","sourceRoot":"","sources":["../../src/methods/elementPosition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAA;AAEzF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAA;AAEzH;;GAEG;AACH,wBAAsB,yBAAyB,CAC3C,eAAe,EAAE,WAAW,CAAC,OAAO,EACpC,OAAO,EAAE,WAAW,EACpB,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,EAAE,gCAAgC,GACrF,OAAO,CAAC,eAAe,CAAC,CAQ1B;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC3C,eAAe,EAAE,WAAW,CAAC,OAAO,EACpC,OAAO,EAAE,WAAW,EACpB,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,gCAAgC,GACpE,OAAO,CAAC,eAAe,CAAC,CAM1B;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC3C,eAAe,EAAE,WAAW,CAAC,OAAO,EACpC,OAAO,EAAE,WAAW,EACpB,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,gBAAgB,EAAE,gBAAgB,CAAA;CAAE,GACpF,OAAO,CAAC,eAAe,CAAC,CAS1B"}
@@ -0,0 +1,14 @@
1
+ import type { DeviceRectangles } from './rectangles.interfaces.js';
2
+ export interface GetElementPositionDesktopOptions {
3
+ /** The inner height of the screen */
4
+ innerHeight: number;
5
+ /** The screenshot height */
6
+ screenshotHeight: number;
7
+ }
8
+ export interface GetElementPositionAndroidOptions {
9
+ /** The device rectangles */
10
+ deviceRectangles: DeviceRectangles;
11
+ /** Is the device Android */
12
+ isAndroidNativeWebScreenshot: boolean;
13
+ }
14
+ //# sourceMappingURL=elementPosition.interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementPosition.interfaces.d.ts","sourceRoot":"","sources":["../../src/methods/elementPosition.interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAElE,MAAM,WAAW,gCAAgC;IAC7C,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gCAAgC;IAC7C,4BAA4B;IAC5B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,4BAA4B;IAC5B,4BAA4B,EAAE,OAAO,CAAC;CACzC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,34 @@
1
+ import getElementPositionTopDom from '../clientSideScripts/getElementPositionTopDom.js';
2
+ import { getBoundingClientRect } from '../clientSideScripts/getBoundingClientRect.js';
3
+ /**
4
+ * Get the element position on a Android device
5
+ */
6
+ export async function getElementPositionAndroid(browserInstance, element, { deviceRectangles, isAndroidNativeWebScreenshot }) {
7
+ // This is the native web screenshot
8
+ if (isAndroidNativeWebScreenshot) {
9
+ return getElementWebviewPosition(browserInstance, element, { deviceRectangles });
10
+ }
11
+ // This is the ChromeDriver screenshot
12
+ return browserInstance.execute(getBoundingClientRect, element);
13
+ }
14
+ /**
15
+ * Get the element position on a desktop browser
16
+ */
17
+ export async function getElementPositionDesktop(browserInstance, element, { innerHeight, screenshotHeight }) {
18
+ if (screenshotHeight > innerHeight) {
19
+ return browserInstance.execute(getElementPositionTopDom, element);
20
+ }
21
+ return browserInstance.execute(getBoundingClientRect, element);
22
+ }
23
+ /**
24
+ * Get the element position calculated from the webview
25
+ */
26
+ export async function getElementWebviewPosition(browserInstance, element, { deviceRectangles: { viewport: { x, y } } }) {
27
+ const { height, width, x: boundingClientX, y: boundingClientY } = (await browserInstance.execute(getBoundingClientRect, element));
28
+ return {
29
+ height,
30
+ width,
31
+ x: boundingClientX + x,
32
+ y: boundingClientY + y,
33
+ };
34
+ }
@@ -0,0 +1,69 @@
1
+ import type { AdjustedAxis, CheckBaselineImageExists, CropAndConvertToDataURL, CroppedBase64Image, DimensionsWarning, ExecuteImageCompare, HandleIOSBezelCorners, ImageCompareResult, MakeFullPageBase64ImageOptions, RotateBase64ImageOptions, RotatedImage, TakeBase64ElementScreenshotOptions, TakeResizedBase64ScreenshotOptions } from './images.interfaces.js';
2
+ import type { IgnoreBoxes } from './rectangles.interfaces.js';
3
+ import type { FullPageScreenshotsData } from './screenshots.interfaces.js';
4
+ /**
5
+ * Check if an image exists and return a boolean
6
+ */
7
+ export declare function checkIfImageExists(filePath: string): Promise<boolean>;
8
+ /**
9
+ * Remove the diff image if it exists
10
+ */
11
+ export declare function removeDiffImageIfExists(diffFilePath: string): Promise<void>;
12
+ /**
13
+ * Check if the image exists and create a new baseline image if needed
14
+ */
15
+ export declare function checkBaselineImageExists({ actualFilePath, baselineFilePath, autoSaveBaseline, updateBaseline }: CheckBaselineImageExists): Promise<void>;
16
+ /**
17
+ * Get the rotated image if needed
18
+ */
19
+ export declare function getRotatedImageIfNeeded({ isWebDriverElementScreenshot, isLandscape, base64Image }: RotatedImage): Promise<string>;
20
+ /**
21
+ * Log a warning when the crop goes out of the screen
22
+ */
23
+ export declare function logDimensionWarning({ dimension, maxDimension, position, type, }: DimensionsWarning): void;
24
+ /**
25
+ * Get the adjusted axis
26
+ */
27
+ export declare function getAdjustedAxis({ length, maxDimension, paddingEnd, paddingStart, start, warningType, }: AdjustedAxis): [number, number];
28
+ /**
29
+ * Handle the iOS bezel corners
30
+ */
31
+ export declare function handleIOSBezelCorners({ addIOSBezelCorners, image, deviceName, devicePixelRatio, height, isLandscape, width, }: HandleIOSBezelCorners): Promise<void>;
32
+ /**
33
+ * Crop the image and convert it to a base64 image
34
+ */
35
+ export declare function cropAndConvertToDataURL({ addIOSBezelCorners, base64Image, deviceName, devicePixelRatio, height, isIOS, isLandscape, sourceX, sourceY, width, }: CropAndConvertToDataURL): Promise<string>;
36
+ /**
37
+ * Make a cropped image with Canvas
38
+ */
39
+ export declare function makeCroppedBase64Image({ addIOSBezelCorners, base64Image, deviceName, devicePixelRatio, isWebDriverElementScreenshot, isIOS, isLandscape, rectangles, resizeDimensions, }: CroppedBase64Image): Promise<string>;
40
+ /**
41
+ * Execute the image compare
42
+ */
43
+ export declare function executeImageCompare({ isViewPortScreenshot, isNativeContext, options, testContext, }: ExecuteImageCompare): Promise<ImageCompareResult | number>;
44
+ /**
45
+ * Make a full page image with Canvas
46
+ */
47
+ export declare function makeFullPageBase64Image(screenshotsData: FullPageScreenshotsData, { devicePixelRatio, isLandscape }: MakeFullPageBase64ImageOptions): Promise<string>;
48
+ /**
49
+ * Save the base64 image to a file
50
+ */
51
+ export declare function saveBase64Image(base64Image: string, filePath: string): Promise<void>;
52
+ /**
53
+ * Create a canvas with the ignore boxes if they are present
54
+ */
55
+ export declare function addBlockOuts(screenshot: string, ignoredBoxes: IgnoreBoxes[]): Promise<string>;
56
+ /**
57
+ * Rotate a base64 image
58
+ * Tnx to https://gist.github.com/Zyndoras/6897abdf53adbedf02564808aaab94db
59
+ */
60
+ export declare function rotateBase64Image({ base64Image, degrees }: RotateBase64ImageOptions): Promise<string>;
61
+ /**
62
+ * Take a based64 screenshot of an element and resize it
63
+ */
64
+ export declare function takeResizedBase64Screenshot({ browserInstance, element, devicePixelRatio, isIOS, resizeDimensions, }: TakeResizedBase64ScreenshotOptions): Promise<string>;
65
+ /**
66
+ * Take a base64 screenshot of an element
67
+ */
68
+ export declare function takeBase64ElementScreenshot({ browserInstance, element, devicePixelRatio, isIOS, resizeDimensions, }: TakeBase64ElementScreenshotOptions): Promise<string>;
69
+ //# sourceMappingURL=images.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.d.ts","sourceRoot":"","sources":["../../src/methods/images.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=images.executeImageCompare.test.d.ts.map