diff --git a/Package.swift b/Package.swift index a6c70357..019a2e86 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:5.2 +// swift-tools-version:5.4 import PackageDescription let package = Package( @@ -18,6 +18,13 @@ let package = Package( .product(name: "OrderedCollections", package: "swift-collections"), ] ), - .testTarget(name: "GraphQLTests", dependencies: ["GraphQL"]), + .testTarget( + name: "GraphQLTests", + dependencies: ["GraphQL"], + resources: [ + .copy("LanguageTests/kitchen-sink.graphql"), + .copy("LanguageTests/schema-kitchen-sink.graphql"), + ] + ), ] ) diff --git a/Tests/GraphQLTests/LanguageTests/ParserTests.swift b/Tests/GraphQLTests/LanguageTests/ParserTests.swift index 067b3cdc..6365fc35 100644 --- a/Tests/GraphQLTests/LanguageTests/ParserTests.swift +++ b/Tests/GraphQLTests/LanguageTests/ParserTests.swift @@ -249,11 +249,20 @@ class ParserTests: XCTestCase { // }); // }); + enum ParserTestsError: Error { + case couldNotFindKitchenSink + } + func testKitchenSink() throws { -// let path = "/Users/paulofaria/Development/Zewo/GraphQL/Tests/GraphQLTests/LanguageTests/kitchen-sink.graphql" -// let kitchenSink = try NSString(contentsOfFile: path, encoding: -// String.Encoding.utf8.rawValue) -// _ = try parse(source: kitchenSink as String) + guard + let url = Bundle.module.url(forResource: "kitchen-sink", withExtension: "graphql"), + let kitchenSink = try? String(contentsOf: url) + else { + XCTFail("Could not load kitchen sink") + return + } + + _ = try parse(source: kitchenSink) } func testNonKeywordAsName() throws { diff --git a/Tests/GraphQLTests/LanguageTests/SchemaParserTests.swift b/Tests/GraphQLTests/LanguageTests/SchemaParserTests.swift index 99c0ee95..d65ae52e 100644 --- a/Tests/GraphQLTests/LanguageTests/SchemaParserTests.swift +++ b/Tests/GraphQLTests/LanguageTests/SchemaParserTests.swift @@ -843,4 +843,19 @@ class SchemaParserTests: XCTestCase { let result = try parse(source: source) XCTAssert(result == expected) } + + func testKitchenSink() throws { + guard + let url = Bundle.module.url( + forResource: "schema-kitchen-sink", + withExtension: "graphql" + ), + let kitchenSink = try? String(contentsOf: url) + else { + XCTFail("Could not load kitchen sink") + return + } + + _ = try parse(source: kitchenSink) + } }