summaryrefslogtreecommitdiff
path: root/tests/Language/GraphQL/AST/ParserSpec.hs
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2019-11-03 10:42:10 +0100
committerEugen Wissner <belka@caraus.de>2019-11-03 11:00:18 +0100
commit73fc334bf8d7bd6d8b83143995844ca0968ceeda (patch)
tree0f4e2e31b5e3dd031a2fbd5f078eb741e5b3e931 /tests/Language/GraphQL/AST/ParserSpec.hs
parent417ff5da7d0db6c8e73a238c17368192a3515a93 (diff)
downloadgraphql-73fc334bf8d7bd6d8b83143995844ca0968ceeda.tar.gz
Move related modules to Language.GraphQL.AST
Fixes #18. - `Language.GraphQL.Encoder` moved to `Language.GraphQL.AST.Encoder`. - `Language.GraphQL.Parser` moved to `Language.GraphQL.AST.Parser`. - `Language.GraphQL.Lexer` moved to `Language.GraphQL.AST.Lexer`. - All `Language.GraphQL.AST.Value` data constructor prefixes were removed. The module should be imported qualified. - All `Language.GraphQL.AST.Core.Value` data constructor prefixes were removed. The module should be imported qualified. - `Language.GraphQL.AST.Transform` is now isn't exposed publically anymore.
Diffstat (limited to 'tests/Language/GraphQL/AST/ParserSpec.hs')
-rw-r--r--tests/Language/GraphQL/AST/ParserSpec.hs26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/Language/GraphQL/AST/ParserSpec.hs b/tests/Language/GraphQL/AST/ParserSpec.hs
new file mode 100644
index 0000000..8473d73
--- /dev/null
+++ b/tests/Language/GraphQL/AST/ParserSpec.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE QuasiQuotes #-}
+module Language.GraphQL.AST.ParserSpec
+ ( spec
+ ) where
+
+import Language.GraphQL.AST.Parser
+import Test.Hspec (Spec, describe, it)
+import Test.Hspec.Megaparsec (shouldSucceedOn)
+import Text.Megaparsec (parse)
+import Text.RawString.QQ (r)
+
+spec :: Spec
+spec = describe "Parser" $ do
+ it "accepts BOM header" $
+ parse document "" `shouldSucceedOn` "\xfeff{foo}"
+
+ it "accepts block strings as argument" $
+ parse document "" `shouldSucceedOn` [r|{
+ hello(text: """Argument""")
+ }|]
+
+ it "accepts strings as argument" $
+ parse document "" `shouldSucceedOn` [r|{
+ hello(text: "Argument")
+ }|]