From 6ec3c805ea2cd629a75641530de30ab39a191409 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sun, 10 Jan 2016 04:43:42 +0000 Subject: First stab at API --- spec/test/Thermoprint/PrintoutSpec.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'spec/test/Thermoprint/PrintoutSpec.hs') diff --git a/spec/test/Thermoprint/PrintoutSpec.hs b/spec/test/Thermoprint/PrintoutSpec.hs index 5a48496..b92d76a 100644 --- a/spec/test/Thermoprint/PrintoutSpec.hs +++ b/spec/test/Thermoprint/PrintoutSpec.hs @@ -1,9 +1,26 @@ +{-# LANGUAGE StandaloneDeriving #-} + module Thermoprint.PrintoutSpec (spec) where import Test.Hspec import Test.Hspec.QuickCheck (prop) import Thermoprint.Printout +import Data.Aeson (fromJSON, ToJSON(..), Result(..)) +import Data.Function (on) + +import Control.DeepSeq (($!!), force) + +-- Equality via cotext on Block +instance Eq Block where + (==) = (==) `on` cotext +-- Structural equality for Chunk +deriving instance Eq Chunk + spec :: Spec spec = do prop "prop_text" prop_text + prop "json" prop_json + where + prop_json :: Printout -> Bool + prop_json p = force $ (== Success p) . fromJSON . toJSON $!! p -- cgit v1.2.3