yesod-test 1.6.10 → 1.6.11
raw patch · 3 files changed
+21/−15 lines, 3 filesdep −semigroups
Dependencies removed: semigroups
Files
- ChangeLog.md +4/−0
- Yesod/Test.hs +16/−13
- yesod-test.cabal +1/−2
ChangeLog.md view
@@ -1,5 +1,9 @@ # ChangeLog for yesod-test +## 1.6.11++* Add missing `HasCallStack`s [#1710](https://github.com/yesodweb/yesod/pull/1710)+ ## 1.6.10 * `statusIs` assertion failures now print a preview of the response body, if the response body is UTF-8 or ASCII. [#1680](https://github.com/yesodweb/yesod/pull/1680/files)
Yesod/Test.hs view
@@ -500,7 +500,8 @@ -- Performs a given action using the last response. Use this to create -- response-level assertions-withResponse' :: (state -> Maybe SResponse)+withResponse' :: HasCallStack+ => (state -> Maybe SResponse) -> [T.Text] -> (SResponse -> SIO state a) -> SIO state a@@ -514,7 +515,7 @@ -- | Performs a given action using the last response. Use this to create -- response-level assertions-withResponse :: (SResponse -> YesodExample site a) -> YesodExample site a+withResponse :: HasCallStack => (SResponse -> YesodExample site a) -> YesodExample site a withResponse = withResponse' yedResponse [] -- | Use HXT to parse a value from an HTML tag.@@ -523,7 +524,8 @@ parseHTML html = fromDocument $ HD.parseLBS html -- | Query the last response using CSS selectors, returns a list of matched fragments-htmlQuery' :: (state -> Maybe SResponse)+htmlQuery' :: HasCallStack+ => (state -> Maybe SResponse) -> [T.Text] -> Query -> SIO state [HtmlLBS]@@ -533,7 +535,7 @@ Right matches -> return $ map (encodeUtf8 . TL.pack) matches -- | Query the last response using CSS selectors, returns a list of matched fragments-htmlQuery :: Query -> YesodExample site [HtmlLBS]+htmlQuery :: HasCallStack => Query -> YesodExample site [HtmlLBS] htmlQuery = htmlQuery' yedResponse [] -- | Asserts that the two given values are equal.@@ -803,7 +805,7 @@ -- > {-# LANGUAGE OverloadedStrings #-} -- > get HomeR -- > printMatches "h1" -- Prints all h1 tags-printMatches :: Query -> YesodExample site ()+printMatches :: HasCallStack => Query -> YesodExample site () printMatches query = do matches <- htmlQuery query liftIO $ hPutStrLn stderr $ show matches@@ -863,7 +865,7 @@ -- | -- This looks up the name of a field based on the contents of the label pointing to it.-genericNameFromLabel :: (T.Text -> T.Text -> Bool) -> T.Text -> RequestBuilder site T.Text+genericNameFromLabel :: HasCallStack => (T.Text -> T.Text -> Bool) -> T.Text -> RequestBuilder site T.Text genericNameFromLabel match label = do mres <- fmap rbdResponse getSIO res <-@@ -1135,7 +1137,7 @@ -- -- > request $ do -- > addToken_ "#formID"-addToken_ :: Query -> RequestBuilder site ()+addToken_ :: HasCallStack => Query -> RequestBuilder site () addToken_ scope = do matches <- htmlQuery' rbdResponse ["Tried to get CSRF token with addToken'"] $ scope <> " input[name=_token][type=hidden][value]" case matches of@@ -1149,7 +1151,7 @@ -- -- > request $ do -- > addToken-addToken :: RequestBuilder site ()+addToken :: HasCallStack => RequestBuilder site () addToken = addToken_ "" -- | Calls 'addTokenFromCookieNamedToHeaderNamed' with the 'defaultCsrfCookieName' and 'defaultCsrfHeaderName'.@@ -1162,7 +1164,7 @@ -- > addTokenFromCookie -- -- Since 1.4.3.2-addTokenFromCookie :: RequestBuilder site ()+addTokenFromCookie :: HasCallStack => RequestBuilder site () addTokenFromCookie = addTokenFromCookieNamedToHeaderNamed defaultCsrfCookieName defaultCsrfHeaderName -- | Looks up the CSRF token stored in the cookie with the given name and adds it to the request headers. An error is thrown if the cookie can't be found.@@ -1178,7 +1180,8 @@ -- > addTokenFromCookieNamedToHeaderNamed "cookieName" (CI "headerName") -- -- Since 1.4.3.2-addTokenFromCookieNamedToHeaderNamed :: ByteString -- ^ The name of the cookie+addTokenFromCookieNamedToHeaderNamed :: HasCallStack+ => ByteString -- ^ The name of the cookie -> CI ByteString -- ^ The name of the header -> RequestBuilder site () addTokenFromCookieNamedToHeaderNamed cookieName headerName = do@@ -1201,7 +1204,7 @@ -- > liftIO $ putStrLn $ "Cookies are: " ++ show cookies -- -- Since 1.4.3.2-getRequestCookies :: RequestBuilder site Cookies+getRequestCookies :: HasCallStack => RequestBuilder site Cookies getRequestCookies = do requestBuilderData <- getSIO headers <- case simpleHeaders Control.Applicative.<$> rbdResponse requestBuilderData of@@ -1363,7 +1366,7 @@ -- > clickOn "a#idofthelink" -- -- @since 1.5.7 -clickOn :: Yesod site => Query -> YesodExample site ()+clickOn :: (HasCallStack, Yesod site) => Query -> YesodExample site () clickOn query = do withResponse' yedResponse ["Tried to invoke clickOn in order to read HTML of a previous response."] $ \ res -> case findAttributeBySelector (simpleBody res) query "href" of@@ -1567,7 +1570,7 @@ parseSetCookies headers = map (Cookie.parseSetCookie . snd) $ DL.filter (("Set-Cookie"==) . fst) $ headers -- Yes, just a shortcut-failure :: (MonadIO a) => T.Text -> a b+failure :: (HasCallStack, MonadIO a) => T.Text -> a b failure reason = (liftIO $ HUnit.assertFailure $ T.unpack reason) >> error "" type TestApp site = (site, Middleware)
yesod-test.cabal view
@@ -1,5 +1,5 @@ name: yesod-test-version: 1.6.10+version: 1.6.11 license: MIT license-file: LICENSE author: Nubis <nubis@woobiz.com.ar>@@ -32,7 +32,6 @@ , network >= 2.2 , memory , pretty-show >= 1.6- , semigroups , text , time , transformers >= 0.2.2