Skip to content

Commit

Permalink
Fix tests for Mac Catalyst.
Browse files Browse the repository at this point in the history
  • Loading branch information
andersio committed Jun 16, 2020
1 parent ed33b26 commit 3d9dc22
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 28 deletions.
11 changes: 11 additions & 0 deletions ReactiveCocoa.xcodeproj/project.pbxproj
Expand Up @@ -52,6 +52,9 @@
53AC46CC1DD6F97400C799E1 /* UISlider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53AC46CB1DD6F97400C799E1 /* UISlider.swift */; };
53AC46CF1DD6FC0000C799E1 /* UISliderSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53AC46CE1DD6FC0000C799E1 /* UISliderSpec.swift */; };
57A4D20A1BA13D7A00F7D4B1 /* ReactiveCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = D04725EF19E49ED7006002AA /* ReactiveCocoa.h */; settings = {ATTRIBUTES = (Public, ); }; };
5B76DE402498EDDC00E8B4F3 /* QueueScheduler+Factory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B76DE3F2498EDDC00E8B4F3 /* QueueScheduler+Factory.swift */; };
5B76DE412498EDDC00E8B4F3 /* QueueScheduler+Factory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B76DE3F2498EDDC00E8B4F3 /* QueueScheduler+Factory.swift */; };
5B76DE422498EDDC00E8B4F3 /* QueueScheduler+Factory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B76DE3F2498EDDC00E8B4F3 /* QueueScheduler+Factory.swift */; };
654DE7B02205F9DE0048FE14 /* ReactiveCocoa.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D04725EA19E49ED7006002AA /* ReactiveCocoa.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
654DE7B22205FA0A0048FE14 /* ReactiveCocoa.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = D047260C19E49F82006002AA /* ReactiveCocoa.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
654DE7B32205FA200048FE14 /* ReactiveCocoa.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 57A4D2411BA13D7A00F7D4B1 /* ReactiveCocoa.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
Expand Down Expand Up @@ -493,6 +496,7 @@
57A4D2451BA13F9700F7D4B1 /* tvOS-Base.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "tvOS-Base.xcconfig"; sourceTree = "<group>"; };
57A4D2461BA13F9700F7D4B1 /* tvOS-Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "tvOS-Framework.xcconfig"; sourceTree = "<group>"; };
57A4D2471BA13F9700F7D4B1 /* tvOS-StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "tvOS-StaticLibrary.xcconfig"; sourceTree = "<group>"; };
5B76DE3F2498EDDC00E8B4F3 /* QueueScheduler+Factory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "QueueScheduler+Factory.swift"; sourceTree = "<group>"; };
7A8BA0F91FCC86FC003241C7 /* NSTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSTextView.swift; sourceTree = "<group>"; };
7DFBED031CDB8C9500EE435B /* ReactiveCocoaTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ReactiveCocoaTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
834DE1001E4109750099F4E5 /* NSImageViewSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSImageViewSpec.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1116,6 +1120,7 @@
D03766B119EDA60000A782A9 /* test-data.json */,
BFA6B94A1A76044800C846D1 /* SignalProducerNimbleMatchers.swift */,
D04725FB19E49ED7006002AA /* Info.plist */,
5B76DE3F2498EDDC00E8B4F3 /* QueueScheduler+Factory.swift */,
);
name = "Supporting Files";
sourceTree = "<group>";
Expand Down Expand Up @@ -1815,6 +1820,7 @@
4ABEFE291DCFCFA90066A8C2 /* UICollectionViewSpec.swift in Sources */,
9A54A2131DDF5B4D001739B3 /* InterceptingPerformanceTests.swift in Sources */,
BEE020661D637B0000DF261F /* TestError.swift in Sources */,
5B76DE422498EDDC00E8B4F3 /* QueueScheduler+Factory.swift in Sources */,
9A1D06531D93EA7E00ACF44C /* UITextFieldSpec.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -1983,6 +1989,7 @@
3B30EE8C1E7BE529007CC8EF /* DeprecationsSpec.swift in Sources */,
CD42C69B1E951F6900AA9504 /* ReactiveCocoaTestsConfiguration.swift in Sources */,
9AA6A1E51F11F9B000CA2257 /* KeyValueObservingSpec+Swift4.swift in Sources */,
5B76DE402498EDDC00E8B4F3 /* QueueScheduler+Factory.swift in Sources */,
9A1E72BA1D4DE96500CC20C3 /* KeyValueObservingSpec.swift in Sources */,
4ABEFE2E1DCFD01F0066A8C2 /* NSTableViewSpec.swift in Sources */,
);
Expand Down Expand Up @@ -2100,6 +2107,7 @@
A9EB3D291E94F3D3002A9BCC /* UITabBarItemSpec.swift in Sources */,
538DCB7E1DCA5E9B00332880 /* NSLayoutConstraintSpec.swift in Sources */,
9A1D06521D93EA7E00ACF44C /* UITextFieldSpec.swift in Sources */,
5B76DE412498EDDC00E8B4F3 /* QueueScheduler+Factory.swift in Sources */,
4EE637342090EFDF00ECD02A /* UIViewControllerSpec.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -2707,6 +2715,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = D047263219E49FE8006002AA /* iOS-Application.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
INFOPLIST_FILE = ReactiveCocoaTests/Info.plist;
PRODUCT_NAME = "$(PROJECT_NAME)Tests";
SWIFT_OBJC_BRIDGING_HEADER = "ReactiveCocoaTests/ReactiveCocoaTests-Bridging-Header.h";
Expand All @@ -2717,6 +2726,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = D047263219E49FE8006002AA /* iOS-Application.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
INFOPLIST_FILE = ReactiveCocoaTests/Info.plist;
PRODUCT_NAME = "$(PROJECT_NAME)Tests";
SWIFT_OBJC_BRIDGING_HEADER = "ReactiveCocoaTests/ReactiveCocoaTests-Bridging-Header.h";
Expand Down Expand Up @@ -2787,6 +2797,7 @@
isa = XCBuildConfiguration;
baseConfigurationReference = D047263219E49FE8006002AA /* iOS-Application.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
INFOPLIST_FILE = ReactiveCocoaTests/Info.plist;
PRODUCT_NAME = "$(PROJECT_NAME)Tests";
SWIFT_OBJC_BRIDGING_HEADER = "ReactiveCocoaTests/ReactiveCocoaTests-Bridging-Header.h";
Expand Down
17 changes: 3 additions & 14 deletions ReactiveCocoaTests/KeyValueObservingSpec+Swift4.swift
Expand Up @@ -521,12 +521,7 @@ fileprivate class KeyValueObservingSwift4SpecConfiguration: QuickConfiguration {
}

it("attach observers") {
let deliveringObserver: QueueScheduler
if #available(*, OSX 10.10) {
deliveringObserver = QueueScheduler(name: "\(#file):\(#line)")
} else {
deliveringObserver = QueueScheduler(queue: DispatchQueue(label: "\(#file):\(#line)"))
}
let deliveringObserver = QueueScheduler.makeForTesting()

var atomicCounter = Int64(0)

Expand Down Expand Up @@ -566,17 +561,11 @@ fileprivate class KeyValueObservingSwift4SpecConfiguration: QuickConfiguration {
}

it("async disposal of signal with in-flight changes") {
let otherScheduler: QueueScheduler
let otherScheduler = QueueScheduler.makeForTesting()

var token = Optional(Lifetime.Token())
let lifetime = Lifetime(token!)

if #available(*, OSX 10.10) {
otherScheduler = QueueScheduler(name: "\(#file):\(#line)")
} else {
otherScheduler = QueueScheduler(queue: DispatchQueue(label: "\(#file):\(#line)"))
}

let replayProducer = context.changes(testObject)
.map { $0 % 2 == 0 }
.observe(on: otherScheduler)
Expand Down Expand Up @@ -604,7 +593,7 @@ fileprivate class KeyValueObservingSwift4SpecConfiguration: QuickConfiguration {

iterationQueue.resume()

waitUntil { done in
waitUntil(timeout: 3.0) { done in
iterationQueue.async(flags: .barrier, execute: done)
}
}
Expand Down
17 changes: 3 additions & 14 deletions ReactiveCocoaTests/KeyValueObservingSpec.swift
Expand Up @@ -571,12 +571,7 @@ fileprivate class KeyValueObservingSpecConfiguration: QuickConfiguration {
}

it("attach observers") {
let deliveringObserver: QueueScheduler
if #available(*, OSX 10.10) {
deliveringObserver = QueueScheduler(name: "\(#file):\(#line)")
} else {
deliveringObserver = QueueScheduler(queue: DispatchQueue(label: "\(#file):\(#line)"))
}
let deliveringObserver = QueueScheduler.makeForTesting()

var atomicCounter = Int64(0)

Expand Down Expand Up @@ -624,17 +619,11 @@ fileprivate class KeyValueObservingSpecConfiguration: QuickConfiguration {

// Direct port of https://github.com/ReactiveCocoa/ReactiveObjC/blob/3.1.0/ReactiveObjCTests/RACKVOProxySpec.m#L196
it("async disposal of signal with in-flight changes") {
let otherScheduler: QueueScheduler
let otherScheduler = QueueScheduler.makeForTesting()

var token = Optional(Lifetime.Token())
let lifetime = Lifetime(token!)

if #available(*, OSX 10.10) {
otherScheduler = QueueScheduler(name: "\(#file):\(#line)")
} else {
otherScheduler = QueueScheduler(queue: DispatchQueue(label: "\(#file):\(#line)"))
}

let replayProducer = context.changes(testObject)
.map { ($0 as! NSNumber).intValue }
.map { $0 % 2 == 0 }
Expand Down Expand Up @@ -663,7 +652,7 @@ fileprivate class KeyValueObservingSpecConfiguration: QuickConfiguration {

iterationQueue.resume()

waitUntil { done in
waitUntil(timeout: 3.0) { done in
iterationQueue.async(flags: .barrier, execute: done)
}
}
Expand Down
19 changes: 19 additions & 0 deletions ReactiveCocoaTests/QueueScheduler+Factory.swift
@@ -0,0 +1,19 @@
import ReactiveSwift
import Foundation

extension QueueScheduler {
static func makeForTesting(file: String = #file, line: UInt = #line) -> QueueScheduler {
let file = URL(string: file)?.lastPathComponent ?? "<unknown>"
let label = "reactiveswift:\(file):\(line)"

#if targetEnvironment(macCatalyst)
return QueueScheduler()
#else
if #available(OSX 10.10, iOS 8.0, *) {
return QueueScheduler()
} else {
return QueueScheduler(queue: DispatchQueue(label: label))
}
#endif
}
}

0 comments on commit 3d9dc22

Please sign in to comment.