From bee92f970049cf92b7fa772d1a94dbc378d8246d Mon Sep 17 00:00:00 2001 From: Krunoslav Zaher Date: Fri, 25 Dec 2015 20:30:40 +0100 Subject: [PATCH] Cleanup. --- RxCocoa/Common/Observables/NSObject+Rx.swift | 9 +++++++ RxCocoa/Common/RxCocoa.swift | 10 +------- RxSwift/Rx.swift | 9 ------- .../SerialDispatchQueueScheduler.swift | 24 +++---------------- Tests/RxCocoaTests/Driver+Extensions.swift | 17 +++++++++++++ .../Observable+Extensions.swift | 8 ------- .../RxSwiftTests/Tests/AssumptionsTest.swift | 1 - .../Tests/Observable+ConcurrencyTest.swift | 6 ++--- Tests/RxTest.swift | 1 - Tests/Tests.xcodeproj/project.pbxproj | 8 +++++++ 10 files changed, 41 insertions(+), 52 deletions(-) create mode 100644 Tests/RxCocoaTests/Driver+Extensions.swift diff --git a/RxCocoa/Common/Observables/NSObject+Rx.swift b/RxCocoa/Common/Observables/NSObject+Rx.swift index 4cc307c8..eeb5c289 100644 --- a/RxCocoa/Common/Observables/NSObject+Rx.swift +++ b/RxCocoa/Common/Observables/NSObject+Rx.swift @@ -259,3 +259,12 @@ extension NSObject { let deallocSelector = "dealloc" as Selector let rxDeallocatingSelector = RX_selector("dealloc") let rxDeallocatingSelectorReference = RX_reference_from_selector(rxDeallocatingSelector) + +extension NSObject { + func rx_synchronized(@noescape action: () -> T) -> T { + objc_sync_enter(self) + let result = action() + objc_sync_exit(self) + return result + } +} diff --git a/RxCocoa/Common/RxCocoa.swift b/RxCocoa/Common/RxCocoa.swift index b1070990..9c3d424c 100644 --- a/RxCocoa/Common/RxCocoa.swift +++ b/RxCocoa/Common/RxCocoa.swift @@ -330,6 +330,7 @@ extension NSError { #endif + // MARK: Shared with RxSwift #if !RX_NO_MODULE @@ -339,13 +340,4 @@ extension NSError { fatalError(lastMessage) } -extension NSObject { - func rx_synchronized(@noescape action: () -> T) -> T { - objc_sync_enter(self) - let result = action() - objc_sync_exit(self) - return result - } -} - #endif diff --git a/RxSwift/Rx.swift b/RxSwift/Rx.swift index dccb10ae..d1880f2a 100644 --- a/RxSwift/Rx.swift +++ b/RxSwift/Rx.swift @@ -45,12 +45,3 @@ func decrementChecked(inout i: Int) throws -> Int { i -= 1 return result } - -extension NSObject { - func rx_synchronized(@noescape action: () -> T) -> T { - objc_sync_enter(self) - let result = action() - objc_sync_exit(self) - return result - } -} diff --git a/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift b/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift index cfd9019a..79a3ef2c 100644 --- a/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift +++ b/RxSwift/Schedulers/SerialDispatchQueueScheduler.swift @@ -50,23 +50,14 @@ public class SerialDispatchQueueScheduler: SchedulerType { /** Constructs new `SerialDispatchQueueScheduler` with internal serial queue named `internalSerialQueueName`. - - parameter internalSerialQueueName: Name of internal serial dispatch queue. - */ - public convenience init(internalSerialQueueName: String) { - self.init(internalSerialQueueName: internalSerialQueueName, serialQueueConfiguration: { _ -> Void in }) - } - - /** - Constructs new `SerialDispatchQueueScheduler` with internal serial queue named `internalSerialQueueName`. - Additional dispatch queue properties can be set after dispatch queue is created using `serialQueueConfiguration`. - parameter internalSerialQueueName: Name of internal serial dispatch queue. - parameter serialQueueConfiguration: Additional configuration of internal serial dispatch queue. */ - public convenience init(internalSerialQueueName: String, serialQueueConfiguration: (dispatch_queue_t) -> Void) { + public convenience init(internalSerialQueueName: String, serialQueueConfiguration: ((dispatch_queue_t) -> Void)? = nil) { let queue = dispatch_queue_create(internalSerialQueueName, DISPATCH_QUEUE_SERIAL) - serialQueueConfiguration(queue) + serialQueueConfiguration?(queue) self.init(serialQueue: queue) } @@ -81,15 +72,6 @@ public class SerialDispatchQueueScheduler: SchedulerType { dispatch_set_target_queue(serialQueue, queue) self.init(serialQueue: serialQueue) } - - /** - Constructs new `SerialDispatchQueueScheduler` that wraps on of the global concurrent dispatch queues. - - - parameter globalConcurrentQueuePriority: Identifier for global dispatch queue with specified priority. - */ - public convenience init(globalConcurrentQueuePriority: DispatchQueueSchedulerPriority) { - self.init(globalConcurrentQueuePriority: globalConcurrentQueuePriority, internalSerialQueueName: "rx.global_dispatch_queue.serial.\(globalConcurrentQueuePriority)") - } /** Constructs new `SerialDispatchQueueScheduler` that wraps on of the global concurrent dispatch queues. @@ -97,7 +79,7 @@ public class SerialDispatchQueueScheduler: SchedulerType { - parameter globalConcurrentQueuePriority: Identifier for global dispatch queue with specified priority. - parameter internalSerialQueueName: Custom name for internal serial dispatch queue proxy. */ - public convenience init(globalConcurrentQueuePriority: DispatchQueueSchedulerPriority, internalSerialQueueName: String) { + public convenience init(globalConcurrentQueuePriority: DispatchQueueSchedulerPriority, internalSerialQueueName: String = "rx.global_dispatch_queue.serial") { var priority: Int = 0 switch globalConcurrentQueuePriority { case .High: diff --git a/Tests/RxCocoaTests/Driver+Extensions.swift b/Tests/RxCocoaTests/Driver+Extensions.swift new file mode 100644 index 00000000..5a074499 --- /dev/null +++ b/Tests/RxCocoaTests/Driver+Extensions.swift @@ -0,0 +1,17 @@ +// +// Driver+Extensions.swift +// Tests +// +// Created by Krunoslav Zaher on 12/25/15. +// +// + +import Foundation + +extension Driver : Equatable { + +} + +public func == (lhs: Driver, rhs: Driver) -> Bool { + return lhs.asObservable() === rhs.asObservable() +} \ No newline at end of file diff --git a/Tests/RxSwiftTests/TestImplementations/Observable+Extensions.swift b/Tests/RxSwiftTests/TestImplementations/Observable+Extensions.swift index 6b0a3d72..f63e26dd 100644 --- a/Tests/RxSwiftTests/TestImplementations/Observable+Extensions.swift +++ b/Tests/RxSwiftTests/TestImplementations/Observable+Extensions.swift @@ -8,7 +8,6 @@ import Foundation import RxSwift -import RxCocoa import RxTests public func == (lhs: Observable, rhs: Observable) -> Bool { @@ -31,10 +30,3 @@ public func == (lhs: ColdObservable, rhs: ColdObservable) -> Bool { return lhs === rhs } -extension Driver : Equatable { - -} - -public func == (lhs: Driver, rhs: Driver) -> Bool { - return lhs.asObservable() === rhs.asObservable() -} \ No newline at end of file diff --git a/Tests/RxSwiftTests/Tests/AssumptionsTest.swift b/Tests/RxSwiftTests/Tests/AssumptionsTest.swift index 84fb9b95..85a27634 100644 --- a/Tests/RxSwiftTests/Tests/AssumptionsTest.swift +++ b/Tests/RxSwiftTests/Tests/AssumptionsTest.swift @@ -9,7 +9,6 @@ import Foundation import XCTest import RxSwift -import CoreGraphics var deallocated = false var realTest: Anything? = nil diff --git a/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift b/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift index 5887f340..fdb89cbc 100644 --- a/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift +++ b/Tests/RxSwiftTests/Tests/Observable+ConcurrencyTest.swift @@ -13,12 +13,12 @@ import RxBlocking import RxTests class ObservableConcurrencyTestBase : RxTest { - var lock = OS_SPINLOCK_INIT + var lock = NSLock() func performLocked(action: () -> Void) { - OSSpinLockLock(&lock) + lock.lock() action() - OSSpinLockUnlock(&lock) + lock.unlock() } override func tearDown() { diff --git a/Tests/RxTest.swift b/Tests/RxTest.swift index ef0e6d8a..0c92e842 100644 --- a/Tests/RxTest.swift +++ b/Tests/RxTest.swift @@ -8,7 +8,6 @@ import XCTest import RxSwift -import CoreLocation import RxTests #if TRACE_RESOURCES diff --git a/Tests/Tests.xcodeproj/project.pbxproj b/Tests/Tests.xcodeproj/project.pbxproj index 10c74d17..7570b286 100644 --- a/Tests/Tests.xcodeproj/project.pbxproj +++ b/Tests/Tests.xcodeproj/project.pbxproj @@ -118,6 +118,9 @@ C8CCB8E71C2DB52B000EDACC /* Driver+Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CCB8E61C2DB52B000EDACC /* Driver+Test.swift */; }; C8CCB8E81C2DB52B000EDACC /* Driver+Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CCB8E61C2DB52B000EDACC /* Driver+Test.swift */; }; C8CCB8E91C2DB52B000EDACC /* Driver+Test.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CCB8E61C2DB52B000EDACC /* Driver+Test.swift */; }; + C8CCB8EF1C2DBB0D000EDACC /* Driver+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CCB8EE1C2DBB0D000EDACC /* Driver+Extensions.swift */; }; + C8CCB8F01C2DBB0D000EDACC /* Driver+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CCB8EE1C2DBB0D000EDACC /* Driver+Extensions.swift */; }; + C8CCB8F11C2DBB0D000EDACC /* Driver+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CCB8EE1C2DBB0D000EDACC /* Driver+Extensions.swift */; }; C8CDD7D41B52BEC40043F0C5 /* Observable+BlockingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CDD7D31B52BEC40043F0C5 /* Observable+BlockingTest.swift */; }; C8CDD7D51B52BEC40043F0C5 /* Observable+BlockingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CDD7D31B52BEC40043F0C5 /* Observable+BlockingTest.swift */; }; C8CF47661C1DA04700C3FA6E /* CLLocationManager+RxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C8CF47651C1DA04700C3FA6E /* CLLocationManager+RxTests.swift */; }; @@ -244,6 +247,7 @@ C8C4B4D41C1772D700828BD5 /* RxObjCRuntimeState.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxObjCRuntimeState.swift; sourceTree = ""; }; C8C4B4DE1C17772500828BD5 /* SentMessageTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SentMessageTest.swift; sourceTree = ""; }; C8CCB8E61C2DB52B000EDACC /* Driver+Test.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Test.swift"; sourceTree = ""; }; + C8CCB8EE1C2DBB0D000EDACC /* Driver+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Driver+Extensions.swift"; sourceTree = ""; }; C8CDD7D31B52BEC40043F0C5 /* Observable+BlockingTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = "Observable+BlockingTest.swift"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.swift; }; C8CF47651C1DA04700C3FA6E /* CLLocationManager+RxTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CLLocationManager+RxTests.swift"; sourceTree = ""; }; C8E381221B2063CC008CDC33 /* Observable+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Observable+Extensions.swift"; sourceTree = ""; }; @@ -352,6 +356,7 @@ C811082A1AF50E2A001C13E4 /* RxCocoaTests */ = { isa = PBXGroup; children = ( + C8CCB8EE1C2DBB0D000EDACC /* Driver+Extensions.swift */, C8CCB8E61C2DB52B000EDACC /* Driver+Test.swift */, C8E9D2BC1BD422D80079D0DB /* Control+RxTests.swift */, C8E9D2C01BD4525B0079D0DB /* Control+RxTests+Cocoa.swift */, @@ -616,6 +621,7 @@ C87EC2F91C131A4E0060B19B /* DelegateProxyTest.swift in Sources */, C8B787FA1AF55CDE00206D02 /* Observable+ConcurrencyTest.swift in Sources */, C81108691AF50E2A001C13E4 /* RxTest.swift in Sources */, + C8CCB8EF1C2DBB0D000EDACC /* Driver+Extensions.swift in Sources */, C81108671AF50E2A001C13E4 /* Observable+TimeTest.swift in Sources */, C8C4B4DF1C17772500828BD5 /* SentMessageTest.swift in Sources */, C89CDB961BCDA1F1002063D9 /* Observable+SubscriptionTest.swift in Sources */, @@ -685,6 +691,7 @@ C88BB8941B07E64B0064D411 /* Observable+TimeTest.swift in Sources */, C8CDD7D51B52BEC40043F0C5 /* Observable+BlockingTest.swift in Sources */, C8E381291B207D03008CDC33 /* PrimitiveHotObservable.swift in Sources */, + C8CCB8F01C2DBB0D000EDACC /* Driver+Extensions.swift in Sources */, C8C4B4E01C17772500828BD5 /* SentMessageTest.swift in Sources */, C868D0FA1BB76A29003D1474 /* PerformanceTools.swift in Sources */, C88BB8971B07E64B0064D411 /* MySubject.swift in Sources */, @@ -745,6 +752,7 @@ C87EC2FB1C131A4E0060B19B /* DelegateProxyTest.swift in Sources */, D2EBEB5A1BB9B7CC003A27DC /* PrimitiveHotObservable.swift in Sources */, C8C4B4E11C17772500828BD5 /* SentMessageTest.swift in Sources */, + C8CCB8F11C2DBB0D000EDACC /* Driver+Extensions.swift in Sources */, C89CDB981BCDA1F1002063D9 /* Observable+SubscriptionTest.swift in Sources */, C87BB6B91C13A64000C66DF9 /* ControlPropertyTests.swift in Sources */, D2EBEB6F1BB9B7EF003A27DC /* Observable+CreationTest.swift in Sources */,