From 9b365717e7ea7a7f70e831e4d1cadbab626650c2 Mon Sep 17 00:00:00 2001 From: Anders Ha Date: Tue, 17 Oct 2017 10:52:01 +0800 Subject: [PATCH] Setup an empty test target. --- Cartfile.private | 3 + Cartfile.resolved | 3 +- ReactiveFeedback.xcodeproj/project.pbxproj | 140 +++++++++++++++++- .../xcshareddata/xcschemes/Example.xcscheme | 93 ++++++++++++ .../xcschemes/ReactiveFeedback.xcscheme | 101 +++++++++++++ .../contents.xcworkspacedata | 31 ++-- ReactiveFeedbackTests/Info.plist | 22 +++ .../ReactiveFeedbackTests.swift | 8 + 8 files changed, 387 insertions(+), 14 deletions(-) create mode 100644 ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/Example.xcscheme create mode 100644 ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/ReactiveFeedback.xcscheme create mode 100644 ReactiveFeedbackTests/Info.plist create mode 100644 ReactiveFeedbackTests/ReactiveFeedbackTests.swift diff --git a/Cartfile.private b/Cartfile.private index 49d4534..c085112 100644 --- a/Cartfile.private +++ b/Cartfile.private @@ -1,3 +1,6 @@ # Example app. github "ReactiveCocoa/ReactiveCocoa" ~> 6.0 github "onevcat/Kingfisher" ~> 4.0 + +# Tests +github "Quick/Nimble" ~> 7.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index d1e0759..28ec09a 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,4 +1,5 @@ +github "Quick/Nimble" "v7.0.2" github "ReactiveCocoa/ReactiveCocoa" "6.0.2" github "ReactiveCocoa/ReactiveSwift" "2.0.1" github "antitypical/Result" "3.2.4" -github "onevcat/Kingfisher" "4.1.0" +github "onevcat/Kingfisher" "4.1.1" diff --git a/ReactiveFeedback.xcodeproj/project.pbxproj b/ReactiveFeedback.xcodeproj/project.pbxproj index 7b1b612..a9a504d 100644 --- a/ReactiveFeedback.xcodeproj/project.pbxproj +++ b/ReactiveFeedback.xcodeproj/project.pbxproj @@ -15,6 +15,14 @@ 25E1D2281F5493D000D90192 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 25E1D2271F5493D000D90192 /* Assets.xcassets */; }; 25E1D22B1F5493D000D90192 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 25E1D2291F5493D000D90192 /* LaunchScreen.storyboard */; }; 25E1D2381F56091A00D90192 /* PaginationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25E1D2371F56091A00D90192 /* PaginationViewController.swift */; }; + 9A4CCB0B1F95D5CA00ACF758 /* Nimble.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A4CCB0C1F95D5CA00ACF758 /* Nimble.framework */; }; + 9A4CCB0D1F95D5D500ACF758 /* Nimble.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9A4CCB0C1F95D5CA00ACF758 /* Nimble.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9AE181B91F95A71B00A07551 /* ReactiveFeedbackTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AE181B81F95A71B00A07551 /* ReactiveFeedbackTests.swift */; }; + 9AE181BB1F95A71B00A07551 /* ReactiveFeedback.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 25CC87AE1F92855300A6EBFC /* ReactiveFeedback.framework */; }; + 9AE181C21F95A77500A07551 /* ReactiveSwift.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9AFA212A1F95135B001DBF7C /* ReactiveSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9AE181C31F95A77500A07551 /* Result.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9AFA212B1F95135B001DBF7C /* Result.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9AE181C41F95A77C00A07551 /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AFA212A1F95135B001DBF7C /* ReactiveSwift.framework */; }; + 9AE181C51F95A77C00A07551 /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AFA212B1F95135B001DBF7C /* Result.framework */; }; 9AFA21261F9511A5001DBF7C /* ReactiveFeedback.podspec in Resources */ = {isa = PBXBuildFile; fileRef = 9AFA21251F9511A5001DBF7C /* ReactiveFeedback.podspec */; }; 9AFA21281F95135B001DBF7C /* ReactiveSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AFA212A1F95135B001DBF7C /* ReactiveSwift.framework */; }; 9AFA21291F95135B001DBF7C /* Result.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AFA212B1F95135B001DBF7C /* Result.framework */; }; @@ -31,6 +39,13 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 9AE181BC1F95A71B00A07551 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 25E1D2151F5493D000D90192 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 25CC87AD1F92855300A6EBFC; + remoteInfo = ReactiveFeedback; + }; 9AFA213E1F9514E4001DBF7C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 25E1D2151F5493D000D90192 /* Project object */; @@ -56,6 +71,18 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + 9AE181C11F95A76B00A07551 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 9AE181C21F95A77500A07551 /* ReactiveSwift.framework in CopyFiles */, + 9AE181C31F95A77500A07551 /* Result.framework in CopyFiles */, + 9A4CCB0D1F95D5D500ACF758 /* Nimble.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -71,6 +98,10 @@ 25E1D2331F54951100D90192 /* SignalProducer+System.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SignalProducer+System.swift"; sourceTree = ""; }; 25E1D2351F54A20F00D90192 /* FeedbackLoops.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeedbackLoops.swift; sourceTree = ""; }; 25E1D2371F56091A00D90192 /* PaginationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PaginationViewController.swift; sourceTree = ""; }; + 9A4CCB0C1F95D5CA00ACF758 /* Nimble.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Nimble.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9AE181B61F95A71B00A07551 /* ReactiveFeedbackTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ReactiveFeedbackTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 9AE181B81F95A71B00A07551 /* ReactiveFeedbackTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReactiveFeedbackTests.swift; sourceTree = ""; }; + 9AE181BA1F95A71B00A07551 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 9AFA21251F9511A5001DBF7C /* ReactiveFeedback.podspec */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReactiveFeedback.podspec; sourceTree = ""; }; 9AFA212A1F95135B001DBF7C /* ReactiveSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = ReactiveSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9AFA212B1F95135B001DBF7C /* Result.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Result.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -100,6 +131,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 9AE181B31F95A71B00A07551 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 9A4CCB0B1F95D5CA00ACF758 /* Nimble.framework in Frameworks */, + 9AE181BB1F95A71B00A07551 /* ReactiveFeedback.framework in Frameworks */, + 9AE181C41F95A77C00A07551 /* ReactiveSwift.framework in Frameworks */, + 9AE181C51F95A77C00A07551 /* Result.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -119,6 +161,7 @@ 25E1D21F1F5493D000D90192 /* Example */, 25CC87AF1F92855300A6EBFC /* ReactiveFeedback */, 9AFA21251F9511A5001DBF7C /* ReactiveFeedback.podspec */, + 9AE181B71F95A71B00A07551 /* ReactiveFeedbackTests */, 25E1D21E1F5493D000D90192 /* Products */, 9AFA21271F95135B001DBF7C /* Frameworks */, ); @@ -129,6 +172,7 @@ children = ( 25E1D21D1F5493D000D90192 /* Example.app */, 25CC87AE1F92855300A6EBFC /* ReactiveFeedback.framework */, + 9AE181B61F95A71B00A07551 /* ReactiveFeedbackTests.xctest */, ); name = Products; sourceTree = ""; @@ -147,9 +191,19 @@ path = Example; sourceTree = ""; }; + 9AE181B71F95A71B00A07551 /* ReactiveFeedbackTests */ = { + isa = PBXGroup; + children = ( + 9AE181B81F95A71B00A07551 /* ReactiveFeedbackTests.swift */, + 9AE181BA1F95A71B00A07551 /* Info.plist */, + ); + path = ReactiveFeedbackTests; + sourceTree = ""; + }; 9AFA21271F95135B001DBF7C /* Frameworks */ = { isa = PBXGroup; children = ( + 9A4CCB0C1F95D5CA00ACF758 /* Nimble.framework */, 9AFA21431F95181E001DBF7C /* Kingfisher.framework */, 9AFA21391F951435001DBF7C /* ReactiveCocoa.framework */, 9AFA212A1F95135B001DBF7C /* ReactiveSwift.framework */, @@ -208,13 +262,32 @@ productReference = 25E1D21D1F5493D000D90192 /* Example.app */; productType = "com.apple.product-type.application"; }; + 9AE181B51F95A71B00A07551 /* ReactiveFeedbackTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 9AE181C01F95A71B00A07551 /* Build configuration list for PBXNativeTarget "ReactiveFeedbackTests" */; + buildPhases = ( + 9AE181B21F95A71B00A07551 /* Sources */, + 9AE181B31F95A71B00A07551 /* Frameworks */, + 9AE181B41F95A71B00A07551 /* Resources */, + 9AE181C11F95A76B00A07551 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 9AE181BD1F95A71B00A07551 /* PBXTargetDependency */, + ); + name = ReactiveFeedbackTests; + productName = ReactiveFeedbackTests; + productReference = 9AE181B61F95A71B00A07551 /* ReactiveFeedbackTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 25E1D2151F5493D000D90192 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; + LastSwiftUpdateCheck = 0900; LastUpgradeCheck = 0900; ORGANIZATIONNAME = ""; TargetAttributes = { @@ -226,6 +299,9 @@ CreatedOnToolsVersion = 8.3; ProvisioningStyle = Automatic; }; + 9AE181B51F95A71B00A07551 = { + CreatedOnToolsVersion = 9.0; + }; }; }; buildConfigurationList = 25E1D2181F5493D000D90192 /* Build configuration list for PBXProject "ReactiveFeedback" */; @@ -242,6 +318,7 @@ projectRoot = ""; targets = ( 25CC87AD1F92855300A6EBFC /* ReactiveFeedback */, + 9AE181B51F95A71B00A07551 /* ReactiveFeedbackTests */, 25E1D21C1F5493D000D90192 /* Example */, ); }; @@ -266,6 +343,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 9AE181B41F95A71B00A07551 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -288,9 +372,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 9AE181B21F95A71B00A07551 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 9AE181B91F95A71B00A07551 /* ReactiveFeedbackTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 9AE181BD1F95A71B00A07551 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 25CC87AD1F92855300A6EBFC /* ReactiveFeedback */; + targetProxy = 9AE181BC1F95A71B00A07551 /* PBXContainerItemProxy */; + }; 9AFA213F1F9514E4001DBF7C /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 25CC87AD1F92855300A6EBFC /* ReactiveFeedback */; @@ -505,6 +602,38 @@ }; name = Release; }; + 9AE181BE1F95A71B00A07551 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = ReactiveFeedbackTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks @loader_path/Frameworks @executable_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_BUNDLE_IDENTIFIER = com.babylonhealth.ReactiveFeedbackTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SUPPORTED_PLATFORMS = "macosx iphonesimulator watchsimulator appletvsimulator"; + SWIFT_VERSION = 4.0; + }; + name = Debug; + }; + 9AE181BF1F95A71B00A07551 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = ReactiveFeedbackTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks @loader_path/Frameworks @executable_path/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.13; + PRODUCT_BUNDLE_IDENTIFIER = com.babylonhealth.ReactiveFeedbackTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SUPPORTED_PLATFORMS = "macosx iphonesimulator watchsimulator appletvsimulator"; + SWIFT_VERSION = 4.0; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -535,6 +664,15 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 9AE181C01F95A71B00A07551 /* Build configuration list for PBXNativeTarget "ReactiveFeedbackTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 9AE181BE1F95A71B00A07551 /* Debug */, + 9AE181BF1F95A71B00A07551 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 25E1D2151F5493D000D90192 /* Project object */; diff --git a/ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/Example.xcscheme new file mode 100644 index 0000000..4fd6b25 --- /dev/null +++ b/ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/ReactiveFeedback.xcscheme b/ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/ReactiveFeedback.xcscheme new file mode 100644 index 0000000..b999253 --- /dev/null +++ b/ReactiveFeedback.xcodeproj/xcshareddata/xcschemes/ReactiveFeedback.xcscheme @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ReactiveFeedback.xcworkspace/contents.xcworkspacedata b/ReactiveFeedback.xcworkspace/contents.xcworkspacedata index 462afd2..5fe4aa3 100644 --- a/ReactiveFeedback.xcworkspace/contents.xcworkspacedata +++ b/ReactiveFeedback.xcworkspace/contents.xcworkspacedata @@ -1,18 +1,25 @@ - - - - - - - - + + + + + + + + + + + + diff --git a/ReactiveFeedbackTests/Info.plist b/ReactiveFeedbackTests/Info.plist new file mode 100644 index 0000000..6c40a6c --- /dev/null +++ b/ReactiveFeedbackTests/Info.plist @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff --git a/ReactiveFeedbackTests/ReactiveFeedbackTests.swift b/ReactiveFeedbackTests/ReactiveFeedbackTests.swift new file mode 100644 index 0000000..666d605 --- /dev/null +++ b/ReactiveFeedbackTests/ReactiveFeedbackTests.swift @@ -0,0 +1,8 @@ +import XCTest +import ReactiveSwift +import Result +import Nimble + +class ReactiveFeedbackTests: XCTestCase { + func testPlaceholder() {} +}