File: Issue967.hs

package info (click to toggle)
haskell-aeson 2.1.2.1-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,988 kB
  • sloc: haskell: 11,933; ansic: 123; makefile: 11
file content (38 lines) | stat: -rw-r--r-- 1,081 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
{-# LANGUAGE Strict #-}
{-# LANGUAGE TemplateHaskell #-}
-- {-# OPTIONS_GHC -ddump-splices #-}
-- {-# OPTIONS_GHC -ddump-simpl -ddump-to-file #-}
module Regression.Issue967 (issue967) where

import Test.Tasty (TestTree)
import Test.Tasty.HUnit (testCase, assertEqual)

import qualified Data.Text.Lazy as LT
import qualified Data.Text.Lazy.Encoding as LTE

import Data.Aeson
import Data.Aeson.TH

data DataA = DataA
  { val1 :: Int,
    val2 :: Int
  }
  deriving (Eq, Show)

-------------------------------------------------------------------------------
-- Instances
-------------------------------------------------------------------------------

$(deriveJSON defaultOptions ''DataA)

-------------------------------------------------------------------------------
-- Test
-------------------------------------------------------------------------------

issue967 :: TestTree
issue967 = testCase "issue967" $ do
  let ev = DataA 1 2
      encoding = encode ev
      parsedEv = decode encoding :: Maybe DataA

  assertEqual (LT.unpack $ LTE.decodeUtf8 encoding) (Just ev) parsedEv