summaryrefslogtreecommitdiff
path: root/tests/tasty.hs
blob: 64786e636ca28cd53798ee3afa995d40e3537ce9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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