summaryrefslogtreecommitdiff
path: root/tests/Test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Test')
-rw-r--r--tests/Test/StarWars.hs10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/Test/StarWars.hs b/tests/Test/StarWars.hs
index b75e6b6..ec8fadd 100644
--- a/tests/Test/StarWars.hs
+++ b/tests/Test/StarWars.hs
@@ -1,13 +1,15 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedLists #-}
+{-# LANGUAGE OverloadedStrings #-}
module Test.StarWars where
+#if !MIN_VERSION_base(4,8,0)
+import Control.Applicative ((<$>))
+#endif
import Control.Applicative ((<|>), liftA2)
import Data.Maybe (catMaybes)
--- import Data.Functor.Identity (Identity(..))
import Data.Text (Text)
--- import Data.Aeson (ToJSON(toJSON), genericToJSON, defaultOptions)
import qualified Data.Aeson as Aeson
import Data.Attoparsec.Text (parseOnly)
@@ -47,6 +49,8 @@ query (InputField "human") = OutputResolver human
query (InputField "droid") = OutputResolver droid
query _ = OutputError
+-- TODO: Extract helper function from next 3 functions.
+
hero :: Resolver
hero (InputList (InputScalar (ScalarInt ep) : inputFields)) =
maybe OutputError (\char -> OutputList $ (`characterOutput` char) <$> fields inputFields) $ getHero ep