From f55507187a8dae536a1c5e67ad306338fe93ceeb Mon Sep 17 00:00:00 2001 From: yonaskolb Date: Tue, 13 Aug 2019 21:51:39 +1000 Subject: [PATCH] add project tests test --- Tests/XcodeGenKitTests/ProjectSpecTests.swift | 6 +++++ Tests/XcodeGenKitTests/SpecLoadingTests.swift | 24 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/Tests/XcodeGenKitTests/ProjectSpecTests.swift b/Tests/XcodeGenKitTests/ProjectSpecTests.swift index 362a657e..346ba865 100644 --- a/Tests/XcodeGenKitTests/ProjectSpecTests.swift +++ b/Tests/XcodeGenKitTests/ProjectSpecTests.swift @@ -458,6 +458,11 @@ class ProjectSpecTests: XCTestCase { postActions: [Scheme.ExecutionAction(name: "postAction", script: "bar", settingsTarget: "foo")]))], + packages: [ + "Yams": SwiftPackage( + url: "https://github.com/jpsim/Yams", + versionRequirement: .upToNextMajorVersion("2.0.0")) + ], options: SpecOptions(minimumXcodeGenVersion: Version(major: 3, minor: 4, patch: 5), carthageBuildPath: "carthageBuildPath", carthageExecutablePath: "carthageExecutablePath", @@ -496,6 +501,7 @@ class ProjectSpecTests: XCTestCase { try expect(proj.options) == restoredProj.options try expect(proj.settingGroups) == restoredProj.settingGroups try expect(proj.targets) == restoredProj.targets + try expect(proj.packages) == restoredProj.packages try expect(proj) == restoredProj } diff --git a/Tests/XcodeGenKitTests/SpecLoadingTests.swift b/Tests/XcodeGenKitTests/SpecLoadingTests.swift index 3c9f3892..2663a20d 100644 --- a/Tests/XcodeGenKitTests/SpecLoadingTests.swift +++ b/Tests/XcodeGenKitTests/SpecLoadingTests.swift @@ -960,6 +960,30 @@ class SpecLoadingTests: XCTestCase { let parsedSpec = try getProjectSpec(dictionary) try expect(parsedSpec) == expected } + + $0.it("parses packages") { + let project = Project(name: "spm", packages: [ + "package1": SwiftPackage(url: "package.git", versionRequirement: .exact("1.2.2")), + "package2": SwiftPackage(url: "package.git", versionRequirement: .upToNextMajorVersion("1.2.2")), + "package3": SwiftPackage(url: "package.git", versionRequirement: .upToNextMinorVersion("1.2.2")), + "package4": SwiftPackage(url: "package.git", versionRequirement: .branch("master")), + "package5": SwiftPackage(url: "package.git", versionRequirement: .revision("x")), + "package6": SwiftPackage(url: "package.git", versionRequirement: .range(from: "1.2.0", to: "1.2.5")), + ]) + + let dictionary: [String: Any] = [ + "name": "spm", + "packages": [ + "package1": ["url": "package.git", "exactVersion": "1.2.2"], + "package2": ["url": "package.git", "majorVersion": "1.2.2"], + "package3": ["url": "package.git", "minorVersion": "1.2.2"], + "package4": ["url": "package.git", "branch": "master"], + "package5": ["url": "package.git", "revision": "x"], + "package6": ["url": "package.git", "minVersion": "1.2.0", "maxVersion": "1.2.5"], + ]] + let parsedSpec = try getProjectSpec(dictionary) + try expect(parsedSpec) == project + } } }