packages feed

quickcheck-webdriver 0.1.0.1 → 0.1.0.3

raw patch · 2 files changed

+50/−24 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Test.QuickCheck.Monadic.WebDriver: ExistingSession :: WDSession -> Context
+ Test.QuickCheck.Monadic.WebDriver: SessionParams :: Capabilities -> (WD ()) -> Context
+ Test.QuickCheck.Monadic.WebDriver: caps :: Browser -> Capabilities
+ Test.QuickCheck.Monadic.WebDriver: capsChrome :: Capabilities
+ Test.QuickCheck.Monadic.WebDriver: capsFirefox :: Capabilities
+ Test.QuickCheck.Monadic.WebDriver: chrome' :: Browser
+ Test.QuickCheck.Monadic.WebDriver: chromeOpts :: [String]
+ Test.QuickCheck.Monadic.WebDriver: data Context
+ Test.QuickCheck.Monadic.WebDriver: monadicWD :: Context -> PropertyM WD a -> Property
+ Test.QuickCheck.Monadic.WebDriver: runIO :: IO a -> PropertyM WD a
+ Test.QuickCheck.Monadic.WebDriver: seshParams :: Browser -> Context
+ Test.QuickCheck.Monadic.WebDriver: seshParamsChrome :: Context
+ Test.QuickCheck.Monadic.WebDriver: seshParamsFirefox' :: Context

Files

Test/QuickCheck/Monadic/WebDriver.hs view
@@ -5,39 +5,65 @@ {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE OverloadedStrings   #-} -module Test.QuickCheck.Monadic.WebDriver -    (-    -- * Example-    -- $example-    ) where -import Prelude +-- |+-- Module:      Test.QuickCheck.Monadic.WebDriver+-- Copyright:   (c) 2014 Christian Brink+-- License:     MIT+-- Maintainer:  Christian Brink+-- +-- Example usage:+--+-- > import Test.QuickCheck+-- > import Test.QuickCheck.Monadic (run, pick, assert)+-- > import Test.WebDriver+-- > prop_Example = monadicWD context $ do+-- >     url <- pick $ oneof ("http://www.yesodweb.com", "http://snapframework.com/")+-- >     run $ openPage url+-- >     assert True+-- >     runIO $ putStrLn $ "We've just evaluated a `Gen a` using `pick` and \+-- >                        \a `WD ()` using `run`, then asserted a that a \+-- >                        \property holds using `assert`."+-- >  where context = SessionParams allCaps (return ())++module Test.QuickCheck.Monadic.WebDriver where++import Prelude import Test.QuickCheck import Test.QuickCheck.Property import Test.QuickCheck.Monadic as QCM- import Test.WebDriver--import Data.Monoid                            ((<>)) import Control.Monad.IO.Class --- |Patterned after `Test.QuickCheck.Monadic.monadicIO`.-monadicWD capabilities wd = monadic wdProperty wd-    where runSesh    = runSession defaultSession capabilities-          wdProperty = ioProperty . runSesh+data Context = ExistingSession WDSession +             | SessionParams Capabilities (WD ()) +-- |Patterned after `monadicIO` (and `ioProperty`).+monadicWD context wd = monadic wdProperty wd+  where +    wdProperty = ioProperty . runSesh+    runSesh action = case context of+        ExistingSession sesh -> runWD sesh action+        SessionParams caps setup -> runSession defaultSession caps $ setup >> action+          + runIO :: IO a -> PropertyM WD a runIO = QCM.run . liftIO +chromeOpts = [ "--log-level=0" ]++chrome' = chrome { chromeOptions = chromeOpts }++caps browser = allCaps {browser=browser} ++capsChrome = caps chrome'+capsFirefox = caps firefox++seshParams browser = SessionParams (caps browser) $ return ()++seshParamsChrome   = seshParams chrome'+seshParamsFirefox' = seshParams firefox+ -- $example--- > import Test.QuickCheck--- > import Test.QuickCheck.Monadic (run, pick, assert)--- > import Test.WebDriver--- > prop_Example = monadicWD allCaps $ do--- >     url <- pick $ oneof ("http://www.yesodweb.com", "http://snapframework.com/")--- >     run $ openPage url--- >     assert True--- >     runIO $ putStrLn $ "We've just evaluated a `Gen a` using `pick` and \--- >                        \a `WD ()` using `run`, then asserted a that a \--- >                        \property holds using `assert`."+--
quickcheck-webdriver.cabal view
@@ -2,7 +2,7 @@ --  documentation, see http://haskell.org/cabal/users-guide/  name:                quickcheck-webdriver-version:             0.1.0.1+version:             0.1.0.3 synopsis:            Utilities for using WebDriver with QuickCheck -- description:          license:             MIT