diff options
| author | Eugen Wissner <belka@caraus.de> | 2020-01-28 11:08:28 +0100 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2020-01-28 11:08:28 +0100 |
| commit | e8b82122c646ba159146c986cc8983d66f790142 (patch) | |
| tree | 6563ee31014a1ff4f23905f1dc794302d2231872 /tests/Language | |
| parent | a6bd2370b6ba6f9eba6f0911ce9f8e8042a7f26b (diff) | |
| download | graphql-e8b82122c646ba159146c986cc8983d66f790142.tar.gz | |
Try all extension parsers
Diffstat (limited to 'tests/Language')
| -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 |
