From 06b3302862e0c427439136241fb6299f215cec52 Mon Sep 17 00:00:00 2001 From: Danny Navarro Date: Tue, 22 Sep 2015 13:53:37 +0200 Subject: Add kitchen sink parse/encode unit test This also includes the fixes to make it work. Golden tests have been removed. --- tests/tasty.hs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 tests/tasty.hs (limited to 'tests/tasty.hs') diff --git a/tests/tasty.hs b/tests/tasty.hs new file mode 100644 index 0000000..64786e6 --- /dev/null +++ b/tests/tasty.hs @@ -0,0 +1,23 @@ +{-# LANGUAGE OverloadedStrings #-} +module Main where + +import Data.Attoparsec.Text (parseOnly) +import qualified Data.Text.IO as Text +import Test.Tasty (defaultMain) +import Test.Tasty.HUnit + +import qualified Data.GraphQL.Parser as Parser +import qualified Data.GraphQL.Printer as Printer + +import Paths_graphql (getDataFileName) + +main :: IO () +main = defaultMain =<< testCase "Kitchen Sink" + <$> (assertEqual "Encode" <$> expected <*> actual) + where + expected = Text.readFile + =<< getDataFileName "tests/data/kitchen-sink.min.graphql" + + actual = either (error "Parsing error!") Printer.document + <$> parseOnly Parser.document + <$> expected -- cgit v1.2.3