Îõ³h$v Ç      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFNone />?ÀÁÂÄÉÎÑ×ÙŠ, hspec-snap$A data type for tests against forms. hspec-snap4The value the form should take (and should be valid) hspec-snap(The error paths that should be populated hspec-snap9Factory instances allow you to easily generate test data.üEssentially, you specify a default way of constructing a data type, and allow certain parts of it to be modified (via the  data structure).An example follows: ˜data Foo = Foo Int newtype FooFields = FooFields (IO Int) instance Factory App Foo FooFields where fields = FooFields randomIO save f = liftIO f >>= saveFoo . Foo1 main = do create id :: SnapHspecM App Foo create (const $ FooFields (return 1)) :: SnapHspecM App Foo  hspec-snap™Internal state used to share site initialization across tests, and to propogate failures. Understanding it is completely unnecessary to use the library.&The fields it contains, in order, are: ŠResult Main handler Startup state Startup state Session state Before handler (runs before each eval) After handler (runs after each eval).  hspec-snapçThe main monad that tests run inside of. This allows both access to the application (via requests and (#) and to running assertions (like 1 or 9). hspec-snapïThe result of making requests against your application. Most assertions act against these types (for example, /, 7, etc). hspec-snapThe way to run a block of   tests within an GÔ test suite. This takes both the top level handler (usually `route routes`, where routesÊ are all the routes for your site) and the site initializer (often named appÂ), and a block of tests. A test suite can have multiple calls to ý, though each one will cause the site initializer to run, which is often a slow operation (and will slow down test suites). hspec-snap·This allows you to change the default handler you are running requests against within a block. This is most likely useful for setting request state (for example, logging a user in). hspec-snap%This performs a similar operation to  but in the context of  ! (which is needed if you need to (Ñ, produce values, and hand them somewhere else (so they can't be created within f). hspec-snap*Evaluate a Handler action after each test. hspec-snap+Evaluate a Handler action before each test. hspec-snapRuns a DELETE request  hspec-snapRuns a GET request.! hspec-snap-Runs a GET request, with a set of parameters." hspec-snap!A helper to construct parameters.# hspec-snap5Creates a new POST request, with a set of parameters.$ hspec-snapÇCreates a new POST request with a given JSON value as the request body.% hspec-snapïCreates a new PUT request, with a set of parameters, with a default type of "application/x-www-form-urlencoded"& hspec-snap7Creates a new PUT request with a configurable MIME/type' hspec-snapÞRestricts a response to matches for a given CSS selector. Does nothing to non-Html responses.( hspec-snap8Runs an arbitrary stateful action from your application.) hspec-snapïRecords a test Success or Fail. Only the first Fail will be recorded (and will cause the whole block to Fail).* hspec-snapìAsserts that a given stateful action will produce a specific different result after an action has been run.+ hspec-snap"Asserts that two values are equal., hspec-snap&Asserts that two values are not equal.- hspec-snapAsserts that the value is True.. hspec-snap>Asserts that the value is not True (otherwise known as False)./ hspec-snapÏAsserts that the response is a success (either Html, or Other with status 200).0 hspec-snap.Asserts that the response is not a normal 200.1 hspec-snap(Asserts that the response is a NotFound.2 hspec-snap,Asserts that the response is not a NotFound.3 hspec-snap(Asserts that the response is a redirect.4 hspec-snap,Asserts that the response is not a redirect.5 hspec-snapæAsserts that the response is a redirect, and thet the url it redirects to starts with the given path.6 hspec-snapÁAsserts that the response is not a redirect to a given path. Note that it can still be a redirect for this assertion to succeed, the path it redirects to just can't start with the given path.7 hspec-snapÃAssert that a response (which should be Html) has a given selector.8 hspec-snapÌAssert that a response (which should be Html) doesn't have a given selector.9 hspec-snapÉAsserts that the response (which should be Html) contains the given text.: hspec-snapÑAsserts that the response (which should be Html) does not contain the given text.; hspec-snap'Tests against digestive-functors forms.< hspec-snapÌRuns a request (built with helpers from Snap.Test), resulting in a response.= hspec-snap‡Runs a request against a given handler (often the whole site), with the given state. Returns any triggered exception, or the response.> hspec-snapèEvaluates a given handler with the given state. Returns any triggered exception, or the value produced." hspec-snapPairs of parameter and value.; hspec-snap…If the form should succeed, Value a is what it should produce. If failing, ErrorPaths should be all the errors that are triggered. hspec-snapThe form to run hspec-snapThe parameters to pass?   !"#$%&'()*+,-./0123456789:;<=>?   !#$%&"'(*+,-./0123456789:; )<=>È       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIÊ)hspec-snap-1.0.3.0-JxSUthQow8J4c7J8EYuNQvTest.Hspec.SnapFormExpectationsValue Predicate ErrorPaths HasSessiongetSessionLensFactoryfieldssavecreatereloadSnapHspecState SnapHspecM TestResponseHtmlJsonNotFoundRedirectOtherEmptyRespCodesnap modifySite modifySite' afterEval beforeEval recordSessionsessionShouldContainsessionShouldNotContaindeletegetget'paramspostpostJsonputput'restrictResponseeval setResult shouldChange shouldEqualshouldNotEqual shouldBeTrueshouldNotBeTrue should200 shouldNot200 should404 shouldNot404 should300 shouldNot300 should300ToshouldNot300ToshouldHaveSelectorshouldNotHaveSelectorshouldHaveTextshouldNotHaveTextform runRequestrunHandlerSafeevalHandlerSafe$fExampleStateT$fShowTestResponse$fEqTestResponse$fShowRespCode$fReadRespCode $fEqRespCode $fNumRespCode $fOrdRespCode(hspec-core-2.7.10-CmjH2aCMv0lLhFFWhyfE3VTest.Hspec.Core.Runnerhspec