ú΋¶…ÊH      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG Safe-Inferred GParses a query into an intermediate format which is easy to feed to HXTDThe top-level lists represent the top level comma separated queries.aSelectorGroup is a group of qualifiers which are separated with spaces or > like these three: table.main.odd tr.even > td.biglA SelectorGroup as a list of Selector items, following the above example the selectors in the group are: table, .main and .oddH‘pIdent : Parse an identifier (not yet supporting escapes and unicode as part of the identifier). Basically the regex: [-]?[_a-zA-Z][_a-zA-Z0-9]* IJKLMNOPQHRST     IJKLMNOPQHRSTNonePerform a css  on Html. Returns EitherLeft: Query parse error.'Right: List of matching Html fragments. UVW     UVWNone 234=K/The Ó state monad constructs a URL encoded string of arguments to send with your requests. Some of the functions that run on it use the current response to analyze the forms that the server is expecting to receive.XORequest parts let us discern regular key/values from files sent in the request.2Internal data structure, corresponding to hspec's . Since 1.2.0Corresponds to hspec's Spec. Since 1.2.0Y"Mapping from cookie name to value. Since 1.2.0#A single test case, to be run with %. Since 1.2.03The state used in a single test case defined using % Since 1.2.43Get the foundation value used for the current test. Since 1.2.0 <Get the most recently provided response value, if available. Since 1.2.0!MStart describing a Tests suite keeping cookies and a reference to the tested Z and ConnectionPool#rSame as yesodSpec, but instead of taking already built site it takes an action which produces site for each test.$WSame as yesodSpec, but instead of taking a site it takes an action which produces the ZG for each test. This lets you use your middleware from makeApplication%PDescribe a single test that keeps cookies, and a reference to the last response.&^Performs a given action using the last response. Use this to create response-level assertions']Use HXT to parse a value from an HTML tag. Check for usage examples in this module's source.[PQuery the last response using CSS selectors, returns a list of matched fragments(PQuery the last response using CSS selectors, returns a list of matched fragments),Asserts that the two given values are equal.*/Assert the last response status is as expected.+4Assert the given header key/value pair was returned.,9Assert the given header was not included in the response.-gAssert the last response is exactly equal to the given text. This is useful for testing API responses..oAssert the last response has the given text. The check is performed using the response body in full text form./_Queries the HTML using a CSS selector, and all matched elements must contain the given string.0dQueries the HTML using a CSS selector, and passes if any matched element contains the given string. Since 0.3.51£Queries the HTML using a CSS selector, and fails if any matched element contains the given string (in other words, it is the logical inverse of htmlAnyContains). Since 1.2.22dPerforms a CSS query on the last response and asserts the matched elements are as many as expected.3NOutputs the last response body to stderr (So it doesn't get captured by HSpec)45Performs a CSS query and print the matches to stderr.5BAdd a parameter with the given name and value to the request body.6BAdd a parameter with the given name and value to the query string.71Add a file to be posted with the current request.\Adding a file will automatically change your request content-type to be multipart/form-data.Examples Krequest $ do addFile "profile_picture" "static/img/picture.png" "img/png"8 Finds the <label>/ with the given value, finds its corresponding <input><, then adds a parameter for that input to the request body.Examples#Given this HTML, we want to submit  f1=Michael to the server: a<form method="POST"> <label for="user">Username</label> <input id="user" name="f1" /> </form>#You can set this parameter like so: +request $ do byLabel "Username" "Michael"EThis function also supports the implicit label syntax, in which the <input> is nested inside the <label> rather than specified with for: I<form method="POST"> <label>Username <input name="f1"> </label> </form>9 Finds the <label>/ with the given value, finds its corresponding <input>6, then adds a file for that input to the request body.ExamplesBGiven this HTML, we want to submit a file with the parameter name f1 to the server: –<form method="POST"> <label for="imageInput">Please submit an image</label> <input id="imageInput" type="file" name="f1" accept="image/*"> </form>#You can set this parameter like so: Vrequest $ do fileByLabel "Please submit an image" "static/img/picture.png" "img/png"EThis function also supports the implicit label syntax, in which the <input> is nested inside the <label> rather than specified with for: c<form method="POST"> <label>Please submit an image <input type="file" name="f1"> </label> </form>: Lookups the hidden input named "_token" and adds its value to the params. Receives a CSS selector that should resolve to the form element containing the token.Examples "request $ do addToken_ "#formID";TFor responses that display a single form, just lookup the only CSRF token available.Examples request $ do addToken<Calls = with the \ and ].;Use this function if you're using the CSRF middleware from  Yesod.Core2 and haven't customized the cookie or header name.Examples !request $ do addTokenFromCookie Since 1.4.3.2=•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.;Use this function if you're using the CSRF middleware from  Yesod.Core/ and have customized the cookie or header name.See Yesod.Core.Handler1 for details on this approach to CSRF protection.Examples simport Data.CaseInsensitive (CI) request $ do addTokenFromCookieNamedToHeaderNamed "cookieName" (CI "headerName") Since 1.4.3.2> Returns the YQ from the most recent request. If a request hasn't been made, an error is raised.Examples arequest $ do cookies <- getRequestCookies liftIO $ putStrLn $ "Cookies are: " ++ show cookies Since 1.4.3.2?Perform a POST request to url.Examples  post HomeR@Perform a POST request to url with the given body.Examples postBody HomeR "foobar" Limport Data.Aeson postBody HomeR (encode $ object ["age" .= (1 :: Integer)])APerform a GET request to url.Examples  get HomeR !get ("http://google.com" :: Text)B)Sets the HTTP method used by the request.Examples request $ do setMethod "POST" Cimport Network.HTTP.Types.Method request $ do setMethod methodPutC!Sets the URL used by the request.Examples request $ do setUrl HomeR 4request $ do setUrl ("http://google.com/" :: Text)D#Simple way to set HTTP request body Examples &request $ do setRequestBody "foobar" [import Data.Aeson request $ do setRequestBody $ encode $ object ["age" .= (1 :: Integer)]E*Adds the given header to the request; see Network.HTTP.Types.Header for creating ^s.Examples cimport Network.HTTP.Types.Header request $ do addRequestHeader (hUserAgent, "Chrome/41.0.2228.0")F/The general interface for performing requests. F takes a ), constructs a request, and executes it.The i allows you to build up attributes of the request, like the headers, parameters, and URL of the request.Examples Xrequest $ do addToken byLabel "First Name" "Felipe" setMethod "PUT" setUrl NameROX_`abcdefghijklY !"#$%m&'[()*+,-.n/01234567 The parameter name for the file.The path to the file.,The MIME type of the file, e.g. "image/png".op8The text contained in the <label>."The value to set the parameter to.9The text contained in the <label>.The path to the file.,The MIME type of the file, e.g. "image/png".:;<=The name of the cookieThe name of the header>?@ABCDEFqrGs7 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG7"#$G!%A?@FEB567DC89;:<=)+,*-./012 >34('&<X`_acbdefghijklY !"#$%m&'[()*+,-.n/01234567op89:;<=>?@ABCDEFqrGst      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcabdaefghijkllmnopqrstuvwxyz{yesod-test-1.5Yesod.Test.CssQueryYesod.Test.TransversingCSS Yesod.TestSelector ByAttrEnds ByAttrStartsByAttrContains ByAttrEquals ByAttrExists ByTagNameByClassById SelectorGroup DeepChildrenDirectChildren parseQueryHtmlLBSQueryfindBySelectorrunQueryYSpecTestAppRequestBuilder YesodSpecTree YesodSpecItemYesodSpecGroup YesodSpec YesodExampleYesodExampleDatayedAppyedSite yedCookies yedResponse getTestYesod getResponse ydescribe yesodSpecyesodSpecWithSiteGenerator yesodSpecAppyit withResponse parseHTML htmlQuery assertEqualstatusIs assertHeaderassertNoHeader bodyEquals bodyContainshtmlAllContainhtmlAnyContainhtmlNoneContain htmlCount printBody printMatches addPostParam addGetParamaddFilebyLabel fileByLabel addToken_addTokenaddTokenFromCookie$addTokenFromCookieNamedToHeaderNamedgetRequestCookiespostpostBodyget setMethodsetUrlsetRequestBodyaddRequestHeaderrequesttestApppIdentcssQueryrulesdirectChildren deepChildrenparseSelectorsparseId parseClassparseTag parseAttr pAttrValuepSquarepOptionalTrailingSpacerunGroup selectorsselector RequestPartCookies wai-3.0.3.0 Network.Wai Application htmlQuery'yesod-core-1.4.14Yesod.Core.HandlerdefaultCsrfCookieNamedefaultCsrfHeaderNameYesod.Core.TypesHeader ReqFilePart ReqKvPart RBDPostDataBinaryPostDataMultipleItemsPostDataRequestBuilderData rbdPostData rbdResponse rbdMethodrbdSiterbdPathrbdGets rbdHeaders withResponse'contains nameFromLabel<>parseSetCookiesfailure$fExampleStateT