packages feed

sydtest-webdriver-screenshot 0.0.0.0 → 0.0.0.1

raw patch · 3 files changed

+31/−21 lines, 3 filesbinary-addedPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Test.Syd.Webdriver.Screenshot: debugScreenshot :: FilePath -> WebdriverTestM app ()
+ Test.Syd.Webdriver.Screenshot: normaliseImage :: ByteString -> IO (Image PixelRGB8)

Files

src/Test/Syd/Webdriver/Screenshot.hs view
@@ -54,22 +54,18 @@                     screenshotImage = convertRGB8 dynamicImage                   },       goldenTestProduce = do-        let sb = LB.toStrict contents-        case decodePng sb of-          Left err -> expectationFailure $ "Could not parse screenshot as png: " <> err-          Right dynamicImage -> do-            let image = convertRGB8 dynamicImage-            relFile <- parseRelFile fp-            tempDir <- resolveDir' "screenshot-comparison"-            let tempFile = tempDir </> relFile-            ensureDir $ parent tempFile-            -- Write it to a file so we can compare it if it differs.-            writePng (fromAbsFile tempFile) image-            pure $-              Screenshot-                { screenshotFile = tempFile,-                  screenshotImage = image-                },+        image <- normaliseImage contents+        relFile <- parseRelFile fp+        tempDir <- resolveDir' "screenshot-comparison"+        let tempFile = tempDir </> relFile+        ensureDir $ parent tempFile+        -- Write it to a file so we can compare it if it differs.+        writePng (fromAbsFile tempFile) image+        pure $+          Screenshot+            { screenshotFile = tempFile,+              screenshotImage = image+            },       goldenTestWrite = \(Screenshot _ actual) -> do         relFile <- parseRelFile fp         currentDir <- getCurrentDir@@ -88,3 +84,19 @@                     "actual: " <> fromAbsFile actualPath                   ]     }++debugScreenshot :: FilePath -> WebdriverTestM app ()+debugScreenshot fp = do+  contents <- screenshot+  liftIO $ do+    image <- normaliseImage contents+    writePng fp image++normaliseImage :: LB.ByteString -> IO (Image PixelRGB8)+normaliseImage contents = do+  let sb = LB.toStrict contents+  case decodePng sb of+    Left err -> expectationFailure $ "Could not parse screenshot as png: " <> err+    Right dynamicImage -> do+      let image = convertRGB8 dynamicImage+      pure image
sydtest-webdriver-screenshot.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.6.+-- This file has been generated from package.yaml by hpack version 0.34.7. -- -- see: https://github.com/sol/hpack  name:           sydtest-webdriver-screenshot-version:        0.0.0.0+version:        0.0.0.1 synopsis:       A webdriver screenshot companion library for sydtest category:       Testing author:         Tom Sydney Kerckhove@@ -16,6 +16,7 @@ build-type:     Simple extra-source-files:     LICENSE.md+    test_resources/home.png  library   exposed-modules:@@ -28,13 +29,10 @@       JuicyPixels     , base >=4.7 && <5     , bytestring-    , http-types     , mtl-    , network-uri     , path     , path-io     , sydtest-    , sydtest-wai     , sydtest-webdriver     , webdriver   default-language: Haskell2010
+ test_resources/home.png view

binary file changed (absent → 12366 bytes)