summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Language/GraphQL/AST/Lexer.hs8
-rw-r--r--tests/Language/GraphQL/AST/LexerSpec.hs4
-rw-r--r--tests/Language/GraphQL/AST/ParserSpec.hs6
3 files changed, 12 insertions, 6 deletions
diff --git a/src/Language/GraphQL/AST/Lexer.hs b/src/Language/GraphQL/AST/Lexer.hs
index 97a334c..f4111a9 100644
--- a/src/Language/GraphQL/AST/Lexer.hs
+++ b/src/Language/GraphQL/AST/Lexer.hs
@@ -89,12 +89,12 @@ symbol :: T.Text -> Parser T.Text
symbol = Lexer.symbol spaceConsumer
-- | Parser for "!".
-bang :: Parser Char
-bang = char '!'
+bang :: Parser T.Text
+bang = symbol "!"
-- | Parser for "$".
-dollar :: Parser Char
-dollar = char '$'
+dollar :: Parser T.Text
+dollar = symbol "$"
-- | Parser for "@".
at :: Parser Char
diff --git a/tests/Language/GraphQL/AST/LexerSpec.hs b/tests/Language/GraphQL/AST/LexerSpec.hs
index b1c280f..a0acb9f 100644
--- a/tests/Language/GraphQL/AST/LexerSpec.hs
+++ b/tests/Language/GraphQL/AST/LexerSpec.hs
@@ -71,8 +71,8 @@ spec = describe "Lexer" $ do
parse float "" "-1.123e4567" `shouldParse` (-1.123e4567)
it "lexes punctuation" $ do
- parse bang "" "!" `shouldParse` '!'
- parse dollar "" "$" `shouldParse` '$'
+ parse bang "" "!" `shouldParse` "!"
+ parse dollar "" "$" `shouldParse` "$"
runBetween parens `shouldSucceedOn` "()"
parse spread "" "..." `shouldParse` "..."
parse colon "" ":" `shouldParse` ":"
diff --git a/tests/Language/GraphQL/AST/ParserSpec.hs b/tests/Language/GraphQL/AST/ParserSpec.hs
index 8473d73..3e20e8f 100644
--- a/tests/Language/GraphQL/AST/ParserSpec.hs
+++ b/tests/Language/GraphQL/AST/ParserSpec.hs
@@ -24,3 +24,9 @@ spec = describe "Parser" $ do
parse document "" `shouldSucceedOn` [r|{
hello(text: "Argument")
}|]
+
+ it "accepts two required arguments" $
+ parse document "" `shouldSucceedOn` [r|
+ mutation auth($username: String!, $password: String!){
+ test
+ }|]