serverless-haskell-0.4.0: test/Data/Aeson/EmbeddedSpec.hs
{-# LANGUAGE OverloadedStrings #-}
module Data.Aeson.EmbeddedSpec where
import Data.Aeson
import Data.Aeson.Embedded
import Data.Aeson.TestUtil
import Test.Hspec
spec :: Spec
spec = describe "Embedded" $ do
testEncodeDecode "array" "\"[1,2,3]\"" $ Embedded [1::Int, 2, 3]
testEncodeDecode "string" "\"\\\"foo\\\"\"" $ Embedded ("foo"::String)
testEncodeDecode "object" "\"{\\\"a\\\":42,\\\"b\\\":true}\"" $ Embedded $ object ["a" .= (42::Int), "b" .= True]
testEncodeDecode "in field" "{\"a\":\"[1,2,3]\"}" $ object ["a" .= Embedded [1::Int, 2, 3]]