forked from OSS/graphql
26 lines
809 B
Haskell
26 lines
809 B
Haskell
{-# LANGUAGE CPP #-}
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
module Main where
|
|
|
|
#if !MIN_VERSION_base(4,8,0)
|
|
import Control.Applicative ((<$>), (<*>), pure)
|
|
#endif
|
|
import Control.Monad ((>=>))
|
|
import Data.Attoparsec.Text (parseOnly)
|
|
import Data.ByteString.Lazy.Char8 as B8
|
|
import qualified Data.Text.IO as TIO
|
|
import Test.Tasty (defaultMain)
|
|
import Test.Tasty.Golden (goldenVsString)
|
|
|
|
import Paths_graphql (getDataFileName)
|
|
import Data.GraphQL.Parser (document)
|
|
|
|
main :: IO ()
|
|
main = defaultMain
|
|
=<< goldenVsString "kitchen-sink.graphql"
|
|
<$> getDataFileName "tests/data/kitchen-sink.graphql.graphql.golden"
|
|
<*> (parse <$> getDataFileName "tests/data/kitchen-sink.graphql")
|
|
where
|
|
parse = fmap (parseOnly document) . TIO.readFile
|
|
>=> pure . either B8.pack (flip B8.snoc '\n' . B8.pack . show)
|