summaryrefslogtreecommitdiff
path: root/tests/tasty.hs
blob: a034a79acb40dd0442d7986085838db4830bd7cc (plain)
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
{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
module Main where

#if !MIN_VERSION_base(4,8,0)
import Control.Applicative ((<$>), (<*>))
#endif

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.Encoder as Encoder

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!") Encoder.document
         <$> parseOnly Parser.document
         <$> expected