-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Testing JSON APIs with hspec-wai
--   
--   Testing JSON APIs with hspec-wai
@package hspec-wai-json
@version 0.9.0

module Test.Hspec.Wai.JSON

-- | A <a>QuasiQuoter</a> for constructing JSON values.
--   
--   The constructed value is polymorph and unifies to instances of
--   <a>FromValue</a>.
--   
--   When used as a <a>ResponseMatcher</a> it matches a response with
--   
--   <ul>
--   <li>a status code of <tt>200</tt></li>
--   <li>a <tt>Content-Type</tt> header with value
--   <tt>application/json</tt></li>
--   <li>the specified JSON as response body</li>
--   </ul>
--   
--   When used as a <tt>ByteString</tt> it creates a ByteString from the
--   specified JSON that can be used as a request body for e.g.
--   <tt>POST</tt> and <tt>PUT</tt> requests.
--   
--   Example:
--   
--   <pre>
--   &gt;&gt;&gt; L.putStrLn [json|[23, {foo: 42}]|]
--   [23,{"foo":42}]
--   </pre>
json :: QuasiQuoter
class FromValue a
fromValue :: FromValue a => Value -> a
instance Test.Hspec.Wai.JSON.FromValue Test.Hspec.Wai.Matcher.ResponseMatcher
instance Test.Hspec.Wai.JSON.FromValue Data.ByteString.Lazy.Internal.ByteString
