packages feed

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]]