diff options
Diffstat (limited to 'tests/Language/GraphQL')
| -rw-r--r-- | tests/Language/GraphQL/AST/LexerSpec.hs | 7 | ||||
| -rw-r--r-- | tests/Language/GraphQL/AST/ParserSpec.hs | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/tests/Language/GraphQL/AST/LexerSpec.hs b/tests/Language/GraphQL/AST/LexerSpec.hs index 4938b0f..0b4cb31 100644 --- a/tests/Language/GraphQL/AST/LexerSpec.hs +++ b/tests/Language/GraphQL/AST/LexerSpec.hs @@ -88,9 +88,12 @@ spec = describe "Lexer" $ do it "lexes ampersand" $ parse amp "" "&" `shouldParse` "&" it "lexes schema extensions" $ - parse (extend "schema") "" `shouldSucceedOn` "extend schema" + parseExtend "schema" `shouldSucceedOn` "extend schema" it "fails if the given token doesn't match" $ - parse (extend "schema") "" `shouldFailOn` "extend shema" + parseExtend "schema" `shouldFailOn` "extend shema" + +parseExtend :: Text -> (Text -> Either (ParseErrorBundle Text Void) ()) +parseExtend extension = parse (extend extension "" $ pure $ pure ()) "" runBetween :: (Parser () -> Parser ()) -> Text -> Either (ParseErrorBundle Text Void) () runBetween parser = parse (parser $ pure ()) "" diff --git a/tests/Language/GraphQL/AST/ParserSpec.hs b/tests/Language/GraphQL/AST/ParserSpec.hs index f06f6c1..4fae5b1 100644 --- a/tests/Language/GraphQL/AST/ParserSpec.hs +++ b/tests/Language/GraphQL/AST/ParserSpec.hs @@ -135,3 +135,10 @@ spec = describe "Parser" $ do $ OperationTypeDefinition Query "Query" :| [] query = [r|extend schema @newDirective { query: Query }|] in parse document "" query `shouldParse` (testSchemaExtension :| []) + + it "parses an object extension" $ + parse document "" `shouldSucceedOn` [r| + extend type Story { + isHiddenLocally: Boolean + } + |]
\ No newline at end of file |
