@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.
- package/CHANGELOG.md +82 -0
- package/LICENSE +21 -0
- package/README.md +12 -0
- package/assets/ios/ipadair4th.ipadair5th-bottom.png +0 -0
- package/assets/ios/ipadair4th.ipadair5th-top.png +0 -0
- package/assets/ios/ipadmini6th-bottom.png +0 -0
- package/assets/ios/ipadmini6th-top.png +0 -0
- package/assets/ios/ipadpro11-bottom.png +0 -0
- package/assets/ios/ipadpro11-top.png +0 -0
- package/assets/ios/ipadpro129-bottom.png +0 -0
- package/assets/ios/ipadpro129-top.png +0 -0
- package/assets/ios/iphone11promax-bottom.png +0 -0
- package/assets/ios/iphone11promax-top.png +0 -0
- package/assets/ios/iphone12.iphone12pro-top.png +0 -0
- package/assets/ios/iphone12.iphone12pro.iphone13.iphone13pro.iphone14-bottom.png +0 -0
- package/assets/ios/iphone12mini-top.png +0 -0
- package/assets/ios/iphone12mini.iphone13mini-bottom.png +0 -0
- package/assets/ios/iphone12promax-top.png +0 -0
- package/assets/ios/iphone12promax.iphone13promax.iphone14plus-bottom.png +0 -0
- package/assets/ios/iphone13.iphone13pro.iphone14-top.png +0 -0
- package/assets/ios/iphone13mini-top.png +0 -0
- package/assets/ios/iphone13promax.iphone14plus-top.png +0 -0
- package/assets/ios/iphone14pro-bottom.png +0 -0
- package/assets/ios/iphone14pro-top.png +0 -0
- package/assets/ios/iphone14promax-bottom.png +0 -0
- package/assets/ios/iphone14promax-top.png +0 -0
- package/assets/ios/iphone15-bottom.png +0 -0
- package/assets/ios/iphone15-top.png +0 -0
- package/assets/ios/iphonex.iphonexs.iphone11pro-bottom.png +0 -0
- package/assets/ios/iphonex.iphonexs.iphone11pro-top.png +0 -0
- package/assets/ios/iphonexr.iphone11-bottom.png +0 -0
- package/assets/ios/iphonexr.iphone11-top.png +0 -0
- package/assets/ios/iphonexsmax-bottom.png +0 -0
- package/assets/ios/iphonexsmax-top.png +0 -0
- package/dist/base.d.ts +18 -0
- package/dist/base.d.ts.map +1 -0
- package/dist/base.interfaces.d.ts +200 -0
- package/dist/base.interfaces.d.ts.map +1 -0
- package/dist/base.interfaces.js +1 -0
- package/dist/base.js +58 -0
- package/dist/base.test.d.ts +2 -0
- package/dist/base.test.d.ts.map +1 -0
- package/dist/base.test.js +45 -0
- package/dist/clientSideScripts/checkMetaTag.d.ts +2 -0
- package/dist/clientSideScripts/checkMetaTag.d.ts.map +1 -0
- package/dist/clientSideScripts/checkMetaTag.js +9 -0
- package/dist/clientSideScripts/checkMetaTag.test.d.ts +2 -0
- package/dist/clientSideScripts/checkMetaTag.test.d.ts.map +1 -0
- package/dist/clientSideScripts/checkMetaTag.test.js +25 -0
- package/dist/clientSideScripts/customCss.interfaces.d.ts +8 -0
- package/dist/clientSideScripts/customCss.interfaces.d.ts.map +1 -0
- package/dist/clientSideScripts/customCss.interfaces.js +1 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.d.ts +8 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.d.ts.map +1 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.interfaces.d.ts +4 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.interfaces.d.ts.map +1 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.interfaces.js +1 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.js +275 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.test.d.ts +2 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.test.d.ts.map +1 -0
- package/dist/clientSideScripts/drawTabbableOnCanvas.test.js +251 -0
- package/dist/clientSideScripts/elementPosition.interfaces.d.ts +3 -0
- package/dist/clientSideScripts/elementPosition.interfaces.d.ts.map +1 -0
- package/dist/clientSideScripts/elementPosition.interfaces.js +1 -0
- package/dist/clientSideScripts/getBoundingClientRect.d.ts +6 -0
- package/dist/clientSideScripts/getBoundingClientRect.d.ts.map +1 -0
- package/dist/clientSideScripts/getBoundingClientRect.js +12 -0
- package/dist/clientSideScripts/getBoundingClientRect.test.d.ts +2 -0
- package/dist/clientSideScripts/getBoundingClientRect.test.d.ts.map +1 -0
- package/dist/clientSideScripts/getBoundingClientRect.test.js +28 -0
- package/dist/clientSideScripts/getDocumentScrollHeight.d.ts +5 -0
- package/dist/clientSideScripts/getDocumentScrollHeight.d.ts.map +1 -0
- package/dist/clientSideScripts/getDocumentScrollHeight.js +48 -0
- package/dist/clientSideScripts/getDocumentScrollHeight.test.d.ts +2 -0
- package/dist/clientSideScripts/getDocumentScrollHeight.test.d.ts.map +1 -0
- package/dist/clientSideScripts/getDocumentScrollHeight.test.js +30 -0
- package/dist/clientSideScripts/getElementPositionTopDom.d.ts +6 -0
- package/dist/clientSideScripts/getElementPositionTopDom.d.ts.map +1 -0
- package/dist/clientSideScripts/getElementPositionTopDom.js +11 -0
- package/dist/clientSideScripts/getElementPositionTopDom.test.d.ts +2 -0
- package/dist/clientSideScripts/getElementPositionTopDom.test.d.ts.map +1 -0
- package/dist/clientSideScripts/getElementPositionTopDom.test.js +11 -0
- package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.d.ts +14 -0
- package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.d.ts.map +1 -0
- package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.js +19 -0
- package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.test.d.ts +2 -0
- package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.test.d.ts.map +1 -0
- package/dist/clientSideScripts/getElementPositionTopScreenNativeMobile.test.js +52 -0
- package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.d.ts +6 -0
- package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.d.ts.map +1 -0
- package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.js +17 -0
- package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.test.d.ts +2 -0
- package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.test.d.ts.map +1 -0
- package/dist/clientSideScripts/getMobileWebviewClickAndDimensions.test.js +47 -0
- package/dist/clientSideScripts/getScreenDimensions.d.ts +6 -0
- package/dist/clientSideScripts/getScreenDimensions.d.ts.map +1 -0
- package/dist/clientSideScripts/getScreenDimensions.js +104 -0
- package/dist/clientSideScripts/getScreenDimensions.test.d.ts +2 -0
- package/dist/clientSideScripts/getScreenDimensions.test.d.ts.map +1 -0
- package/dist/clientSideScripts/getScreenDimensions.test.js +161 -0
- package/dist/clientSideScripts/hideRemoveElements.d.ts +8 -0
- package/dist/clientSideScripts/hideRemoveElements.d.ts.map +1 -0
- package/dist/clientSideScripts/hideRemoveElements.js +60 -0
- package/dist/clientSideScripts/hideRemoveElements.test.d.ts +2 -0
- package/dist/clientSideScripts/hideRemoveElements.test.d.ts.map +1 -0
- package/dist/clientSideScripts/hideRemoveElements.test.js +199 -0
- package/dist/clientSideScripts/hideScrollbars.d.ts +9 -0
- package/dist/clientSideScripts/hideScrollbars.d.ts.map +1 -0
- package/dist/clientSideScripts/hideScrollbars.js +15 -0
- package/dist/clientSideScripts/hideScrollbars.test.d.ts +2 -0
- package/dist/clientSideScripts/hideScrollbars.test.d.ts.map +1 -0
- package/dist/clientSideScripts/hideScrollbars.test.js +12 -0
- package/dist/clientSideScripts/injectWebviewOverlay.d.ts +5 -0
- package/dist/clientSideScripts/injectWebviewOverlay.d.ts.map +1 -0
- package/dist/clientSideScripts/injectWebviewOverlay.js +35 -0
- package/dist/clientSideScripts/injectWebviewOverlay.test.d.ts +2 -0
- package/dist/clientSideScripts/injectWebviewOverlay.test.d.ts.map +1 -0
- package/dist/clientSideScripts/injectWebviewOverlay.test.js +74 -0
- package/dist/clientSideScripts/removeElementFromDom.d.ts +5 -0
- package/dist/clientSideScripts/removeElementFromDom.d.ts.map +1 -0
- package/dist/clientSideScripts/removeElementFromDom.js +9 -0
- package/dist/clientSideScripts/removeElementFromDom.test.d.ts +2 -0
- package/dist/clientSideScripts/removeElementFromDom.test.d.ts.map +1 -0
- package/dist/clientSideScripts/removeElementFromDom.test.js +43 -0
- package/dist/clientSideScripts/screenDimensions.interfaces.d.ts +96 -0
- package/dist/clientSideScripts/screenDimensions.interfaces.d.ts.map +1 -0
- package/dist/clientSideScripts/screenDimensions.interfaces.js +1 -0
- package/dist/clientSideScripts/scrollElementIntoView.d.ts +5 -0
- package/dist/clientSideScripts/scrollElementIntoView.d.ts.map +1 -0
- package/dist/clientSideScripts/scrollElementIntoView.js +31 -0
- package/dist/clientSideScripts/scrollElementIntoView.test.d.ts +2 -0
- package/dist/clientSideScripts/scrollElementIntoView.test.d.ts.map +1 -0
- package/dist/clientSideScripts/scrollElementIntoView.test.js +79 -0
- package/dist/clientSideScripts/scrollToPosition.d.ts +5 -0
- package/dist/clientSideScripts/scrollToPosition.d.ts.map +1 -0
- package/dist/clientSideScripts/scrollToPosition.js +25 -0
- package/dist/clientSideScripts/scrollToPosition.test.d.ts +2 -0
- package/dist/clientSideScripts/scrollToPosition.test.d.ts.map +1 -0
- package/dist/clientSideScripts/scrollToPosition.test.js +72 -0
- package/dist/clientSideScripts/setCustomCss.d.ts +6 -0
- package/dist/clientSideScripts/setCustomCss.d.ts.map +1 -0
- package/dist/clientSideScripts/setCustomCss.js +36 -0
- package/dist/clientSideScripts/setCustomCss.test.d.ts +2 -0
- package/dist/clientSideScripts/setCustomCss.test.d.ts.map +1 -0
- package/dist/clientSideScripts/setCustomCss.test.js +68 -0
- package/dist/clientSideScripts/statusAddressToolBarOffsets.interfaces.d.ts +11 -0
- package/dist/clientSideScripts/statusAddressToolBarOffsets.interfaces.d.ts.map +1 -0
- package/dist/clientSideScripts/statusAddressToolBarOffsets.interfaces.js +1 -0
- package/dist/clientSideScripts/toggleTextTransparency.d.ts +5 -0
- package/dist/clientSideScripts/toggleTextTransparency.d.ts.map +1 -0
- package/dist/clientSideScripts/toggleTextTransparency.js +16 -0
- package/dist/clientSideScripts/toggleTextTransparency.test.d.ts +2 -0
- package/dist/clientSideScripts/toggleTextTransparency.test.d.ts.map +1 -0
- package/dist/clientSideScripts/toggleTextTransparency.test.js +35 -0
- package/dist/clientSideScripts/waitForFonts.d.ts +8 -0
- package/dist/clientSideScripts/waitForFonts.d.ts.map +1 -0
- package/dist/clientSideScripts/waitForFonts.js +20 -0
- package/dist/clientSideScripts/waitForFonts.test.d.ts +2 -0
- package/dist/clientSideScripts/waitForFonts.test.d.ts.map +1 -0
- package/dist/clientSideScripts/waitForFonts.test.js +37 -0
- package/dist/commands/check.interfaces.d.ts +35 -0
- package/dist/commands/check.interfaces.d.ts.map +1 -0
- package/dist/commands/check.interfaces.js +1 -0
- package/dist/commands/checkAppElement.d.ts +7 -0
- package/dist/commands/checkAppElement.d.ts.map +1 -0
- package/dist/commands/checkAppElement.js +44 -0
- package/dist/commands/checkAppElement.test.d.ts +2 -0
- package/dist/commands/checkAppElement.test.d.ts.map +1 -0
- package/dist/commands/checkAppElement.test.js +241 -0
- package/dist/commands/checkAppScreen.d.ts +7 -0
- package/dist/commands/checkAppScreen.d.ts.map +1 -0
- package/dist/commands/checkAppScreen.js +73 -0
- package/dist/commands/checkAppScreen.test.d.ts +2 -0
- package/dist/commands/checkAppScreen.test.d.ts.map +1 -0
- package/dist/commands/checkAppScreen.test.js +295 -0
- package/dist/commands/checkElement.d.ts +7 -0
- package/dist/commands/checkElement.d.ts.map +1 -0
- package/dist/commands/checkElement.js +10 -0
- package/dist/commands/checkElement.test.d.ts +2 -0
- package/dist/commands/checkElement.test.d.ts.map +1 -0
- package/dist/commands/checkElement.test.js +66 -0
- package/dist/commands/checkFullPageScreen.d.ts +7 -0
- package/dist/commands/checkFullPageScreen.d.ts.map +1 -0
- package/dist/commands/checkFullPageScreen.js +56 -0
- package/dist/commands/checkFullPageScreen.test.d.ts +2 -0
- package/dist/commands/checkFullPageScreen.test.d.ts.map +1 -0
- package/dist/commands/checkFullPageScreen.test.js +259 -0
- package/dist/commands/checkScreen.d.ts +7 -0
- package/dist/commands/checkScreen.d.ts.map +1 -0
- package/dist/commands/checkScreen.js +10 -0
- package/dist/commands/checkScreen.test.d.ts +2 -0
- package/dist/commands/checkScreen.test.d.ts.map +1 -0
- package/dist/commands/checkScreen.test.js +62 -0
- package/dist/commands/checkTabbablePage.d.ts +7 -0
- package/dist/commands/checkTabbablePage.d.ts.map +1 -0
- package/dist/commands/checkTabbablePage.js +28 -0
- package/dist/commands/checkTabbablePage.test.d.ts +2 -0
- package/dist/commands/checkTabbablePage.test.d.ts.map +1 -0
- package/dist/commands/checkTabbablePage.test.js +200 -0
- package/dist/commands/checkWebElement.d.ts +7 -0
- package/dist/commands/checkWebElement.d.ts.map +1 -0
- package/dist/commands/checkWebElement.js +52 -0
- package/dist/commands/checkWebElement.test.d.ts +2 -0
- package/dist/commands/checkWebElement.test.d.ts.map +1 -0
- package/dist/commands/checkWebElement.test.js +278 -0
- package/dist/commands/checkWebScreen.d.ts +7 -0
- package/dist/commands/checkWebScreen.d.ts.map +1 -0
- package/dist/commands/checkWebScreen.js +50 -0
- package/dist/commands/checkWebScreen.test.d.ts +2 -0
- package/dist/commands/checkWebScreen.test.d.ts.map +1 -0
- package/dist/commands/checkWebScreen.test.js +227 -0
- package/dist/commands/element.interfaces.d.ts +27 -0
- package/dist/commands/element.interfaces.d.ts.map +1 -0
- package/dist/commands/element.interfaces.js +1 -0
- package/dist/commands/fullPage.interfaces.d.ts +38 -0
- package/dist/commands/fullPage.interfaces.d.ts.map +1 -0
- package/dist/commands/fullPage.interfaces.js +1 -0
- package/dist/commands/save.interfaces.d.ts +27 -0
- package/dist/commands/save.interfaces.d.ts.map +1 -0
- package/dist/commands/save.interfaces.js +1 -0
- package/dist/commands/saveAppElement.d.ts +7 -0
- package/dist/commands/saveAppElement.d.ts.map +1 -0
- package/dist/commands/saveAppElement.js +30 -0
- package/dist/commands/saveAppElement.test.d.ts +2 -0
- package/dist/commands/saveAppElement.test.d.ts.map +1 -0
- package/dist/commands/saveAppElement.test.js +199 -0
- package/dist/commands/saveAppScreen.d.ts +7 -0
- package/dist/commands/saveAppScreen.d.ts.map +1 -0
- package/dist/commands/saveAppScreen.js +43 -0
- package/dist/commands/saveAppScreen.test.d.ts +2 -0
- package/dist/commands/saveAppScreen.test.d.ts.map +1 -0
- package/dist/commands/saveAppScreen.test.js +221 -0
- package/dist/commands/saveElement.d.ts +7 -0
- package/dist/commands/saveElement.d.ts.map +1 -0
- package/dist/commands/saveElement.js +10 -0
- package/dist/commands/saveElement.test.d.ts +2 -0
- package/dist/commands/saveElement.test.d.ts.map +1 -0
- package/dist/commands/saveElement.test.js +62 -0
- package/dist/commands/saveFullPageScreen.d.ts +7 -0
- package/dist/commands/saveFullPageScreen.d.ts.map +1 -0
- package/dist/commands/saveFullPageScreen.js +60 -0
- package/dist/commands/saveFullPageScreen.test.d.ts +2 -0
- package/dist/commands/saveFullPageScreen.test.d.ts.map +1 -0
- package/dist/commands/saveFullPageScreen.test.js +293 -0
- package/dist/commands/saveScreen.d.ts +7 -0
- package/dist/commands/saveScreen.d.ts.map +1 -0
- package/dist/commands/saveScreen.js +10 -0
- package/dist/commands/saveScreen.test.d.ts +2 -0
- package/dist/commands/saveScreen.test.d.ts.map +1 -0
- package/dist/commands/saveScreen.test.js +47 -0
- package/dist/commands/saveTabbablePage.d.ts +7 -0
- package/dist/commands/saveTabbablePage.d.ts.map +1 -0
- package/dist/commands/saveTabbablePage.js +20 -0
- package/dist/commands/saveTabbablePage.test.d.ts +2 -0
- package/dist/commands/saveTabbablePage.test.d.ts.map +1 -0
- package/dist/commands/saveTabbablePage.test.js +74 -0
- package/dist/commands/saveWebElement.d.ts +7 -0
- package/dist/commands/saveWebElement.d.ts.map +1 -0
- package/dist/commands/saveWebElement.js +53 -0
- package/dist/commands/saveWebElement.test.d.ts +2 -0
- package/dist/commands/saveWebElement.test.d.ts.map +1 -0
- package/dist/commands/saveWebElement.test.js +253 -0
- package/dist/commands/saveWebScreen.d.ts +7 -0
- package/dist/commands/saveWebScreen.d.ts.map +1 -0
- package/dist/commands/saveWebScreen.js +48 -0
- package/dist/commands/saveWebScreen.test.d.ts +2 -0
- package/dist/commands/saveWebScreen.test.d.ts.map +1 -0
- package/dist/commands/saveWebScreen.test.js +222 -0
- package/dist/commands/screen.interfaces.d.ts +16 -0
- package/dist/commands/screen.interfaces.d.ts.map +1 -0
- package/dist/commands/screen.interfaces.js +1 -0
- package/dist/commands/tabbable.interfaces.d.ts +29 -0
- package/dist/commands/tabbable.interfaces.d.ts.map +1 -0
- package/dist/commands/tabbable.interfaces.js +1 -0
- package/dist/helpers/afterScreenshot.d.ts +7 -0
- package/dist/helpers/afterScreenshot.d.ts.map +1 -0
- package/dist/helpers/afterScreenshot.interfaces.d.ts +46 -0
- package/dist/helpers/afterScreenshot.interfaces.d.ts.map +1 -0
- package/dist/helpers/afterScreenshot.interfaces.js +1 -0
- package/dist/helpers/afterScreenshot.js +55 -0
- package/dist/helpers/afterScreenshot.test.d.ts +2 -0
- package/dist/helpers/afterScreenshot.test.d.ts.map +1 -0
- package/dist/helpers/afterScreenshot.test.js +241 -0
- package/dist/helpers/beforeScreenshot.d.ts +6 -0
- package/dist/helpers/beforeScreenshot.d.ts.map +1 -0
- package/dist/helpers/beforeScreenshot.interfaces.d.ts +15 -0
- package/dist/helpers/beforeScreenshot.interfaces.d.ts.map +1 -0
- package/dist/helpers/beforeScreenshot.interfaces.js +1 -0
- package/dist/helpers/beforeScreenshot.js +79 -0
- package/dist/helpers/beforeScreenshot.test.d.ts +2 -0
- package/dist/helpers/beforeScreenshot.test.d.ts.map +1 -0
- package/dist/helpers/beforeScreenshot.test.js +261 -0
- package/dist/helpers/compare.interfaces.d.ts +16 -0
- package/dist/helpers/compare.interfaces.d.ts.map +1 -0
- package/dist/helpers/compare.interfaces.js +1 -0
- package/dist/helpers/constants.d.ts +108 -0
- package/dist/helpers/constants.d.ts.map +1 -0
- package/dist/helpers/constants.interfaces.d.ts +30 -0
- package/dist/helpers/constants.interfaces.d.ts.map +1 -0
- package/dist/helpers/constants.interfaces.js +11 -0
- package/dist/helpers/constants.js +436 -0
- package/dist/helpers/options.d.ts +64 -0
- package/dist/helpers/options.d.ts.map +1 -0
- package/dist/helpers/options.interfaces.d.ts +363 -0
- package/dist/helpers/options.interfaces.d.ts.map +1 -0
- package/dist/helpers/options.interfaces.js +1 -0
- package/dist/helpers/options.js +184 -0
- package/dist/helpers/options.test.d.ts +2 -0
- package/dist/helpers/options.test.d.ts.map +1 -0
- package/dist/helpers/options.test.js +428 -0
- package/dist/helpers/utils.d.ts +134 -0
- package/dist/helpers/utils.d.ts.map +1 -0
- package/dist/helpers/utils.interfaces.d.ts +254 -0
- package/dist/helpers/utils.interfaces.d.ts.map +1 -0
- package/dist/helpers/utils.interfaces.js +1 -0
- package/dist/helpers/utils.js +566 -0
- package/dist/helpers/utils.test.d.ts +2 -0
- package/dist/helpers/utils.test.d.ts.map +1 -0
- package/dist/helpers/utils.test.js +900 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/methods/compareReport.interfaces.d.ts +109 -0
- package/dist/methods/compareReport.interfaces.d.ts.map +1 -0
- package/dist/methods/compareReport.interfaces.js +1 -0
- package/dist/methods/createCompareReport.d.ts +7 -0
- package/dist/methods/createCompareReport.d.ts.map +1 -0
- package/dist/methods/createCompareReport.js +61 -0
- package/dist/methods/createCompareReport.test.d.ts +2 -0
- package/dist/methods/createCompareReport.test.d.ts.map +1 -0
- package/dist/methods/createCompareReport.test.js +236 -0
- package/dist/methods/elementPosition.d.ts +18 -0
- package/dist/methods/elementPosition.d.ts.map +1 -0
- package/dist/methods/elementPosition.interfaces.d.ts +14 -0
- package/dist/methods/elementPosition.interfaces.d.ts.map +1 -0
- package/dist/methods/elementPosition.interfaces.js +1 -0
- package/dist/methods/elementPosition.js +34 -0
- package/dist/methods/images.d.ts +69 -0
- package/dist/methods/images.d.ts.map +1 -0
- package/dist/methods/images.executeImageCompare.test.d.ts +2 -0
- package/dist/methods/images.executeImageCompare.test.d.ts.map +1 -0
- package/dist/methods/images.executeImageCompare.test.js +770 -0
- package/dist/methods/images.interfaces.d.ts +214 -0
- package/dist/methods/images.interfaces.d.ts.map +1 -0
- package/dist/methods/images.interfaces.js +1 -0
- package/dist/methods/images.js +428 -0
- package/dist/methods/images.test.d.ts +2 -0
- package/dist/methods/images.test.d.ts.map +1 -0
- package/dist/methods/images.test.js +1465 -0
- package/dist/methods/instanceData.d.ts +6 -0
- package/dist/methods/instanceData.d.ts.map +1 -0
- package/dist/methods/instanceData.interfaces.d.ts +57 -0
- package/dist/methods/instanceData.interfaces.d.ts.map +1 -0
- package/dist/methods/instanceData.interfaces.js +1 -0
- package/dist/methods/instanceData.js +42 -0
- package/dist/methods/instanceData.test.d.ts +2 -0
- package/dist/methods/instanceData.test.d.ts.map +1 -0
- package/dist/methods/instanceData.test.js +224 -0
- package/dist/methods/processDiffPixels.d.ts +59 -0
- package/dist/methods/processDiffPixels.d.ts.map +1 -0
- package/dist/methods/processDiffPixels.js +242 -0
- package/dist/methods/processDiffPixels.test.d.ts +2 -0
- package/dist/methods/processDiffPixels.test.d.ts.map +1 -0
- package/dist/methods/processDiffPixels.test.js +122 -0
- package/dist/methods/rectangles.d.ts +51 -0
- package/dist/methods/rectangles.d.ts.map +1 -0
- package/dist/methods/rectangles.interfaces.d.ts +146 -0
- package/dist/methods/rectangles.interfaces.d.ts.map +1 -0
- package/dist/methods/rectangles.interfaces.js +1 -0
- package/dist/methods/rectangles.js +266 -0
- package/dist/methods/rectangles.test.d.ts +2 -0
- package/dist/methods/rectangles.test.d.ts.map +1 -0
- package/dist/methods/rectangles.test.js +853 -0
- package/dist/methods/screenshots.d.ts +37 -0
- package/dist/methods/screenshots.d.ts.map +1 -0
- package/dist/methods/screenshots.interfaces.d.ts +203 -0
- package/dist/methods/screenshots.interfaces.d.ts.map +1 -0
- package/dist/methods/screenshots.interfaces.js +1 -0
- package/dist/methods/screenshots.js +394 -0
- package/dist/methods/screenshots.test.d.ts +2 -0
- package/dist/methods/screenshots.test.d.ts.map +1 -0
- package/dist/methods/screenshots.test.js +656 -0
- package/dist/methods/takeElementScreenshots.d.ts +3 -0
- package/dist/methods/takeElementScreenshots.d.ts.map +1 -0
- package/dist/methods/takeElementScreenshots.js +104 -0
- package/dist/methods/takeElementScreenshots.test.d.ts +2 -0
- package/dist/methods/takeElementScreenshots.test.d.ts.map +1 -0
- package/dist/methods/takeElementScreenshots.test.js +314 -0
- package/dist/methods/takeFullPageScreenshots.d.ts +3 -0
- package/dist/methods/takeFullPageScreenshots.d.ts.map +1 -0
- package/dist/methods/takeFullPageScreenshots.js +56 -0
- package/dist/methods/takeFullPageScreenshots.test.d.ts +2 -0
- package/dist/methods/takeFullPageScreenshots.test.d.ts.map +1 -0
- package/dist/methods/takeFullPageScreenshots.test.js +72 -0
- package/dist/methods/takeWebScreenshots.d.ts +3 -0
- package/dist/methods/takeWebScreenshots.d.ts.map +1 -0
- package/dist/methods/takeWebScreenshots.js +41 -0
- package/dist/methods/takeWebScreenshots.test.d.ts +2 -0
- package/dist/methods/takeWebScreenshots.test.d.ts.map +1 -0
- package/dist/methods/takeWebScreenshots.test.js +149 -0
- package/dist/mocks/image.d.ts +4 -0
- package/dist/mocks/image.d.ts.map +1 -0
- package/dist/mocks/image.js +3 -0
- package/dist/mocks/mocks.d.ts +745 -0
- package/dist/mocks/mocks.d.ts.map +1 -0
- package/dist/mocks/mocks.js +392 -0
- package/dist/resemble/compare.interfaces.d.ts +136 -0
- package/dist/resemble/compare.interfaces.d.ts.map +1 -0
- package/dist/resemble/compare.interfaces.js +1 -0
- package/dist/resemble/compareImages.d.ts +3 -0
- package/dist/resemble/compareImages.d.ts.map +1 -0
- package/dist/resemble/compareImages.js +21 -0
- package/dist/resemble/resemble.jimp.cjs +981 -0
- package/dist/resemble/resemble.jimp.d.cts +46 -0
- package/dist/resemble/resemble.jimp.d.cts.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
import type { TabbableOptions } from '../commands/tabbable.interfaces.js';
|
|
2
|
+
export interface ClassOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The padding added to the address bar on iOS and Android
|
|
5
|
+
* to properly cut out the viewport.
|
|
6
|
+
*/
|
|
7
|
+
addressBarShadowPadding?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Automatically scroll to an element before taking a screenshot.
|
|
10
|
+
*/
|
|
11
|
+
autoElementScroll?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Add iOS bezel corners and notch/dynamic island to the screenshot.
|
|
14
|
+
*/
|
|
15
|
+
addIOSBezelCorners?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Delete runtime folder (actual & diff) on initialization.
|
|
18
|
+
*/
|
|
19
|
+
clearRuntimeFolder?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Use user based fullpage screenshots, by default the desktop screenshots are taken with the BiDi protocol.
|
|
22
|
+
*/
|
|
23
|
+
userBasedFullPageScreenshot?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* By default the screenshots are taken with the BiDi protocol if Bidi is available.
|
|
26
|
+
* If you want to use the legacy method, set this to true.
|
|
27
|
+
*/
|
|
28
|
+
enableLegacyScreenshotMethod?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Customize the naming of saved images using a format string.
|
|
31
|
+
*/
|
|
32
|
+
formatImageName?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Indicates if this is a hybrid app.
|
|
35
|
+
*/
|
|
36
|
+
isHybridApp?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Save the images per instance in a separate folder.
|
|
39
|
+
*/
|
|
40
|
+
savePerInstance?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* The padding added to the toolbar on iOS and Android
|
|
43
|
+
* to properly cut out the viewport.
|
|
44
|
+
*/
|
|
45
|
+
toolBarShadowPadding?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Wait for fonts to be fully loaded before taking a screenshot.
|
|
48
|
+
*/
|
|
49
|
+
waitForFontsLoaded?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* If no baseline image is found during comparison, automatically save the image to the baseline folder.
|
|
52
|
+
*/
|
|
53
|
+
autoSaveBaseline?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Directory where all actual and diff screenshots will be stored.
|
|
56
|
+
*/
|
|
57
|
+
screenshotPath?: string | ((options: ClassOptions) => string);
|
|
58
|
+
/**
|
|
59
|
+
* Directory for storing baseline images used during comparison.
|
|
60
|
+
*/
|
|
61
|
+
baselineFolder?: string | ((options: ClassOptions) => string);
|
|
62
|
+
/**
|
|
63
|
+
* Disable the blinking cursor in screenshots.
|
|
64
|
+
*/
|
|
65
|
+
disableBlinkingCursor?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Enable or disable all CSS animations and input carets.
|
|
68
|
+
*/
|
|
69
|
+
disableCSSAnimation?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Make all text transparent to focus only on layout.
|
|
72
|
+
*/
|
|
73
|
+
enableLayoutTesting?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Time (ms) to wait after a scroll; useful for lazy loading content.
|
|
76
|
+
*/
|
|
77
|
+
fullPageScrollTimeout?: number;
|
|
78
|
+
/**
|
|
79
|
+
* Hide scrollbars in the screenshots.
|
|
80
|
+
*/
|
|
81
|
+
hideScrollBars?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* @deprecated Use `compareOptions` instead.
|
|
84
|
+
* Automatically block out the side bar for iPads in landscape mode during comparisons.
|
|
85
|
+
* Prevents failures on the tab/private/bookmark native component.
|
|
86
|
+
*/
|
|
87
|
+
blockOutSideBar?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Automatically block out the status and address bar during comparisons (mobile only).
|
|
90
|
+
* Prevents failures due to dynamic UI elements like time, Wi-Fi, battery, etc.
|
|
91
|
+
*/
|
|
92
|
+
blockOutStatusBar?: boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Automatically block out the tool bar during comparisons (mobile only).
|
|
95
|
+
*/
|
|
96
|
+
blockOutToolBar?: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Generate JSON report files with comparison data (useful for custom HTML reports).
|
|
99
|
+
*/
|
|
100
|
+
createJsonReportFiles?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Pixel proximity used to group diff pixels in JSON reports.
|
|
103
|
+
*
|
|
104
|
+
* @default 5
|
|
105
|
+
*/
|
|
106
|
+
diffPixelBoundingBoxProximity?: number;
|
|
107
|
+
/**
|
|
108
|
+
* Ignore alpha channel when comparing images.
|
|
109
|
+
*/
|
|
110
|
+
ignoreAlpha?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Ignore anti-aliasing when comparing images.
|
|
113
|
+
*/
|
|
114
|
+
ignoreAntialiasing?: boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Compare two images in black and white only.
|
|
117
|
+
*/
|
|
118
|
+
ignoreColors?: boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Compare images with reduced sensitivity.
|
|
121
|
+
* red = 16, green = 16, blue = 16, alpha = 16, minBrightness = 16, maxBrightness = 240
|
|
122
|
+
*/
|
|
123
|
+
ignoreLess?: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Compare images with full sensitivity.
|
|
126
|
+
* red = 0, green = 0, blue = 0, alpha = 0, minBrightness = 0, maxBrightness = 255
|
|
127
|
+
*/
|
|
128
|
+
ignoreNothing?: boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Return raw mismatch percentage (e.g., `0.12345678`) instead of rounded (e.g., `0.12`).
|
|
131
|
+
*/
|
|
132
|
+
rawMisMatchPercentage?: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Return all compare data, not just mismatch percentage.
|
|
135
|
+
*/
|
|
136
|
+
returnAllCompareData?: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Threshold mismatch percentage above which diff image will be saved.
|
|
139
|
+
*/
|
|
140
|
+
saveAboveTolerance?: number;
|
|
141
|
+
/**
|
|
142
|
+
* Scale images to same dimensions before comparison.
|
|
143
|
+
*/
|
|
144
|
+
scaleImagesToSameSize?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Options object passed to the underlying image comparison engine.
|
|
147
|
+
*/
|
|
148
|
+
compareOptions?: Partial<CompareOptions>;
|
|
149
|
+
/**
|
|
150
|
+
* Configuration for tabbable elements highlighting.
|
|
151
|
+
*/
|
|
152
|
+
tabbableOptions?: TabbableOptions;
|
|
153
|
+
/**
|
|
154
|
+
* Storybook-specific visual testing options.
|
|
155
|
+
*/
|
|
156
|
+
storybook?: {
|
|
157
|
+
/**
|
|
158
|
+
* If true, clips the story component to remove extra whitespace.
|
|
159
|
+
*
|
|
160
|
+
* @default true
|
|
161
|
+
*/
|
|
162
|
+
clip?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Selector to use when `clip = true`. Defaults to Storybook's root element.
|
|
165
|
+
*/
|
|
166
|
+
clipSelector?: string;
|
|
167
|
+
/**
|
|
168
|
+
* Number of shards to divide tests across.
|
|
169
|
+
*
|
|
170
|
+
* @default 1
|
|
171
|
+
*/
|
|
172
|
+
numShards?: number;
|
|
173
|
+
/**
|
|
174
|
+
* Stories to skip, by string or RegExp.
|
|
175
|
+
*/
|
|
176
|
+
skipStories?: string | string[];
|
|
177
|
+
/**
|
|
178
|
+
* Storybook server URL.
|
|
179
|
+
*
|
|
180
|
+
* @default 'http://127.0.0.1:6006'
|
|
181
|
+
*/
|
|
182
|
+
url?: string;
|
|
183
|
+
/**
|
|
184
|
+
* Version of Storybook in use.
|
|
185
|
+
*
|
|
186
|
+
* @default 7
|
|
187
|
+
*/
|
|
188
|
+
version?: number;
|
|
189
|
+
/**
|
|
190
|
+
* Additional search parameters for the Storybook URL.
|
|
191
|
+
*
|
|
192
|
+
* @example new URLSearchParams({ 'foo': 'bar' })
|
|
193
|
+
* Results in URL like: `http://storybook.url/iframe.html?id=story-id&foo=bar`
|
|
194
|
+
*/
|
|
195
|
+
additionalSearchParams?: URLSearchParams;
|
|
196
|
+
/**
|
|
197
|
+
* Path builder for saving story baselines.
|
|
198
|
+
*
|
|
199
|
+
* @param category The component category (e.g. "forms").
|
|
200
|
+
* @param component The component name (e.g. "input").
|
|
201
|
+
* @returns Path to store baselines under the `baselineFolder`.
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```ts
|
|
205
|
+
* (category, component) => `${category}__${component}`
|
|
206
|
+
* ```
|
|
207
|
+
*
|
|
208
|
+
* @default
|
|
209
|
+
* ```ts
|
|
210
|
+
* (category, component) => `./${category}/${component}/`
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
getStoriesBaselinePath?: (category: string, component: string) => string;
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export interface DefaultOptions {
|
|
217
|
+
/**
|
|
218
|
+
* Padding added to the address bar (iOS/Android) to properly cut out the viewport.
|
|
219
|
+
*/
|
|
220
|
+
addressBarShadowPadding: number;
|
|
221
|
+
/**
|
|
222
|
+
* Automatically scroll to an element before capturing a screenshot.
|
|
223
|
+
*/
|
|
224
|
+
autoElementScroll: boolean;
|
|
225
|
+
/**
|
|
226
|
+
* Adds iOS bezel corners and notch/dynamic island to the screenshot.
|
|
227
|
+
*/
|
|
228
|
+
addIOSBezelCorners: boolean;
|
|
229
|
+
/**
|
|
230
|
+
* Automatically saves the image as a baseline if none is found during comparison.
|
|
231
|
+
*/
|
|
232
|
+
autoSaveBaseline: boolean;
|
|
233
|
+
/**
|
|
234
|
+
* Delete the runtime folder (`actual` and `diff`) on initialization.
|
|
235
|
+
*/
|
|
236
|
+
clearFolder: boolean;
|
|
237
|
+
/**
|
|
238
|
+
* Options used for image comparison.
|
|
239
|
+
*/
|
|
240
|
+
compareOptions: CompareOptions;
|
|
241
|
+
/**
|
|
242
|
+
* Use user based fullpage screenshots, by default the desktop screenshots are taken with the BiDi protocol.
|
|
243
|
+
*/
|
|
244
|
+
userBasedFullPageScreenshot: boolean;
|
|
245
|
+
/**
|
|
246
|
+
* By default the screenshots are taken with the BiDi protocol if Bidi is available.
|
|
247
|
+
* If you want to use the legacy method, set this to true.
|
|
248
|
+
*/
|
|
249
|
+
enableLegacyScreenshotMethod: boolean;
|
|
250
|
+
/**
|
|
251
|
+
* Disable the blinking cursor in the screenshot.
|
|
252
|
+
*/
|
|
253
|
+
disableBlinkingCursor: boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Disable all CSS animations and input caret.
|
|
256
|
+
*/
|
|
257
|
+
disableCSSAnimation: boolean;
|
|
258
|
+
/**
|
|
259
|
+
* Make all text transparent to focus only on layout during comparison.
|
|
260
|
+
*/
|
|
261
|
+
enableLayoutTesting: boolean;
|
|
262
|
+
/**
|
|
263
|
+
* A format string for customizing image file names.
|
|
264
|
+
*/
|
|
265
|
+
formatImageName: string;
|
|
266
|
+
/**
|
|
267
|
+
* Timeout in milliseconds to wait after scrolling, useful for lazy-loaded pages.
|
|
268
|
+
*/
|
|
269
|
+
fullPageScrollTimeout: number;
|
|
270
|
+
/**
|
|
271
|
+
* Hide scrollbars in the screenshot.
|
|
272
|
+
*/
|
|
273
|
+
hideScrollBars: boolean;
|
|
274
|
+
/**
|
|
275
|
+
* Indicates whether the app is a hybrid (native + webview).
|
|
276
|
+
*/
|
|
277
|
+
isHybridApp: boolean;
|
|
278
|
+
/**
|
|
279
|
+
* Save screenshots per instance in separate folders.
|
|
280
|
+
*/
|
|
281
|
+
savePerInstance: boolean;
|
|
282
|
+
/**
|
|
283
|
+
* Options for visualizing tabbable elements.
|
|
284
|
+
*/
|
|
285
|
+
tabbableOptions: TabbableOptions;
|
|
286
|
+
/**
|
|
287
|
+
* Padding added to the toolbar (iOS/Android) to properly cut out the viewport.
|
|
288
|
+
*/
|
|
289
|
+
toolBarShadowPadding: number;
|
|
290
|
+
/**
|
|
291
|
+
* Wait for fonts to be fully loaded before taking a screenshot.
|
|
292
|
+
*/
|
|
293
|
+
waitForFontsLoaded: boolean;
|
|
294
|
+
}
|
|
295
|
+
export interface CompareOptions {
|
|
296
|
+
/**
|
|
297
|
+
* Automatically block out the side bar for iPads in landscape mode during comparisons.
|
|
298
|
+
* Prevents failures caused by the tab/private/bookmark native component.
|
|
299
|
+
*/
|
|
300
|
+
blockOutSideBar: boolean;
|
|
301
|
+
/**
|
|
302
|
+
* Automatically block out the status and address bar during comparisons.
|
|
303
|
+
* This is mobile only and helps avoid failures caused by dynamic content like time, Wi-Fi, or battery status.
|
|
304
|
+
*/
|
|
305
|
+
blockOutStatusBar: boolean;
|
|
306
|
+
/**
|
|
307
|
+
* Automatically block out the tool bar during comparisons.
|
|
308
|
+
* This is mobile only.
|
|
309
|
+
*/
|
|
310
|
+
blockOutToolBar: boolean;
|
|
311
|
+
/**
|
|
312
|
+
* Create JSON report files with all comparison data.
|
|
313
|
+
* This can be used to generate custom (HTML) reports.
|
|
314
|
+
*/
|
|
315
|
+
createJsonReportFiles: boolean;
|
|
316
|
+
/**
|
|
317
|
+
* Proximity of diff pixels used to group them in the JSON report.
|
|
318
|
+
*
|
|
319
|
+
* The higher the value, the more pixels will be grouped together. Lower values improve accuracy.
|
|
320
|
+
*
|
|
321
|
+
* @default 5
|
|
322
|
+
*/
|
|
323
|
+
diffPixelBoundingBoxProximity: number;
|
|
324
|
+
/**
|
|
325
|
+
* Compare images and discard the alpha channel.
|
|
326
|
+
*/
|
|
327
|
+
ignoreAlpha: boolean;
|
|
328
|
+
/**
|
|
329
|
+
* Compare images and ignore anti-aliasing effects.
|
|
330
|
+
*/
|
|
331
|
+
ignoreAntialiasing: boolean;
|
|
332
|
+
/**
|
|
333
|
+
* Compare two black-and-white versions of the images, ignoring colors.
|
|
334
|
+
*/
|
|
335
|
+
ignoreColors: boolean;
|
|
336
|
+
/**
|
|
337
|
+
* Use a less sensitive comparison setting:
|
|
338
|
+
* red = 16, green = 16, blue = 16, alpha = 16, minBrightness = 16, maxBrightness = 240
|
|
339
|
+
*/
|
|
340
|
+
ignoreLess: boolean;
|
|
341
|
+
/**
|
|
342
|
+
* Use the most sensitive comparison setting:
|
|
343
|
+
* red = 0, green = 0, blue = 0, alpha = 0, minBrightness = 0, maxBrightness = 255
|
|
344
|
+
*/
|
|
345
|
+
ignoreNothing: boolean;
|
|
346
|
+
/**
|
|
347
|
+
* Return the raw mismatch percentage as a decimal (e.g., `0.12345678`), instead of a rounded value (e.g., `0.12`).
|
|
348
|
+
*/
|
|
349
|
+
rawMisMatchPercentage: boolean;
|
|
350
|
+
/**
|
|
351
|
+
* Return all comparison data, not just the mismatch percentage.
|
|
352
|
+
*/
|
|
353
|
+
returnAllCompareData: boolean;
|
|
354
|
+
/**
|
|
355
|
+
* Mismatch percentage threshold above which the image with differences will be saved.
|
|
356
|
+
*/
|
|
357
|
+
saveAboveTolerance: number;
|
|
358
|
+
/**
|
|
359
|
+
* Scale images to the same size before comparing them.
|
|
360
|
+
*/
|
|
361
|
+
scaleImagesToSameSize: boolean;
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=options.interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.interfaces.d.ts","sourceRoot":"","sources":["../../src/helpers/options.interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { DEFAULT_COMPARE_OPTIONS, DEFAULT_FORMAT_STRING, DEFAULT_SHADOW, DEFAULT_TABBABLE_OPTIONS, FULL_PAGE_SCROLL_TIMEOUT, STORYBOOK_FORMAT_STRING, } from './constants.js';
|
|
2
|
+
import { logAllDeprecatedCompareOptions, isStorybook, getBooleanOption, createConditionalProperty, getMethodOrWicOption, } from './utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Determine the default options by merging user options with sensible defaults
|
|
5
|
+
*/
|
|
6
|
+
export function defaultOptions(options) {
|
|
7
|
+
const isStorybookMode = isStorybook();
|
|
8
|
+
return {
|
|
9
|
+
/**
|
|
10
|
+
* Module-specific options
|
|
11
|
+
*/
|
|
12
|
+
addressBarShadowPadding: options.addressBarShadowPadding ?? DEFAULT_SHADOW.ADDRESS_BAR,
|
|
13
|
+
autoElementScroll: getBooleanOption(options, 'autoElementScroll', true),
|
|
14
|
+
addIOSBezelCorners: options.addIOSBezelCorners ?? false,
|
|
15
|
+
autoSaveBaseline: options.autoSaveBaseline ?? true,
|
|
16
|
+
clearFolder: options.clearRuntimeFolder ?? false,
|
|
17
|
+
userBasedFullPageScreenshot: options.userBasedFullPageScreenshot ?? false,
|
|
18
|
+
enableLegacyScreenshotMethod: options.enableLegacyScreenshotMethod ?? false,
|
|
19
|
+
formatImageName: options.formatImageName ?? (isStorybookMode ? STORYBOOK_FORMAT_STRING : DEFAULT_FORMAT_STRING),
|
|
20
|
+
isHybridApp: options.isHybridApp ?? false,
|
|
21
|
+
// Running in storybook mode with multiple browsers can generate many images
|
|
22
|
+
// Defaulting this to true provides better overview for users
|
|
23
|
+
savePerInstance: options.savePerInstance ?? isStorybookMode,
|
|
24
|
+
toolBarShadowPadding: options.toolBarShadowPadding ?? DEFAULT_SHADOW.TOOL_BAR,
|
|
25
|
+
/**
|
|
26
|
+
* Module and method options
|
|
27
|
+
*/
|
|
28
|
+
disableBlinkingCursor: options.disableBlinkingCursor ?? false,
|
|
29
|
+
disableCSSAnimation: options.disableCSSAnimation ?? false,
|
|
30
|
+
enableLayoutTesting: options.enableLayoutTesting ?? false,
|
|
31
|
+
fullPageScrollTimeout: options.fullPageScrollTimeout ?? FULL_PAGE_SCROLL_TIMEOUT,
|
|
32
|
+
// Default to false for storybook mode as element screenshots use W3C protocol without scrollbars
|
|
33
|
+
// This also saves an extra webdriver call
|
|
34
|
+
hideScrollBars: getBooleanOption(options, 'hideScrollBars', !isStorybookMode),
|
|
35
|
+
waitForFontsLoaded: options.waitForFontsLoaded ?? true,
|
|
36
|
+
/**
|
|
37
|
+
* Compare options (merged sequentially):
|
|
38
|
+
* 1. Default options (fallback)
|
|
39
|
+
* 2. Root compareOptions (deprecated but supported)
|
|
40
|
+
* 3. User-provided compareOptions
|
|
41
|
+
*/
|
|
42
|
+
compareOptions: {
|
|
43
|
+
...DEFAULT_COMPARE_OPTIONS,
|
|
44
|
+
...logAllDeprecatedCompareOptions(options),
|
|
45
|
+
...options.compareOptions,
|
|
46
|
+
},
|
|
47
|
+
/**
|
|
48
|
+
* Tabbable options with deep merging
|
|
49
|
+
*/
|
|
50
|
+
tabbableOptions: {
|
|
51
|
+
circle: {
|
|
52
|
+
...DEFAULT_TABBABLE_OPTIONS.circle,
|
|
53
|
+
...options.tabbableOptions?.circle,
|
|
54
|
+
},
|
|
55
|
+
line: {
|
|
56
|
+
...DEFAULT_TABBABLE_OPTIONS.line,
|
|
57
|
+
...options.tabbableOptions?.line,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Determine the screen method compare options with proper type safety
|
|
64
|
+
*/
|
|
65
|
+
export function screenMethodCompareOptions(options) {
|
|
66
|
+
return {
|
|
67
|
+
...createConditionalProperty('blockOutSideBar' in options, 'blockOutSideBar', options.blockOutSideBar),
|
|
68
|
+
...createConditionalProperty('blockOutStatusBar' in options, 'blockOutStatusBar', options.blockOutStatusBar),
|
|
69
|
+
...createConditionalProperty('blockOutToolBar' in options, 'blockOutToolBar', options.blockOutToolBar),
|
|
70
|
+
...methodCompareOptions(options),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Determine the method compare options with improved type safety
|
|
75
|
+
*/
|
|
76
|
+
export function methodCompareOptions(options) {
|
|
77
|
+
const compareOptionKeys = [
|
|
78
|
+
'blockOut',
|
|
79
|
+
'ignoreAlpha',
|
|
80
|
+
'ignoreAntialiasing',
|
|
81
|
+
'ignoreColors',
|
|
82
|
+
'ignoreLess',
|
|
83
|
+
'ignoreNothing',
|
|
84
|
+
'rawMisMatchPercentage',
|
|
85
|
+
'returnAllCompareData',
|
|
86
|
+
'saveAboveTolerance',
|
|
87
|
+
'scaleImagesToSameSize',
|
|
88
|
+
];
|
|
89
|
+
return compareOptionKeys.reduce((result, key) => {
|
|
90
|
+
if (key in options && options[key] !== undefined) {
|
|
91
|
+
result[key] = options[key]; // Type assertion needed due to union types
|
|
92
|
+
}
|
|
93
|
+
return result;
|
|
94
|
+
}, {});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Creates BeforeScreenshotOptions by extracting common options from method and wic configurations
|
|
98
|
+
*/
|
|
99
|
+
export function createBeforeScreenshotOptions(instanceData, methodOptions, wicOptions) {
|
|
100
|
+
return {
|
|
101
|
+
instanceData,
|
|
102
|
+
addressBarShadowPadding: wicOptions.addressBarShadowPadding,
|
|
103
|
+
disableBlinkingCursor: getMethodOrWicOption(methodOptions, wicOptions, 'disableBlinkingCursor') || false,
|
|
104
|
+
disableCSSAnimation: getMethodOrWicOption(methodOptions, wicOptions, 'disableCSSAnimation') || false,
|
|
105
|
+
enableLayoutTesting: getMethodOrWicOption(methodOptions, wicOptions, 'enableLayoutTesting') || false,
|
|
106
|
+
hideElements: methodOptions.hideElements || [],
|
|
107
|
+
noScrollBars: getMethodOrWicOption(methodOptions, wicOptions, 'hideScrollBars') || false,
|
|
108
|
+
removeElements: methodOptions.removeElements || [],
|
|
109
|
+
toolBarShadowPadding: wicOptions.toolBarShadowPadding,
|
|
110
|
+
waitForFontsLoaded: getMethodOrWicOption(methodOptions, wicOptions, 'waitForFontsLoaded') || false,
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Builds AfterScreenshotOptions consistently across all commands
|
|
115
|
+
* Handles differences between native and web commands automatically
|
|
116
|
+
*/
|
|
117
|
+
export function buildAfterScreenshotOptions({ base64Image, folders, tag, isNativeContext, instanceData, enrichedInstanceData, beforeOptions, wicOptions }) {
|
|
118
|
+
// Use enriched data when available (web commands), fallback to instance data (native commands)
|
|
119
|
+
const dataSource = enrichedInstanceData || instanceData;
|
|
120
|
+
// Extract common properties with smart fallbacks
|
|
121
|
+
const { browserName, browserVersion, deviceName, platformName, platformVersion, } = dataSource;
|
|
122
|
+
// Handle dimension data - enriched data has nested structure, instance data is flat
|
|
123
|
+
const dimensions = enrichedInstanceData?.dimensions?.window;
|
|
124
|
+
const devicePixelRatio = dimensions?.devicePixelRatio ?? instanceData.devicePixelRatio;
|
|
125
|
+
const isLandscape = dimensions?.isLandscape ?? false;
|
|
126
|
+
const outerHeight = dimensions?.outerHeight;
|
|
127
|
+
const outerWidth = dimensions?.outerWidth;
|
|
128
|
+
const screenHeight = dimensions?.screenHeight ?? instanceData.deviceRectangles?.screenSize?.height;
|
|
129
|
+
const screenWidth = dimensions?.screenWidth ?? instanceData.deviceRectangles?.screenSize?.width;
|
|
130
|
+
// Handle metadata with smart defaults
|
|
131
|
+
const isMobile = enrichedInstanceData?.isMobile ?? instanceData.isMobile;
|
|
132
|
+
const isTestInBrowser = enrichedInstanceData?.isTestInBrowser ?? !isNativeContext;
|
|
133
|
+
const logName = enrichedInstanceData?.logName ?? instanceData.logName;
|
|
134
|
+
const name = enrichedInstanceData?.name ?? instanceData.name;
|
|
135
|
+
const { formatImageName, savePerInstance } = wicOptions;
|
|
136
|
+
const afterOptions = {
|
|
137
|
+
actualFolder: folders.actualFolder,
|
|
138
|
+
base64Image,
|
|
139
|
+
filePath: {
|
|
140
|
+
browserName,
|
|
141
|
+
deviceName,
|
|
142
|
+
isMobile,
|
|
143
|
+
savePerInstance,
|
|
144
|
+
},
|
|
145
|
+
fileName: {
|
|
146
|
+
browserName,
|
|
147
|
+
browserVersion,
|
|
148
|
+
deviceName,
|
|
149
|
+
devicePixelRatio: devicePixelRatio || NaN,
|
|
150
|
+
formatImageName,
|
|
151
|
+
isMobile,
|
|
152
|
+
isTestInBrowser,
|
|
153
|
+
logName,
|
|
154
|
+
name,
|
|
155
|
+
outerHeight: outerHeight || NaN,
|
|
156
|
+
outerWidth: outerWidth || NaN,
|
|
157
|
+
platformName,
|
|
158
|
+
platformVersion,
|
|
159
|
+
screenHeight: screenHeight || NaN,
|
|
160
|
+
screenWidth: screenWidth || NaN,
|
|
161
|
+
tag,
|
|
162
|
+
},
|
|
163
|
+
isLandscape,
|
|
164
|
+
isNativeContext,
|
|
165
|
+
platformName: instanceData.platformName,
|
|
166
|
+
};
|
|
167
|
+
// Add browser state options only for web commands (when beforeOptions is provided)
|
|
168
|
+
if (beforeOptions) {
|
|
169
|
+
afterOptions.disableBlinkingCursor = beforeOptions.disableBlinkingCursor;
|
|
170
|
+
afterOptions.disableCSSAnimation = beforeOptions.disableCSSAnimation;
|
|
171
|
+
afterOptions.enableLayoutTesting = beforeOptions.enableLayoutTesting;
|
|
172
|
+
afterOptions.hideElements = beforeOptions.hideElements;
|
|
173
|
+
afterOptions.hideScrollBars = beforeOptions.noScrollBars;
|
|
174
|
+
afterOptions.removeElements = beforeOptions.removeElements;
|
|
175
|
+
}
|
|
176
|
+
return afterOptions;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Prepare ignore options for resemble.js comparison
|
|
180
|
+
*/
|
|
181
|
+
export function prepareIgnoreOptions(imageCompareOptions) {
|
|
182
|
+
const resembleIgnoreDefaults = ['alpha', 'antialiasing', 'colors', 'less', 'nothing'];
|
|
183
|
+
return resembleIgnoreDefaults.filter((option) => Object.keys(imageCompareOptions).find((key) => key.toLowerCase().includes(option) && imageCompareOptions[key]));
|
|
184
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.test.d.ts","sourceRoot":"","sources":["../../src/helpers/options.test.ts"],"names":[],"mappings":""}
|