From f4d223599e9876f8ebc27b7383b919d2aa4cd342 Mon Sep 17 00:00:00 2001 From: Shai Mishali Date: Tue, 12 Dec 2017 15:09:50 +0200 Subject: [PATCH 1/6] Added Swiftlint rules file --- .swiftlint.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 .swiftlint.yml diff --git a/.swiftlint.yml b/.swiftlint.yml new file mode 100644 index 00000000..77fffd2b --- /dev/null +++ b/.swiftlint.yml @@ -0,0 +1,14 @@ +included: + - Source + - Tests +disabled_rules: + - line_length +identifier_name: + min_length: 1 +type_name: + excluded: T +function_body_length: 100 +type_body_length: 500 +cyclomatic_complexity: + warning: 15 + error: 25 \ No newline at end of file From 79166c080fc9122605c9218dc92500e21fc88e02 Mon Sep 17 00:00:00 2001 From: Shai Mishali Date: Tue, 12 Dec 2017 15:09:59 +0200 Subject: [PATCH 2/6] Updated Sources --- Source/RxCocoa/mapTo+RxCocoa.swift | 2 +- Source/RxSwift/ObservableType+Weak.swift | 38 ++--- Source/RxSwift/cascade.swift | 172 ++++++++++---------- Source/RxSwift/catchErrorJustComplete.swift | 1 - Source/RxSwift/fromAsync.swift | 25 ++- Source/RxSwift/ignore.swift | 4 +- Source/RxSwift/ignoreErrors.swift | 4 +- Source/RxSwift/ignoreWhen.swift | 3 +- Source/RxSwift/mapTo.swift | 3 +- Source/RxSwift/once.swift | 5 +- Source/RxSwift/pausable.swift | 11 +- Source/RxSwift/pausableBuffered.swift | 25 ++- Source/RxSwift/repeatWithBehavior.swift | 10 +- Source/RxSwift/retryWithBehavior.swift | 14 +- Source/RxSwift/unwrap.swift | 2 +- 15 files changed, 145 insertions(+), 174 deletions(-) diff --git a/Source/RxCocoa/mapTo+RxCocoa.swift b/Source/RxCocoa/mapTo+RxCocoa.swift index d218a8f0..d6a5f8ba 100644 --- a/Source/RxCocoa/mapTo+RxCocoa.swift +++ b/Source/RxCocoa/mapTo+RxCocoa.swift @@ -19,7 +19,7 @@ extension SharedSequenceConvertibleType { public func mapTo(_ value: R) -> SharedSequence { return map { _ in value } } - + public func map(to value: R) -> SharedSequence { return map { _ in value } } diff --git a/Source/RxSwift/ObservableType+Weak.swift b/Source/RxSwift/ObservableType+Weak.swift index 7808c4c0..993e79ac 100644 --- a/Source/RxSwift/ObservableType+Weak.swift +++ b/Source/RxSwift/ObservableType+Weak.swift @@ -22,14 +22,14 @@ extension ObservableType { method?(obj)(value) } } - + fileprivate func weakify(_ obj: A, method: ((A) -> () -> Void)?) -> (() -> Void) { return { [weak obj] in guard let obj = obj else { return } method?(obj)() } } - + /** Subscribes an event handler to an observable sequence. @@ -37,11 +37,10 @@ extension ObservableType { - parameter on: Function to invoke on `weak` for each event in the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ - public func subscribe(weak obj: A, _ on: @escaping (A) -> (RxSwift.Event) -> Void) -> Disposable { return self.subscribe(weakify(obj, method: on)) } - + /** Subscribes an element handler, an error handler, a completion handler and disposed handler to an observable sequence. @@ -53,23 +52,21 @@ extension ObservableType { gracefully completed, errored, or if the generation is cancelled by disposing subscription) - returns: Subscription object used to unsubscribe from the observable sequence. */ - public func subscribe( - weak obj: A, - onNext: ((A) -> (Self.E) -> Void)? = nil, - onError: ((A) -> (Error) -> Void)? = nil, - onCompleted: ((A) -> () -> Void)? = nil, - onDisposed: ((A) -> () -> Void)? = nil) -> Disposable { - + weak obj: A, + onNext: ((A) -> (Self.E) -> Void)? = nil, + onError: ((A) -> (Error) -> Void)? = nil, + onCompleted: ((A) -> () -> Void)? = nil, + onDisposed: ((A) -> () -> Void)? = nil) + -> Disposable { let disposable: Disposable - + if let disposed = onDisposed { disposable = Disposables.create(with: weakify(obj, method: disposed)) - } - else { + } else { disposable = Disposables.create() } - + let observer = AnyObserver { [weak obj] (e: RxSwift.Event) in guard let obj = obj else { return } switch e { @@ -83,10 +80,10 @@ extension ObservableType { disposable.dispose() } } - + return Disposables.create(self.asObservable().subscribe(observer), disposable) } - + /** Subscribes an element handler to an observable sequence. @@ -94,11 +91,10 @@ extension ObservableType { - parameter onNext: Function to invoke on `weak` for each element in the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ - public func subscribeNext(weak obj: A, _ onNext: @escaping (A) -> (Self.E) -> Void) -> Disposable { return self.subscribe(onNext: weakify(obj, method: onNext)) } - + /** Subscribes an error handler to an observable sequence. @@ -106,11 +102,10 @@ extension ObservableType { - parameter onError: Function to invoke on `weak` upon errored termination of the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ - public func subscribeError(weak obj: A, _ onError: @escaping (A) -> (Error) -> Void) -> Disposable { return self.subscribe(onError: weakify(obj, method: onError)) } - + /** Subscribes a completion handler to an observable sequence. @@ -118,7 +113,6 @@ extension ObservableType { - parameter onCompleted: Function to invoke on `weak` graceful termination of the observable sequence. - returns: Subscription object used to unsubscribe from the observable sequence. */ - public func subscribeCompleted(weak obj: A, _ onCompleted: @escaping (A) -> () -> Void) -> Disposable { return self.subscribe(onCompleted: weakify(obj, method: onCompleted)) } diff --git a/Source/RxSwift/cascade.swift b/Source/RxSwift/cascade.swift index 0d94b295..f0f2ee6f 100644 --- a/Source/RxSwift/cascade.swift +++ b/Source/RxSwift/cascade.swift @@ -10,9 +10,9 @@ import Foundation import RxSwift extension Observable where Element : ObservableType { - + public typealias T = Element.E - + /** Cascade through a sequence of observables: every observable that sends a `next` value becomes the "current" observable (like in `switchLatest`), and the subscription to all previous observables in the sequence is disposed. @@ -23,96 +23,88 @@ extension Observable where Element : ObservableType { - parameter observables: a sequence of observables which will all be immediately subscribed to - returns: An observable sequence that contains elements from the latest observable sequence that emitted elements */ - - - public static func cascade(_ observables : S) -> Observable where S.Iterator.Element == Element { - let flow = Array(observables) - if flow.isEmpty { - return Observable.empty() - } - - return Observable.create { observer in - var current = 0, initialized = false - var subscriptions: [SerialDisposable?] = flow.map { _ in SerialDisposable() } - - let lock = NSRecursiveLock() - lock.lock() - defer { lock.unlock() } - - for i in 0 ..< flow.count { - let index = i - let disposable = flow[index].subscribe { event in - lock.lock() - defer { lock.unlock() } - - switch event { - case .next(let element): - while current < index { - subscriptions[current]?.dispose() - subscriptions[current] = nil - current += 1 - } - if index == current { - assert(subscriptions[index] != nil) - observer.onNext(element) - } - - case .completed: - if index >= current { - if (initialized) { - subscriptions[index]?.dispose() - subscriptions[index] = nil - for next in current ..< subscriptions.count { - if subscriptions[next] != nil { - return - } - } - observer.onCompleted() - } - } - - case .error(let error): - observer.onError(error) - } - } - if let serialDisposable = subscriptions[index] { - serialDisposable.disposable = disposable - } else { - disposable.dispose() - } - } - - initialized = true - - for i in 0 ..< flow.count { - if subscriptions[i] != nil { - return Disposables.create { - subscriptions.forEach { $0?.dispose() } - } - } - } - - observer.onCompleted() - return Disposables.create() - } + public static func cascade(_ observables: S) -> Observable where S.Iterator.Element == Element { + let flow = Array(observables) + if flow.isEmpty { + return Observable.empty() + } + + return Observable.create { observer in + var current = 0, initialized = false + var subscriptions: [SerialDisposable?] = flow.map { _ in SerialDisposable() } + + let lock = NSRecursiveLock() + lock.lock() + defer { lock.unlock() } + + for i in 0 ..< flow.count { + let index = i + let disposable = flow[index].subscribe { event in + lock.lock() + defer { lock.unlock() } + + switch event { + case .next(let element): + while current < index { + subscriptions[current]?.dispose() + subscriptions[current] = nil + current += 1 + } + if index == current { + assert(subscriptions[index] != nil) + observer.onNext(element) + } + + case .completed: + if index >= current { + if initialized { + subscriptions[index]?.dispose() + subscriptions[index] = nil + for next in current ..< subscriptions.count where subscriptions[next] != nil { + return + } + observer.onCompleted() + } + } + + case .error(let error): + observer.onError(error) + } + } + if let serialDisposable = subscriptions[index] { + serialDisposable.disposable = disposable + } else { + disposable.dispose() + } + } + + initialized = true + + for i in 0 ..< flow.count where subscriptions[i] != nil { + return Disposables.create { + subscriptions.forEach { $0?.dispose() } + } + } + + observer.onCompleted() + return Disposables.create() + } } } extension ObservableType { - - /** - Cascade through a sequence of observables: every observable that sends a `next` value becomes the "current" - observable (like in `switchLatest`), and the subscription to all previous observables in the sequence is disposed. - - This allows subscribing to multiple observable sequences while irrevocably switching to the next when it starts emitting. If any of the - currently subscribed-to sequences errors, the error is propagated to the observer and the sequence terminates. - - - parameter observables: a sequence of observables which will all be immediately subscribed to - - returns: An observable sequence that contains elements from the latest observable sequence that emitted elements - */ - - public func cascade(_ next : S) -> Observable where S.Iterator.Element == Self { - return Observable.cascade([self.asObservable()] + Array(next).map { $0.asObservable() }) - } - + + /** + Cascade through a sequence of observables: every observable that sends a `next` value becomes the "current" + observable (like in `switchLatest`), and the subscription to all previous observables in the sequence is disposed. + + This allows subscribing to multiple observable sequences while irrevocably switching to the next when it starts emitting. If any of the + currently subscribed-to sequences errors, the error is propagated to the observer and the sequence terminates. + + - parameter observables: a sequence of observables which will all be immediately subscribed to + - returns: An observable sequence that contains elements from the latest observable sequence that emitted elements + */ + public func cascade(_ next: S) -> Observable where S.Iterator.Element == Self { + return Observable.cascade([self.asObservable()] + Array(next).map { $0.asObservable() }) + } } diff --git a/Source/RxSwift/catchErrorJustComplete.swift b/Source/RxSwift/catchErrorJustComplete.swift index 1090ea8e..bdaff488 100644 --- a/Source/RxSwift/catchErrorJustComplete.swift +++ b/Source/RxSwift/catchErrorJustComplete.swift @@ -8,7 +8,6 @@ import RxSwift - extension ObservableType { /** Dismiss errors and complete the sequence instead diff --git a/Source/RxSwift/fromAsync.swift b/Source/RxSwift/fromAsync.swift index 2f18ced7..3536d37c 100644 --- a/Source/RxSwift/fromAsync.swift +++ b/Source/RxSwift/fromAsync.swift @@ -10,59 +10,58 @@ import Foundation import RxSwift extension Observable { - + /** Transforms an async function that returns data through a completionHandler in a function that returns data through an Observable - The returned function will thake the same arguments than asyncRequest, minus the last one */ public static func fromAsync(_ asyncRequest: @escaping (@escaping (Element) -> Void) -> Void) -> Observable { return Observable.create({ (o) -> Disposable in - asyncRequest({ (result) in o.onNext(result) o.onCompleted() }) - + return Disposables.create() }) } - + public static func fromAsync(_ asyncRequest: @escaping (A, @escaping (Element) -> Void) -> Void) -> (A) -> Observable { return { (a: A) in Observable.fromAsync(curry(asyncRequest)(a)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, @escaping (Element) -> Void) -> Void) -> (A, B) -> Observable { return { (a: A, b: B) in Observable.fromAsync(curry(asyncRequest)(a)(b)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, @escaping (Element) -> Void) -> Void) -> (A, B, C) -> Observable { return { (a: A, b: B, c: C) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, D, @escaping (Element) -> Void) -> Void) -> (A, B, C, D) -> Observable { return { (a: A, b: B, c: C, d: D) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)(d)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, D, E, @escaping (Element) -> Void) -> Void) -> (A, B, C, D, E) -> Observable { return { (a: A, b: B, c: C, d: D, e: E) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)(d)(e)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, D, E, F, @escaping (Element) -> Void) -> Void) -> (A, B, C, D, E, F) -> Observable { return { (a: A, b: B, c: C, d: D, e: E, f: F) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)(d)(e)(f)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, D, E, F, G, @escaping (Element) -> Void) -> Void) -> (A, B, C, D, E, F, G) -> Observable { return { (a: A, b: B, c: C, d: D, e: E, f: F, g: G) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)(d)(e)(f)(g)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, D, E, F, G, H, @escaping (Element) -> Void) -> Void) -> (A, B, C, D, E, F, G, H) -> Observable { return { (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)(d)(e)(f)(g)(h)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, D, E, F, G, H, I, @escaping (Element) -> Void) -> Void) -> (A, B, C, D, E, F, G, H, I) -> Observable { return { (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)(d)(e)(f)(g)(h)(i)) } } - + public static func fromAsync(_ asyncRequest: @escaping (A, B, C, D, E, F, G, H, I, J, @escaping (Element) -> Void) -> Void) -> (A, B, C, D, E, F, G, H, I, J) -> Observable { return { (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) in Observable.fromAsync(curry(asyncRequest)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)) } } diff --git a/Source/RxSwift/ignore.swift b/Source/RxSwift/ignore.swift index 5f8ed129..fa01f71f 100644 --- a/Source/RxSwift/ignore.swift +++ b/Source/RxSwift/ignore.swift @@ -10,13 +10,11 @@ import Foundation import RxSwift extension ObservableType where E : Equatable { - - + public func ignore(_ valuesToIgnore: E ...) -> Observable { return self.asObservable().filter { !valuesToIgnore.contains($0) } } - public func ignore(_ valuesToIgnore : S) -> Observable where S.Iterator.Element == E { return self.asObservable().filter { !valuesToIgnore.contains($0) } } diff --git a/Source/RxSwift/ignoreErrors.swift b/Source/RxSwift/ignoreErrors.swift index 4c889ab1..84153071 100644 --- a/Source/RxSwift/ignoreErrors.swift +++ b/Source/RxSwift/ignoreErrors.swift @@ -16,18 +16,16 @@ extension ObservableType { - returns: An observable sequence that never fails - seealso: `retry` operator */ - public func ignoreErrors() -> Observable { return retry() } - + /** Conditionally ignore errors produced by the source observable - parameter predicate a predicate called when an error occurs and returns `true` to ignore the error (continuing), `false` to terminate the sequence with the given error. - returns: An observable sequence that errors only when `predicate` returns `false` */ - public func ignoreErrors(_ predicate : @escaping (Error) -> Bool) -> Observable { return retryWhen { return $0.flatMap { error -> Observable in diff --git a/Source/RxSwift/ignoreWhen.swift b/Source/RxSwift/ignoreWhen.swift index 77c8ebd2..42bca016 100644 --- a/Source/RxSwift/ignoreWhen.swift +++ b/Source/RxSwift/ignoreWhen.swift @@ -10,7 +10,7 @@ import Foundation import RxSwift extension ObservableType { - + /** Ignores the elements of an observable sequence based on a predicate. @@ -20,7 +20,6 @@ extension ObservableType { - parameter predicate: A function to test each source element for a condition. - returns: An observable sequence that contains elements from the input sequence except those that satisfy the condition. */ - public func ignoreWhen(_ predicate: @escaping (E) throws -> Bool) -> Observable { return self.asObservable().filter { try !predicate($0) } } diff --git a/Source/RxSwift/mapTo.swift b/Source/RxSwift/mapTo.swift index c9436dff..b88f2e6a 100644 --- a/Source/RxSwift/mapTo.swift +++ b/Source/RxSwift/mapTo.swift @@ -10,7 +10,7 @@ import Foundation import RxSwift extension ObservableType { - + /** Returns an observable sequence containing as many elements as its input but all of them are the constant provided as a parameter @@ -20,5 +20,4 @@ extension ObservableType { public func mapTo(_ value: R) -> Observable { return map { _ in value } } - } diff --git a/Source/RxSwift/once.swift b/Source/RxSwift/once.swift index 27b3735a..c46b4754 100644 --- a/Source/RxSwift/once.swift +++ b/Source/RxSwift/once.swift @@ -23,9 +23,9 @@ extension Observable { - parameter element: Single element in the resulting observable sequence. - returns: An observable sequence containing the single specified element delivered once. */ - + public static func once(_ element: E) -> Observable { - var delivered : UInt32 = 0 + var delivered: UInt32 = 0 return create { observer in let wasDelivered = OSAtomicOr32OrigBarrier(1, &delivered) if wasDelivered == 0 { @@ -37,4 +37,3 @@ extension Observable { } } - diff --git a/Source/RxSwift/pausable.swift b/Source/RxSwift/pausable.swift index fdba783d..10b79d8c 100644 --- a/Source/RxSwift/pausable.swift +++ b/Source/RxSwift/pausable.swift @@ -21,14 +21,11 @@ extension ObservableType { - returns: The observable sequence which is paused based upon the pauser observable sequence. */ - public func pausable

(_ pauser: P) -> Observable where P.E == Bool { + public func pausable (_ pauser: P) -> Observable where P.E == Bool { return withLatestFrom(pauser) { element, paused in (element, paused) - }.filter { element, paused in - paused - }.map { element, paused in - element - } + } + .filter { _, paused in paused } + .map { element, _ in element } } - } diff --git a/Source/RxSwift/pausableBuffered.swift b/Source/RxSwift/pausableBuffered.swift index ad7bd196..7f2d8afc 100644 --- a/Source/RxSwift/pausableBuffered.swift +++ b/Source/RxSwift/pausableBuffered.swift @@ -10,7 +10,7 @@ import Foundation import RxSwift extension ObservableType { - + /** Pauses the elements of the source observable sequence based on the latest element from the second observable sequence. @@ -26,31 +26,30 @@ extension ObservableType { - parameter flushOnError: If `true` bufered elements will be flushed when the source errors. Default `true`. - returns: The observable sequence which is paused and resumed based upon the pauser observable sequence. */ - - public func pausableBuffered

(_ pauser: P, limit: Int? = 1, flushOnCompleted: Bool = true, flushOnError: Bool = true) -> Observable where P.E == Bool { + public func pausableBuffered (_ pauser: P, limit: Int? = 1, flushOnCompleted: Bool = true, flushOnError: Bool = true) -> Observable where P.E == Bool { return Observable.create { observer in var buffer: [E] = [] if let limit = limit { buffer.reserveCapacity(limit) } - + var paused = true let lock = NSRecursiveLock() - + let flush = { for value in buffer { observer.onNext(value) } buffer.removeAll(keepingCapacity: limit != nil) } - + let boundaryDisposable = pauser.subscribe { event in lock.lock(); defer { lock.unlock() } switch event { case .next(let resume): paused = !resume - + if resume && buffer.count > 0 { flush() } @@ -60,12 +59,11 @@ extension ObservableType { observer.onError(error) } } - + let disposable = self.subscribe { event in lock.lock(); defer { lock.unlock() } switch event { case .next(let element): - if paused { buffer.append(element) if let limit = limit, buffer.count > limit { @@ -74,20 +72,19 @@ extension ObservableType { } else { observer.onNext(element) } - + case .completed: if flushOnCompleted { flush() } observer.onCompleted() - + case .error(let error): if flushOnError { flush() } observer.onError(error) } } - + return Disposables.create([disposable, boundaryDisposable]) } } - -} +} diff --git a/Source/RxSwift/repeatWithBehavior.swift b/Source/RxSwift/repeatWithBehavior.swift index 5c0ae835..2a8598aa 100644 --- a/Source/RxSwift/repeatWithBehavior.swift +++ b/Source/RxSwift/repeatWithBehavior.swift @@ -28,10 +28,10 @@ extension ObservableType { - parameter shouldRepeat: Custom optional closure for decided whether the observable should repeat another round - returns: Observable sequence that will be automatically repeat when it completes */ - public func repeatWithBehavior(_ behavior: RepeatBehavior, scheduler : SchedulerType = MainScheduler.instance, shouldRepeat : RepeatPredicate? = nil) -> Observable { + public func repeatWithBehavior(_ behavior: RepeatBehavior, scheduler: SchedulerType = MainScheduler.instance, shouldRepeat: RepeatPredicate? = nil) -> Observable { return repeatWithBehavior(1, behavior: behavior, scheduler: scheduler, shouldRepeat: shouldRepeat) } - + /** Repeats the source observable sequence using given behavior when it completes - parameter currentRepeat: Number of the current repetition @@ -40,10 +40,10 @@ extension ObservableType { - parameter shouldRepeat: Custom optional closure for decided whether the observable should repeat another round - returns: Observable sequence that will be automatically repeat when it completes */ - internal func repeatWithBehavior(_ currentRepeat: UInt, behavior: RepeatBehavior, scheduler : SchedulerType = MainScheduler.instance, shouldRepeat : RepeatPredicate? = nil) + internal func repeatWithBehavior(_ currentRepeat: UInt, behavior: RepeatBehavior, scheduler: SchedulerType = MainScheduler.instance, shouldRepeat: RepeatPredicate? = nil) -> Observable { guard currentRepeat > 0 else { return Observable.empty() } - + // calculate conditions for bahavior let conditions = behavior.calculateConditions(currentRepeat) @@ -57,7 +57,7 @@ extension ObservableType { //repeat guard conditions.maxCount > currentRepeat else { return Observable.empty() } - if let shouldRepeat = shouldRepeat , !shouldRepeat() { + if let shouldRepeat = shouldRepeat, !shouldRepeat() { // also return error if predicate says so return Observable.empty() } diff --git a/Source/RxSwift/retryWithBehavior.swift b/Source/RxSwift/retryWithBehavior.swift index d7641972..4b012aae 100644 --- a/Source/RxSwift/retryWithBehavior.swift +++ b/Source/RxSwift/retryWithBehavior.swift @@ -59,11 +59,11 @@ extension ObservableType { - parameter shouldRetry: Custom optional closure for checking error (if returns true, repeat will be performed) - returns: Observable sequence that will be automatically repeat if error occurred */ - + public func retry(_ behavior: RepeatBehavior, scheduler: SchedulerType = MainScheduler.instance, shouldRetry: RetryPredicate? = nil) -> Observable { return retry(1, behavior: behavior, scheduler: scheduler, shouldRetry: shouldRetry) } - + /** Repeats the source observable sequence using given behavior in case of an error or until it successfully terminated - parameter currentAttempt: Number of current attempt @@ -72,18 +72,18 @@ extension ObservableType { - parameter shouldRetry: Custom optional closure for checking error (if returns true, repeat will be performed) - returns: Observable sequence that will be automatically repeat if error occurred */ - + internal func retry(_ currentAttempt: UInt, behavior: RepeatBehavior, scheduler: SchedulerType = MainScheduler.instance, shouldRetry: RetryPredicate? = nil) -> Observable { guard currentAttempt > 0 else { return Observable.empty() } - + // calculate conditions for bahavior let conditions = behavior.calculateConditions(currentAttempt) - + return catchError { error -> Observable in // return error if exceeds maximum amount of retries guard conditions.maxCount > currentAttempt else { return Observable.error(error) } - + if let shouldRetry = shouldRetry, !shouldRetry(error) { // also return error if predicate says so return Observable.error(error) @@ -93,7 +93,7 @@ extension ObservableType { // if there is no delay, simply retry return self.retry(currentAttempt + 1, behavior: behavior, scheduler: scheduler, shouldRetry: shouldRetry) } - + // otherwise retry after specified delay return Observable.just(()).delaySubscription(conditions.delay, scheduler: scheduler).flatMapLatest { self.retry(currentAttempt + 1, behavior: behavior, scheduler: scheduler, shouldRetry: shouldRetry) diff --git a/Source/RxSwift/unwrap.swift b/Source/RxSwift/unwrap.swift index 2aefa6c3..713bcf8c 100644 --- a/Source/RxSwift/unwrap.swift +++ b/Source/RxSwift/unwrap.swift @@ -17,7 +17,7 @@ extension ObservableType { - returns: An observable sequence of non-optional elements */ - public func unwrap() -> Observable where E == Optional { + public func unwrap() -> Observable where E == T? { return self.filter { $0 != nil }.map { $0! } } } From f9c6ff450caf575a349d600dbb4046997b5a1dfd Mon Sep 17 00:00:00 2001 From: Shai Mishali Date: Tue, 12 Dec 2017 15:10:04 +0200 Subject: [PATCH 3/6] Updated Tests --- Tests/RxCocoa/distinct+RxCocoa.swift | 26 ++--- Tests/RxCocoa/mapToTests+RxCocoa.swift | 2 +- Tests/RxSwift/DistinctTests.swift | 110 +++++++++--------- Tests/RxSwift/IgnoreTests.swift | 86 +++++++------- Tests/RxSwift/OnceTests.swift | 23 ++-- Tests/RxSwift/UnwrapTests.swift | 17 ++- Tests/RxSwift/WeakTarget.swift | 22 ++-- Tests/RxSwift/WeakTests.swift | 83 ++++++------- Tests/RxSwift/andTests.swift | 5 +- Tests/RxSwift/applyTests.swift | 6 +- Tests/RxSwift/cascadeTests.swift | 89 ++++++++------ .../RxSwift/catchErrorJustCompleteTests.swift | 46 ++++---- Tests/RxSwift/fromAsyncTests.swift | 14 +-- Tests/RxSwift/ignoreErrorsTests.swift | 20 ++-- Tests/RxSwift/ignoreWhenTests.swift | 73 ++++++------ Tests/RxSwift/mapToTests.swift | 16 +-- .../RxSwift/materialized+elementsTests.swift | 2 +- Tests/RxSwift/notTests.swift | 1 - Tests/RxSwift/nwiseTests.swift | 3 +- Tests/RxSwift/pausableBufferedTests.swift | 102 +++++++--------- Tests/RxSwift/pausableTests.swift | 29 ++--- Tests/RxSwift/repeatWithBehaviorTests.swift | 40 +++---- Tests/RxSwift/retryWithBehaviorTests.swift | 101 ++++++++-------- 23 files changed, 446 insertions(+), 470 deletions(-) diff --git a/Tests/RxCocoa/distinct+RxCocoa.swift b/Tests/RxCocoa/distinct+RxCocoa.swift index 82775a5f..30c5cabe 100644 --- a/Tests/RxCocoa/distinct+RxCocoa.swift +++ b/Tests/RxCocoa/distinct+RxCocoa.swift @@ -30,7 +30,7 @@ class DistinctCocoaTests: XCTestCase { next(0, DummyHashable(id: 1, name: "SomeName")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -75,7 +75,7 @@ class DistinctCocoaTests: XCTestCase { let correct: [Recorded>] = [ completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -97,7 +97,7 @@ class DistinctCocoaTests: XCTestCase { next(0, DummyEquatable(id: 1, name: "SomeName")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -122,7 +122,7 @@ class DistinctCocoaTests: XCTestCase { next(0, DummyEquatable(id: 2, name: "SomeName2")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -141,7 +141,7 @@ class DistinctCocoaTests: XCTestCase { let correct: [Recorded>] = [ completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -168,7 +168,7 @@ class DistinctCocoaTests: XCTestCase { next(0, DummyEquatable(id: 1, name: "SomeName1")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -176,7 +176,7 @@ class DistinctCocoaTests: XCTestCase { func testDistinctPredicateAll() { let scheduler = TestScheduler(initialClock: 0, simulateProcessingDelay: false) - SharingScheduler.mock(scheduler: scheduler) { + SharingScheduler.mock(scheduler: scheduler) { let values = [DummyEquatable(id: 1, name: "SomeName1"), DummyEquatable(id: 2, name: "SomeName2"), DummyEquatable(id: 3, name: "SomeName3")] @@ -197,7 +197,7 @@ class DistinctCocoaTests: XCTestCase { next(0, DummyEquatable(id: 3, name: "SomeName3")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -220,7 +220,7 @@ class DistinctCocoaTests: XCTestCase { let correct: [Recorded>] = [ completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -228,7 +228,7 @@ class DistinctCocoaTests: XCTestCase { func testDistinctPredicateFirst() { let scheduler = TestScheduler(initialClock: 0, simulateProcessingDelay: false) - SharingScheduler.mock(scheduler: scheduler) { + SharingScheduler.mock(scheduler: scheduler) { let values = [DummyEquatable(id: 1, name: "SomeName1"), DummyEquatable(id: 2, name: "SomeName2"), DummyEquatable(id: 3, name: "SomeName3")] @@ -247,7 +247,7 @@ class DistinctCocoaTests: XCTestCase { next(0, DummyEquatable(id: 1, name: "SomeName1")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } @@ -255,7 +255,7 @@ class DistinctCocoaTests: XCTestCase { func testDistinctPredicateTwo() { let scheduler = TestScheduler(initialClock: 0, simulateProcessingDelay: false) - SharingScheduler.mock(scheduler: scheduler) { + SharingScheduler.mock(scheduler: scheduler) { let values = [DummyEquatable(id: 1, name: "SomeName1"), DummyEquatable(id: 2, name: "SomeName2"), DummyEquatable(id: 3, name: "SomeName3")] @@ -275,7 +275,7 @@ class DistinctCocoaTests: XCTestCase { next(0, DummyEquatable(id: 2, name: "SomeName2")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } diff --git a/Tests/RxCocoa/mapToTests+RxCocoa.swift b/Tests/RxCocoa/mapToTests+RxCocoa.swift index f61ce1ad..a60f8a8b 100644 --- a/Tests/RxCocoa/mapToTests+RxCocoa.swift +++ b/Tests/RxCocoa/mapToTests+RxCocoa.swift @@ -15,7 +15,7 @@ import RxTest class MapToCocoaTests: XCTestCase { - let numbers: Array = [1, nil, Int?(3)] + let numbers: [Int?] = [1, nil, Int?(3)] fileprivate var observer: TestableObserver! override func setUp() { diff --git a/Tests/RxSwift/DistinctTests.swift b/Tests/RxSwift/DistinctTests.swift index fe4d28b3..b081b106 100644 --- a/Tests/RxSwift/DistinctTests.swift +++ b/Tests/RxSwift/DistinctTests.swift @@ -11,11 +11,10 @@ import RxSwift import RxTest import RxSwiftExt - -struct DummyHashable: Hashable { +struct DummyHashable: Hashable { let id: Int let name: String - + var hashValue: Int { return id.hashValue ^ name.hashValue } @@ -35,185 +34,184 @@ func == (lhs: DummyHashable, rhs: DummyHashable) -> Bool { } class DistinctTests: XCTestCase { - func testDistinctHashableOne() { let values = [DummyHashable(id: 1, name: "SomeName")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyHashable.self) - + _ = Observable.from(values) .distinct() .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyHashable(id: 1, name: "SomeName")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctHashableTwo() { let values = [DummyHashable(id: 1, name: "SomeName"), DummyHashable(id: 2, name: "SomeName2"), DummyHashable(id: 1, name: "SomeName")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyHashable.self) - + _ = Observable.from(values) .distinct() .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyHashable(id: 1, name: "SomeName")), next(0, DummyHashable(id: 2, name: "SomeName2")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctHashableEmpty() { let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyHashable.self) - + _ = Observable.empty() .distinct() .subscribe(observer) - + scheduler.start() - + let correct: [Recorded>] = [ completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctEquatableOne() { let values = [DummyEquatable(id: 1, name: "SomeName")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.from(values) .distinct() .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyEquatable(id: 1, name: "SomeName")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctEquatableTwo() { let values = [DummyEquatable(id: 1, name: "SomeName"), DummyEquatable(id: 2, name: "SomeName2"), DummyEquatable(id: 1, name: "SomeName")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.from(values) .distinct() .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyEquatable(id: 1, name: "SomeName")), next(0, DummyEquatable(id: 2, name: "SomeName2")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } func testDistinctEquatableEmpty() { let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.empty() .distinct() .subscribe(observer) - + scheduler.start() - + let correct: [Recorded>] = [ completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctPredicateOne() { let values = [DummyEquatable(id: 1, name: "SomeName1"), DummyEquatable(id: 2, name: "SomeName2"), DummyEquatable(id: 3, name: "SomeName1")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.from(values) .distinct { $0.name.contains("1") }.subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyEquatable(id: 1, name: "SomeName1")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctPredicateAll() { let values = [DummyEquatable(id: 1, name: "SomeName1"), DummyEquatable(id: 2, name: "SomeName2"), DummyEquatable(id: 3, name: "SomeName3")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.from(values) .distinct { $0.name.contains("T") }.subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyEquatable(id: 1, name: "SomeName1")), next(0, DummyEquatable(id: 2, name: "SomeName2")), next(0, DummyEquatable(id: 3, name: "SomeName3")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctPredicateEmpty() { let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.empty() .distinct { $0.id < 0 } .subscribe(observer) - + scheduler.start() - + let correct: [Recorded>] = [ completed(0) ] - + XCTAssertEqual(observer.events, correct) } @@ -223,42 +221,42 @@ class DistinctTests: XCTestCase { DummyEquatable(id: 3, name: "SomeName3")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.from(values) .distinct { $0.id > 0 }.subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyEquatable(id: 1, name: "SomeName1")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testDistinctPredicateTwo() { let values = [DummyEquatable(id: 1, name: "SomeName1"), DummyEquatable(id: 2, name: "SomeName2"), DummyEquatable(id: 3, name: "SomeName3")] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(DummyEquatable.self) - + _ = Observable.from(values) .distinct { $0.id > 1 }.subscribe(observer) - + scheduler.start() - + let correct = [ next(0, DummyEquatable(id: 1, name: "SomeName1")), next(0, DummyEquatable(id: 2, name: "SomeName2")), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } diff --git a/Tests/RxSwift/IgnoreTests.swift b/Tests/RxSwift/IgnoreTests.swift index 945398a1..84e350cc 100644 --- a/Tests/RxSwift/IgnoreTests.swift +++ b/Tests/RxSwift/IgnoreTests.swift @@ -13,42 +13,37 @@ import RxSwiftExt import RxTest class IgnoreTests: XCTestCase { - func testIgnoreWithStringArray() { - let values = ["Hello", "Swift", "world"] - let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(String.self) - + _ = Observable.from(values) .ignore("Swift") .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, "Hello"), next(0, "world"), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - - func testIgnoreWithOneElement() { - let values = [1,2,3,4,5,1,3,5,7,9] - + func testIgnoreWithOneElement() { + let values = [1, 2, 3, 4, 5, 1, 3, 5, 7, 9] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(Int.self) - + _ = Observable.from(values) .ignore(3) .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, 1), next(0, 2), @@ -60,23 +55,21 @@ class IgnoreTests: XCTestCase { next(0, 9), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testIgnoreWithMultipleElements() { - - let values = [1,2,3,4,5,1,3,5,7,9] - + let values = [1, 2, 3, 4, 5, 1, 3, 5, 7, 9] let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(Int.self) - + _ = Observable.from(values) - .ignore(3,1,9) + .ignore(3, 1, 9) .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, 2), next(0, 4), @@ -85,24 +78,23 @@ class IgnoreTests: XCTestCase { next(0, 7), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testIgnoreWithSequenceType() { + let values = [1, 2, 3, 4, 5, 1, 3, 5, 7, 9] + let sequence = Set([3, 1, 9]) - let values = [1,2,3,4,5,1,3,5,7,9] - let sequence = Set([3,1,9]) - let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(Int.self) - + _ = Observable.from(values) .ignore(sequence) .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, 2), next(0, 4), @@ -111,23 +103,23 @@ class IgnoreTests: XCTestCase { next(0, 7), completed(0) ] - + XCTAssertEqual(observer.events, correct) } - + func testIgnoreWithArray() { - let values = [1,2,3,4,5,1,3,5,7,9] - let sequence = [3,1,9] - + let values = [1, 2, 3, 4, 5, 1, 3, 5, 7, 9] + let sequence = [3, 1, 9] + let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(Int.self) - + _ = Observable.from(values) .ignore(sequence) .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, 2), next(0, 4), @@ -136,23 +128,23 @@ class IgnoreTests: XCTestCase { next(0, 7), completed(0) ] - + XCTAssertEqual(observer.events, correct) } func testIgnoreWithEmptySequence() { - let values = [1,2,3,4,5,1,3,5,7,9] - let emptySequence : [Int] = [] - + let values = [1, 2, 3, 4, 5, 1, 3, 5, 7, 9] + let emptySequence: [Int] = [] + let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(Int.self) - + _ = Observable.from(values) .ignore(emptySequence) .subscribe(observer) - + scheduler.start() - + let correct = [ next(0, 1), next(0, 2), @@ -166,7 +158,7 @@ class IgnoreTests: XCTestCase { next(0, 9), completed(0) ] - + XCTAssertEqual(observer.events, correct) } } diff --git a/Tests/RxSwift/OnceTests.swift b/Tests/RxSwift/OnceTests.swift index f80f7412..ca34ea4e 100644 --- a/Tests/RxSwift/OnceTests.swift +++ b/Tests/RxSwift/OnceTests.swift @@ -13,9 +13,7 @@ import RxSwiftExt import RxTest class OnceTests: XCTestCase { - func testOnce() { - let onceObservable = Observable.once("Hello") let scheduler = TestScheduler(initialClock: 0) @@ -24,24 +22,24 @@ class OnceTests: XCTestCase { let observer2 = scheduler.createObserver(String.self) _ = onceObservable.subscribe(observer2) - + scheduler.start() - + let correct1 = [ next(0, "Hello"), completed(0) ] - let correct2 : [Recorded>] = [ + + let correct2: [Recorded>] = [ completed(0) ] - + XCTAssertEqual(observer1.events, correct1) XCTAssertEqual(observer2.events, correct2) } - + func testMultipleOnce() { - let onceObservable1 = Observable.once("Hello") let onceObservable2 = Observable.once("world") let scheduler = TestScheduler(initialClock: 0) @@ -57,19 +55,22 @@ class OnceTests: XCTestCase { _ = onceObservable2.subscribe(observer4) scheduler.start() - + let correct1 = [ next(0, "Hello"), completed(0) ] - let correct2 : [Recorded>] = [ + + let correct2: [Recorded>] = [ completed(0) ] + let correct3 = [ next(0, "world"), completed(0) ] - let correct4 : [Recorded>] = [ + + let correct4: [Recorded>] = [ completed(0) ] diff --git a/Tests/RxSwift/UnwrapTests.swift b/Tests/RxSwift/UnwrapTests.swift index f387d836..4a968a98 100644 --- a/Tests/RxSwift/UnwrapTests.swift +++ b/Tests/RxSwift/UnwrapTests.swift @@ -13,23 +13,22 @@ import RxSwiftExt import RxTest class UnwrapTests: XCTestCase { - - let numbers: Array = [1, nil, Int?(3), 4] + let numbers: [Int?] = [1, nil, Int?(3), 4] fileprivate var observer: TestableObserver! - + override func setUp() { super.setUp() - + let scheduler = TestScheduler(initialClock: 0) observer = scheduler.createObserver(Int.self) - + _ = Observable.from(numbers) .unwrap() .subscribe(observer) - + scheduler.start() } - + func testUnwrapFilterNil() { //test results count XCTAssertEqual( @@ -37,7 +36,7 @@ class UnwrapTests: XCTestCase { numbers.count - 1/* the nr. of nil elements*/ + 1 /* complete event*/ ) } - + func testUnwrapResultValues() { //test elements values and type let correctValues = [ @@ -47,5 +46,5 @@ class UnwrapTests: XCTestCase { completed(0) ] XCTAssertEqual(observer.events, correctValues) - } + } } diff --git a/Tests/RxSwift/WeakTarget.swift b/Tests/RxSwift/WeakTarget.swift index 42b11cd7..b759c7df 100644 --- a/Tests/RxSwift/WeakTarget.swift +++ b/Tests/RxSwift/WeakTarget.swift @@ -16,14 +16,14 @@ enum RxEvent { case next, error, completed, disposed init(event: Event) { switch event { - case .next(_): self = .next - case .error(_): self = .error + case .next: self = .next + case .error: self = .error case .completed: self = .completed } } } -var WeakTargetReferenceCount: Int = 0 +var weakTargetReferenceCount: Int = 0 class WeakTarget { let listener: ([RxEvent: Int]) -> Void @@ -34,22 +34,22 @@ class WeakTarget { self.events[event] = (self.events[event] ?? 0) + 1 self.listener(self.events) } - + init(obs: Observable, listener: @escaping ([RxEvent: Int]) -> Void) { - WeakTargetReferenceCount += 1 + weakTargetReferenceCount += 1 self.listener = listener self.observable = obs } - deinit { WeakTargetReferenceCount -= 1 } - - //MARK: - Subscribers + deinit { weakTargetReferenceCount -= 1 } + + // MARK: - Subscribers fileprivate func subscriber_on(_ event: Event) { self.updateEvents(RxEvent(event: event)) } fileprivate func subscriber_onNext(_ element: Type) { self.updateEvents(.next) } fileprivate func subscriber_onError(_ error: Error) { self.updateEvents(.error) } fileprivate func subscriber_onComplete() { self.updateEvents(.completed) } fileprivate func subscriber_onDisposed() { self.updateEvents(.disposed) } - - //MARK: - Subscription Setup + + // MARK: - Subscription Setup func useSubscribe() { self.observable.subscribe(weak: self, WeakTarget.subscriber_on).disposed(by: self.disposeBag) } @@ -74,7 +74,7 @@ class WeakTarget { ) .disposed(by: self.disposeBag) } - + func dispose() { self.disposeBag = DisposeBag() } diff --git a/Tests/RxSwift/WeakTests.swift b/Tests/RxSwift/WeakTests.swift index 2ecd8887..16e298e7 100644 --- a/Tests/RxSwift/WeakTests.swift +++ b/Tests/RxSwift/WeakTests.swift @@ -16,119 +16,120 @@ class WeakTests: XCTestCase { var target: WeakTarget? var events = [RxEvent: Int]() let source = PublishSubject() - + override func setUp() { super.setUp() - + self.events = [RxEvent: Int]() - XCTAssertTrue(WeakTargetReferenceCount == 0) + XCTAssertTrue(weakTargetReferenceCount == 0) self.target = WeakTarget(obs: self.source) { self.events = $0 } - XCTAssertTrue(WeakTargetReferenceCount == 1) + XCTAssertTrue(weakTargetReferenceCount == 1) } + override func tearDown() { super.tearDown() self.target = nil - - //If a retain cycle was present this would not return to 0 - XCTAssertTrue(WeakTargetReferenceCount == 0) + + // If a retain cycle was present this would not return to 0 + XCTAssertTrue(weakTargetReferenceCount == 0) } - - //MARK: - Evetn Subscriber + + // MARK: - Event Subscriber func testSubscribe() { self.target?.useSubscribe() - + self.source.onNext(0) self.source.onNext(0) self.target = nil self.source.onNext(0) self.source.onError(WeakTargetError.error) self.target?.dispose() - + let expected: [RxEvent: Int] = [.next: 2, .error: 0, .completed: 0, .disposed: 0] XCTAssertTrue(events == expected) } - - //MARK: - Individual Subscribers + + // MARK: - Individual Subscribers func testSubscribeNext() { self.target?.useSubscribeNext() - + self.source.onNext(0) self.source.onNext(0) self.target = nil self.source.onNext(0) - - //if a retain cycle was present the .Next count would be 3 + + // If a retain cycle was present, the .next count would be 3 let expected: [RxEvent: Int] = [.next: 2, .error: 0, .completed: 0, .disposed: 0] XCTAssertTrue(events == expected) } - + func testSubscribeError() { self.target?.useSubscribeError() - + self.source.onError(WeakTargetError.error) self.target = nil - - //errors only emit once... + + // Errors only emit once let expected: [RxEvent: Int] = [.next: 0, .error: 1, .completed: 0, .disposed: 0] XCTAssertTrue(events == expected) } - + func testSubscribeCompleted() { self.target?.useSubscribeComplete() - + self.source.onCompleted() self.target = nil - - //completed only emit once... + + // Completed only emit once let expected: [RxEvent: Int] = [.next: 0, .error: 0, .completed: 1, .disposed: 0] XCTAssertTrue(events == expected) } - - //MARK: - Multi Subscribers + + // MARK: - Multiple Subscribers func testSubscribeOn_Next() { self.target?.useSubscribeMulti() - + self.source.onNext(0) self.source.onNext(0) self.target = nil self.source.onNext(0) - - //if a retain cycle was present the .Next count would be 3 + + // If a retain cycle was present, the .next count would be 3 let expected: [RxEvent: Int] = [.next: 2, .error: 0, .completed: 0, .disposed: 0] XCTAssertTrue(events == expected) } - + func testSubscribeOn_Error() { self.target?.useSubscribeMulti() - + self.source.onError(WeakTargetError.error) self.target = nil - - //errors only emit once... + + // Errors only emit once let expected: [RxEvent: Int] = [.next: 0, .error: 1, .completed: 0, .disposed: 1] XCTAssertTrue(events == expected) } - + func testSubscribeOn_Completed() { self.target?.useSubscribeMulti() - + self.source.onCompleted() self.target = nil - - //completed only emit once... + + // completed only emit once let expected: [RxEvent: Int] = [.next: 0, .error: 0, .completed: 1, .disposed: 1] XCTAssertTrue(events == expected) } - + func testSubscribeOn_Disposed() { self.target?.useSubscribeMulti() - + self.target?.dispose() self.target = nil - - //completed only emit once... + + // Completed only emit once let expected: [RxEvent: Int] = [.next: 0, .error: 0, .completed: 0, .disposed: 1] XCTAssertTrue(events == expected) } diff --git a/Tests/RxSwift/andTests.swift b/Tests/RxSwift/andTests.swift index 967b9fa5..12de947c 100644 --- a/Tests/RxSwift/andTests.swift +++ b/Tests/RxSwift/andTests.swift @@ -10,12 +10,11 @@ import XCTest import RxSwift import RxTest -fileprivate enum AndTestsError: Error { +private enum AndTestsError: Error { case anyError } -class andTests: XCTestCase { - +class AndTests: XCTestCase { fileprivate func runAndObserve(_ sequence: Maybe) -> TestableObserver { let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(Bool.self) diff --git a/Tests/RxSwift/applyTests.swift b/Tests/RxSwift/applyTests.swift index f3e30d80..0a6a529e 100644 --- a/Tests/RxSwift/applyTests.swift +++ b/Tests/RxSwift/applyTests.swift @@ -12,13 +12,13 @@ import RxSwift import RxSwiftExt import RxTest -class applyTests: XCTestCase { - +class ApplyTests: XCTestCase { + override func setUp() { super.setUp() // Put setup code here. This method is called before the invocation of each test method in the class. } - + override func tearDown() { // Put teardown code here. This method is called after the invocation of each test method in the class. super.tearDown() diff --git a/Tests/RxSwift/cascadeTests.swift b/Tests/RxSwift/cascadeTests.swift index 7a62ca0d..6de15dd6 100644 --- a/Tests/RxSwift/cascadeTests.swift +++ b/Tests/RxSwift/cascadeTests.swift @@ -14,25 +14,23 @@ import RxTest class CascadeTests: XCTestCase { let testError = NSError(domain: "dummyError", code: -232, userInfo: nil) - let scheduler = TestScheduler(initialClock: 0) - + func testCascadeEmpty() { - let emptySequence = Observable.from([Int]()) let obs = scheduler.createObserver(Int.self) _ = Observable.cascade([emptySequence]) .subscribe(obs) - + scheduler.start() - + XCTAssertEqual( - obs.events.count-1 /*complete event*/, + obs.events.count-1, // completed event 0 ) } - + func testCascadeOne() { let xs = scheduler.createHotObservable([ next(110, 1), @@ -53,7 +51,7 @@ class CascadeTests: XCTestCase { Subscription(200, 600) ]) } - + func testCascadeTwo() { let xs = scheduler.createHotObservable([ next(110, 1), @@ -72,7 +70,7 @@ class CascadeTests: XCTestCase { error(620, testError), completed(630) ]) - + let ys = scheduler.createHotObservable([ next(350, 26), next(390, 27), @@ -88,7 +86,7 @@ class CascadeTests: XCTestCase { let res = scheduler.start { () -> Observable in Observable.cascade([xs, ys]) } - + XCTAssertEqual(res.events, [ next(230, 3), next(270, 4), @@ -100,14 +98,16 @@ class CascadeTests: XCTestCase { next(560, 30), completed(600) ]) + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 350) ]) + XCTAssertEqual(ys.subscriptions, [ Subscription(200, 600) ]) } - + func testCascadeSkipMiddleSequence() { let xs = scheduler.createHotObservable([ next(110, 1), @@ -126,7 +126,7 @@ class CascadeTests: XCTestCase { error(620, testError), completed(630) ]) - + let ys = scheduler.createHotObservable([ next(350, 26), next(390, 27), @@ -152,9 +152,9 @@ class CascadeTests: XCTestCase { ]) let res = scheduler.start { () -> Observable in - Observable.cascade([xs,ys,zs]) + Observable.cascade([xs, ys, zs]) } - + XCTAssertEqual(res.events, [ next(230, 3), next(270, 4), @@ -166,24 +166,27 @@ class CascadeTests: XCTestCase { next(500, 130), completed(600) ]) + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 345) ]) + XCTAssertEqual(ys.subscriptions, [ Subscription(200, 345) ]) + XCTAssertEqual(zs.subscriptions, [ Subscription(200, 600) ]) } - + func testCascadeImmediateError() { let xs = scheduler.createHotObservable([ next(100, 1), error(210, testError), completed(630) ]) - + let ys = scheduler.createHotObservable([ next(350, 26), next(390, 27), @@ -197,9 +200,9 @@ class CascadeTests: XCTestCase { ]) let res = scheduler.start { () -> Observable in - Observable.cascade([xs,ys]) + Observable.cascade([xs, ys]) } - + XCTAssertEqual(res.events, [ error(210, testError) ]) @@ -207,11 +210,12 @@ class CascadeTests: XCTestCase { XCTAssertEqual(xs.subscriptions, [ Subscription(200, 210) ]) + XCTAssertEqual(ys.subscriptions, [ Subscription(200, 210) ]) } - + func testCascadeErrorOnSecond() { let xs = scheduler.createHotObservable([ next(110, 1), @@ -230,7 +234,7 @@ class CascadeTests: XCTestCase { error(620, testError), completed(630) ]) - + let ys = scheduler.createHotObservable([ next(350, 26), next(390, 27), @@ -238,16 +242,16 @@ class CascadeTests: XCTestCase { error(480, testError), completed(630) ]) - + let zs = scheduler.createHotObservable([ next(500, 130), error(520, testError) ]) - + let res = scheduler.start { () -> Observable in - Observable.cascade([xs,ys,zs]) + Observable.cascade([xs, ys, zs]) } - + XCTAssertEqual(res.events, [ next(230, 3), next(270, 4), @@ -255,19 +259,22 @@ class CascadeTests: XCTestCase { next(350, 26), next(390, 27), next(450, 28), - error(480, testError), + error(480, testError) ]) + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 350) ]) + XCTAssertEqual(ys.subscriptions, [ Subscription(200, 480) ]) + XCTAssertEqual(zs.subscriptions, [ Subscription(200, 480) ]) } - + func testOutOfOrderCompletion() { let xs = scheduler.createHotObservable([ next(110, 1), @@ -286,21 +293,21 @@ class CascadeTests: XCTestCase { error(620, testError), completed(630) ]) - + let ys = scheduler.createHotObservable([ next(350, 26), next(390, 27), completed(500) ]) - + let zs = scheduler.createHotObservable([ completed(400, Int.self) ]) - + let res = scheduler.start { () -> Observable in - Observable.cascade([xs,ys,zs]) + Observable.cascade([xs, ys, zs]) } - + XCTAssertEqual(res.events, [ next(230, 3), next(270, 4), @@ -309,17 +316,20 @@ class CascadeTests: XCTestCase { next(390, 27), completed(500) ]) + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 350) ]) + XCTAssertEqual(ys.subscriptions, [ Subscription(200, 500) ]) + XCTAssertEqual(zs.subscriptions, [ Subscription(200, 400) ]) } - + func testImmediateCompletion() { let xs = scheduler.createHotObservable([ next(110, 1), @@ -327,34 +337,37 @@ class CascadeTests: XCTestCase { next(230, 3), next(270, 4), next(340, 5), - completed(400), + completed(400) ]) - + let ys = scheduler.createHotObservable([ next(100, 21), completed(210, Int.self) ]) - + let zs = scheduler.createHotObservable([ completed(350, Int.self) ]) - + let res = scheduler.start { () -> Observable in - Observable.cascade([xs,ys,zs]) + Observable.cascade([xs, ys, zs]) } - + XCTAssertEqual(res.events, [ next(230, 3), next(270, 4), next(340, 5), completed(400) ]) + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 400) ]) + XCTAssertEqual(ys.subscriptions, [ Subscription(200, 210) ]) + XCTAssertEqual(zs.subscriptions, [ Subscription(200, 350) ]) diff --git a/Tests/RxSwift/catchErrorJustCompleteTests.swift b/Tests/RxSwift/catchErrorJustCompleteTests.swift index f17b7907..140a8b6e 100644 --- a/Tests/RxSwift/catchErrorJustCompleteTests.swift +++ b/Tests/RxSwift/catchErrorJustCompleteTests.swift @@ -14,22 +14,22 @@ import RxTest class CatchErrorJustCompleteTests: XCTestCase { let testError = NSError(domain: "dummyError", code: -232, userInfo: nil) - + func testCatchErrorJustComplete_Empty() { let scheduler = TestScheduler(initialClock: 0) - - let events : [Recorded>] = [ + + let events: [Recorded>] = [ completed(250)] let xs = scheduler.createColdObservable(events) - + let res = scheduler.start { xs.catchErrorJustComplete() } - + XCTAssertEqual(res.events, [ completed(450) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 450) ]) @@ -37,73 +37,73 @@ class CatchErrorJustCompleteTests: XCTestCase { func testCatchErrorJustComplete_NoError() { let scheduler = TestScheduler(initialClock: 0) - + let xs = scheduler.createColdObservable([ next(100, 1), next(150, 2), next(200, 3), completed(250) ]) - + let res = scheduler.start { xs.catchErrorJustComplete() } - + XCTAssertEqual(res.events, [ next(300, 1), next(350, 2), next(400, 3), completed(450) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 450) ]) } - + func testCatchErrorJustComplete_Infinite() { let scheduler = TestScheduler(initialClock: 0) - + let xs = scheduler.createColdObservable([ next(100, 1), next(150, 2), - next(200, 3), + next(200, 3) ]) - + let res = scheduler.start { xs.catchErrorJustComplete() } - + XCTAssertEqual(res.events, [ next(300, 1), next(350, 2), - next(400, 3), + next(400, 3) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 1000) ]) } - + func testCatchErrorJustComplete_Error() { let scheduler = TestScheduler(initialClock: 0) - + let xs = scheduler.createColdObservable([ next(100, 1), next(150, 2), - error(250, testError), + error(250, testError) ]) - + let res = scheduler.start { xs.catchErrorJustComplete() } - + XCTAssertEqual(res.events, [ next(300, 1), next(350, 2), completed(450) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 450) ]) diff --git a/Tests/RxSwift/fromAsyncTests.swift b/Tests/RxSwift/fromAsyncTests.swift index 130d073b..1a285e3d 100644 --- a/Tests/RxSwift/fromAsyncTests.swift +++ b/Tests/RxSwift/fromAsyncTests.swift @@ -13,29 +13,27 @@ import RxSwiftExt import RxTest class FromAsyncTests: XCTestCase { - private func service(arg1: String, arg2: Int, completionHandler: (String) -> Void) { completionHandler("Result") } - + func testResultEquality() { - var correct = [Recorded>]() - + service(arg1: "Foo", arg2: 0) { result in correct.append(next(0, result)) correct.append(completed(0)) } - + let scheduler = TestScheduler(initialClock: 0) let observer = scheduler.createObserver(String.self) - + _ = Observable .fromAsync(service(arg1:arg2:completionHandler:))("Foo", 2) .subscribe(observer) - + scheduler.start() - + XCTAssertEqual(observer.events, correct) } } diff --git a/Tests/RxSwift/ignoreErrorsTests.swift b/Tests/RxSwift/ignoreErrorsTests.swift index 6de875a9..8729ba0d 100644 --- a/Tests/RxSwift/ignoreErrorsTests.swift +++ b/Tests/RxSwift/ignoreErrorsTests.swift @@ -51,7 +51,7 @@ class IgnoreErrorsTests: XCTestCase { let xs = scheduler.createColdObservable([ next(100, 1), next(150, 2), - next(200, 3), + next(200, 3) ]) let res = scheduler.start { @@ -61,7 +61,7 @@ class IgnoreErrorsTests: XCTestCase { XCTAssertEqual(res.events, [ next(300, 1), next(350, 2), - next(400, 3), + next(400, 3) ]) XCTAssertEqual(xs.subscriptions, [ @@ -76,7 +76,7 @@ class IgnoreErrorsTests: XCTestCase { next(100, 1), next(150, 2), next(200, 3), - error(250, testError), + error(250, testError) ]) let res = scheduler.start(disposed: 1100) { @@ -107,7 +107,7 @@ class IgnoreErrorsTests: XCTestCase { func testIgnoreErrors_PredicateBasic() { let scheduler = TestScheduler(initialClock: 0) var counter = 0 - + let xs = scheduler.createColdObservable([ next(5, 1), next(10, 2), @@ -116,7 +116,7 @@ class IgnoreErrorsTests: XCTestCase { ]) let res = scheduler.start { - xs.ignoreErrors { error -> Bool in + xs.ignoreErrors { _ -> Bool in counter += 1 return counter < 3 } @@ -153,7 +153,7 @@ class IgnoreErrorsTests: XCTestCase { ]) let res = scheduler.start(disposed: 231) { - xs.ignoreErrors { error -> Bool in + xs.ignoreErrors { _ -> Bool in return true } } @@ -163,12 +163,12 @@ class IgnoreErrorsTests: XCTestCase { next(210, 2), next(215, 3), next(225, 1), - next(230, 2), + next(230, 2) ]) XCTAssertEqual(xs.subscriptions, [ Subscription(200, 220), - Subscription(220, 231), + Subscription(220, 231) ]) } @@ -183,7 +183,7 @@ class IgnoreErrorsTests: XCTestCase { ]) let res = scheduler.start { - xs.ignoreErrors { error -> Bool in + xs.ignoreErrors { _ -> Bool in return true } } @@ -196,7 +196,7 @@ class IgnoreErrorsTests: XCTestCase { ]) XCTAssertEqual(xs.subscriptions, [ - Subscription(200, 450), + Subscription(200, 450) ]) } } diff --git a/Tests/RxSwift/ignoreWhenTests.swift b/Tests/RxSwift/ignoreWhenTests.swift index 3236be92..17f55367 100644 --- a/Tests/RxSwift/ignoreWhenTests.swift +++ b/Tests/RxSwift/ignoreWhenTests.swift @@ -16,29 +16,27 @@ func isPrime(_ i: Int) -> Bool { if i <= 1 { return false } - + let max = Int(sqrt(Double(i))) if max <= 1 { return true } - - for j in 2 ... max { - if i % j == 0 { - return false - } + + for j in 2 ... max where i % j == 0 { + return false } - + return true } class IgnoreWhenTests: XCTestCase { let testError = NSError(domain: "dummyError", code: -232, userInfo: nil) - + func test_ignoreWhenComplete() { let scheduler = TestScheduler(initialClock: 0) - + var invoked = 0 - + let xs = scheduler.createHotObservable([ next(110, 1), next(180, 2), @@ -56,14 +54,14 @@ class IgnoreWhenTests: XCTestCase { error(620, testError), completed(630) ]) - + let res = scheduler.start { () -> Observable in return xs.ignoreWhen { (num: Int) -> Bool in invoked += 1 - return !isPrime(num); + return !isPrime(num) } } - + XCTAssertEqual(res.events, [ next(230, 3), next(340, 5), @@ -71,19 +69,19 @@ class IgnoreWhenTests: XCTestCase { next(580, 11), completed(600) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 600) ]) - + XCTAssertEqual(9, invoked) } - + func test_ignoreWhenFalse() { let scheduler = TestScheduler(initialClock: 0) - + var invoked = 0 - + let xs = scheduler.createHotObservable([ next(110, 1), next(180, 2), @@ -98,14 +96,14 @@ class IgnoreWhenTests: XCTestCase { next(580, 11), completed(600) ]) - + let res = scheduler.start { () -> Observable in - return xs.ignoreWhen { (num: Int) -> Bool in + return xs.ignoreWhen { _ -> Bool in invoked += 1 return false } } - + XCTAssertEqual(res.events, [ next(230, 3), next(270, 4), @@ -118,19 +116,19 @@ class IgnoreWhenTests: XCTestCase { next(580, 11), completed(600) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 600) ]) - + XCTAssertEqual(9, invoked) } - + func test_ignoreWhenTrue() { let scheduler = TestScheduler(initialClock: 0) - + var invoked = 0 - + let xs = scheduler.createHotObservable([ next(110, 1), next(180, 2), @@ -145,30 +143,29 @@ class IgnoreWhenTests: XCTestCase { next(580, 11), completed(600) ]) - + let res = scheduler.start { () -> Observable in - return xs.ignoreWhen { (num: Int) -> Bool in + return xs.ignoreWhen { _ -> Bool in invoked += 1 return true } } - + XCTAssertEqual(res.events, [ completed(600) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 600) ]) - + XCTAssertEqual(9, invoked) } - + func test_ignoreWhenDisposed() { let scheduler = TestScheduler(initialClock: 0) - var invoked = 0 - + let xs = scheduler.createHotObservable([ next(110, 1), next(180, 2), @@ -183,24 +180,24 @@ class IgnoreWhenTests: XCTestCase { next(580, 11), completed(600) ]) - + let res = scheduler.start(disposed: 400) { () -> Observable in return xs.ignoreWhen { (num: Int) -> Bool in invoked += 1 return !isPrime(num) } } - + XCTAssertEqual(res.events, [ next(230, 3), next(340, 5), next(390, 7) ]) - + XCTAssertEqual(xs.subscriptions, [ Subscription(200, 400) ]) - + XCTAssertEqual(5, invoked) } } diff --git a/Tests/RxSwift/mapToTests.swift b/Tests/RxSwift/mapToTests.swift index ab432fa5..2000e61c 100644 --- a/Tests/RxSwift/mapToTests.swift +++ b/Tests/RxSwift/mapToTests.swift @@ -14,29 +14,29 @@ import RxTest class MapToTests: XCTestCase { - let numbers: Array = [1, nil, Int?(3)] - fileprivate var observer: TestableObserver! - + let numbers: [Int?] = [1, nil, Int?(3)] + private var observer: TestableObserver! + override func setUp() { super.setUp() - + let scheduler = TestScheduler(initialClock: 0) observer = scheduler.createObserver(String.self) - + _ = Observable.from(numbers) .mapTo("candy") .subscribe(observer) - + scheduler.start() } func testReplaceWithResultCount() { XCTAssertEqual( - observer.events.count-1 /*complete event*/, + observer.events.count - 1, // completed event numbers.count ) } - + func testReplaceWithResultValues() { //test elements values and type let correctValues = [ diff --git a/Tests/RxSwift/materialized+elementsTests.swift b/Tests/RxSwift/materialized+elementsTests.swift index 324b04ff..48782462 100644 --- a/Tests/RxSwift/materialized+elementsTests.swift +++ b/Tests/RxSwift/materialized+elementsTests.swift @@ -11,7 +11,7 @@ import RxTest import RxSwift import RxSwiftExt -final class materializedElementsTests: XCTestCase { +final class MaterializedElementsTests: XCTestCase { private var testScheduler: TestScheduler! private var eventObservable: Observable>! private let dummyError = NSError(domain: "dummy", code: -102) diff --git a/Tests/RxSwift/notTests.swift b/Tests/RxSwift/notTests.swift index f7a8a0b2..48b7eb31 100644 --- a/Tests/RxSwift/notTests.swift +++ b/Tests/RxSwift/notTests.swift @@ -36,4 +36,3 @@ class NotTests: XCTestCase { XCTAssertEqual(observer.events, correct) } } - diff --git a/Tests/RxSwift/nwiseTests.swift b/Tests/RxSwift/nwiseTests.swift index 459fac4e..ab93d8df 100644 --- a/Tests/RxSwift/nwiseTests.swift +++ b/Tests/RxSwift/nwiseTests.swift @@ -12,6 +12,7 @@ import RxSwift import RxSwiftExt import RxTest +// swiftlint:disable:next type_name class nwiseTests: XCTestCase { func testNwiseEmitsGroups() { let values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] @@ -173,6 +174,6 @@ private struct EquatableArray : Equatable { } } -private func ==(lhs: EquatableArray, rhs: EquatableArray) -> Bool { +private func == (lhs: EquatableArray, rhs: EquatableArray) -> Bool { return lhs.elements == rhs.elements } diff --git a/Tests/RxSwift/pausableBufferedTests.swift b/Tests/RxSwift/pausableBufferedTests.swift index 87345988..83eb40fa 100644 --- a/Tests/RxSwift/pausableBufferedTests.swift +++ b/Tests/RxSwift/pausableBufferedTests.swift @@ -13,13 +13,10 @@ import RxSwiftExt import RxTest class PausableBufferedTests: XCTestCase { - let testError = NSError(domain: "dummyError", code: -232, userInfo: nil) - let scheduler = TestScheduler(initialClock: 0) - + func testPausedNoSkip() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -27,36 +24,34 @@ class PausableBufferedTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) - + let pauser = scheduler.createHotObservable([ next(201, true), next(205, false), - next(209, true), + next(209, true) ]) - + let res = scheduler.start(disposed: 1000) { underlying.pausableBuffered(pauser) } - + XCTAssertEqual(res.events, [ next(210, 2), next(230, 3), next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) - + XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 500), + Subscription(200, 500) ]) - } - + func testPausedSkips() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -64,34 +59,32 @@ class PausableBufferedTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) - + let pauser = scheduler.createHotObservable([ next(220, true), next(300, false), - next(400, true), + next(400, true) ]) - + let res = scheduler.start(disposed: 1000) { underlying.pausableBuffered(pauser) } - + XCTAssertEqual(res.events, [ next(220, 2), next(230, 3), next(400, 6), - completed(500), + completed(500) ]) - + XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 500), + Subscription(200, 500) ]) - } - + func testPausedLimit() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -99,35 +92,33 @@ class PausableBufferedTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) - + let pauser = scheduler.createHotObservable([ next(220, true), next(300, false), - next(400, true), + next(400, true) ]) - + let res = scheduler.start(disposed: 1000) { underlying.pausableBuffered(pauser, limit: 2) } - + XCTAssertEqual(res.events, [ next(220, 2), next(230, 3), next(400, 5), next(400, 6), - completed(500), + completed(500) ]) - + XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 500), + Subscription(200, 500) ]) - } - + func testPausedNoLimit() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -135,36 +126,34 @@ class PausableBufferedTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) - + let pauser = scheduler.createHotObservable([ next(220, true), next(300, false), - next(400, true), + next(400, true) ]) - + let res = scheduler.start(disposed: 1000) { underlying.pausableBuffered(pauser, limit: nil) } - + XCTAssertEqual(res.events, [ next(220, 2), next(230, 3), next(400, 4), next(400, 5), next(400, 6), - completed(500), + completed(500) ]) - + XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 500), + Subscription(200, 500) ]) - } - + func testPausedError() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -172,28 +161,27 @@ class PausableBufferedTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) - + let pauser = scheduler.createHotObservable([ next(201, true), next(300, false), next(400, true), - completed(600), + completed(600) ]) - + let res = scheduler.start(disposed: 1000) { underlying.pausableBuffered(pauser) } - + XCTAssertEqual(res.events, [ next(210, 2), - error(230, testError), + error(230, testError) ]) - + XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 230), + Subscription(200, 230) ]) - } } diff --git a/Tests/RxSwift/pausableTests.swift b/Tests/RxSwift/pausableTests.swift index 99a480a1..86df9b81 100644 --- a/Tests/RxSwift/pausableTests.swift +++ b/Tests/RxSwift/pausableTests.swift @@ -13,13 +13,10 @@ import RxSwiftExt import RxTest class PausableTests: XCTestCase { - let testError = NSError(domain: "dummyError", code: -232, userInfo: nil) - let scheduler = TestScheduler(initialClock: 0) func testPausedNoSkip() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -27,13 +24,13 @@ class PausableTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) let pauser = scheduler.createHotObservable([ next(201, true), next(205, false), - next(209, true), + next(209, true) ]) let res = scheduler.start(disposed: 1000) { @@ -46,17 +43,16 @@ class PausableTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 500), + Subscription(200, 500) ]) } func testPausedSkips() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -64,13 +60,13 @@ class PausableTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) let pauser = scheduler.createHotObservable([ next(220, true), next(300, false), - next(400, true), + next(400, true) ]) let res = scheduler.start(disposed: 1000) { @@ -79,17 +75,16 @@ class PausableTests: XCTestCase { XCTAssertEqual(res.events, [ next(230, 3), - completed(500), + completed(500) ]) XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 500), + Subscription(200, 500) ]) } func testPausedError() { - let underlying = scheduler.createHotObservable([ next(150, 1), next(210, 2), @@ -97,13 +92,13 @@ class PausableTests: XCTestCase { next(301, 4), next(350, 5), next(399, 6), - completed(500), + completed(500) ]) let pauser = scheduler.createHotObservable([ next(201, true), next(300, false), - next(400, true), + next(400, true) ]) let res = scheduler.start(disposed: 1000) { @@ -112,11 +107,11 @@ class PausableTests: XCTestCase { XCTAssertEqual(res.events, [ next(210, 2), - error(230, testError), + error(230, testError) ]) XCTAssertEqual(underlying.subscriptions, [ - Subscription(200, 230), + Subscription(200, 230) ]) } diff --git a/Tests/RxSwift/repeatWithBehaviorTests.swift b/Tests/RxSwift/repeatWithBehaviorTests.swift index dfdc1d8a..789cbb83 100644 --- a/Tests/RxSwift/repeatWithBehaviorTests.swift +++ b/Tests/RxSwift/repeatWithBehaviorTests.swift @@ -11,7 +11,7 @@ import RxSwift import RxSwiftExt import RxTest -private enum RepeatTestErrors : Error { +private enum RepeatTestErrors: Error { case fatalError } @@ -21,7 +21,7 @@ class RepeatWithBehaviorTests: XCTestCase { let scheduler = TestScheduler(initialClock: 0) let predicateFalse: RepeatPredicate = { false } let predicateTrue: RepeatPredicate = { true } - + override func setUp() { super.setUp() @@ -30,14 +30,14 @@ class RepeatWithBehaviorTests: XCTestCase { next(220, 2), completed(300) ]) - + sampleValuesWithError = scheduler.createColdObservable([ next(210, 1), - error(220, RepeatTestErrors.fatalError), + error(220, RepeatTestErrors.fatalError) ]) } - //MARK: correct event values + // MARK: - Valid events let immediateCorrectValues = [ next(210, 1), next(220, 2), @@ -63,12 +63,12 @@ class RepeatWithBehaviorTests: XCTestCase { next(828, 2), completed(908)] - let erroredCorrectValues : [Recorded>] = [ + let erroredCorrectValues: [Recorded>] = [ next(210, 1), error(220, RepeatTestErrors.fatalError) ] - //MARK: immediate repeats + // MARK: - Immediate repeats func testImmediateRepeatWithoutPredicate() { let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { @@ -76,7 +76,7 @@ class RepeatWithBehaviorTests: XCTestCase { } XCTAssertEqual(res.events, immediateCorrectValues) } - + func testImmediateRepeatWithError() { let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValuesWithError.asObservable().repeatWithBehavior(.immediate(maxCount: 3), scheduler: self.scheduler) @@ -97,7 +97,7 @@ class RepeatWithBehaviorTests: XCTestCase { .asObservable() .repeatWithBehavior(.immediate(maxCount: 3), scheduler: self.scheduler, shouldRepeat: predicate) } - + XCTAssertEqual(res.events, immediateCorrectValues) } @@ -106,14 +106,14 @@ class RepeatWithBehaviorTests: XCTestCase { next(210, 1), next(220, 2), completed(300)] - + // provide simple predicate that always return false (so, sequence will not repeated) let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues .asObservable() .repeatWithBehavior(.immediate(maxCount: 3), scheduler: self.scheduler, shouldRepeat: self.predicateFalse) } - + XCTAssertEqual(res.events, correctValues) } @@ -126,7 +126,7 @@ class RepeatWithBehaviorTests: XCTestCase { XCTAssertEqual(res.events, erroredCorrectValues) } - //MARK: delayed repeats + // MARK: - Delayed repeats func testDelayedRepeatWithoutPredicate() { let correctValues = [ @@ -137,11 +137,11 @@ class RepeatWithBehaviorTests: XCTestCase { next(812, 1), next(822, 2), completed(902)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().repeatWithBehavior(.delayed(maxCount: 3, time: 1.0), scheduler: self.scheduler) } - + XCTAssertEqual(res.events, correctValues) } @@ -160,7 +160,7 @@ class RepeatWithBehaviorTests: XCTestCase { .asObservable() .repeatWithBehavior(.delayed(maxCount: 3, time: 1.0), scheduler: self.scheduler, shouldRepeat: self.predicateTrue) } - + XCTAssertEqual(res.events, correctValues) } @@ -174,7 +174,7 @@ class RepeatWithBehaviorTests: XCTestCase { .asObservable() .repeatWithBehavior(.delayed(maxCount: 3, time: 5.0), scheduler: self.scheduler, shouldRepeat: self.predicateFalse) } - + XCTAssertEqual(res.events, correctValues) } @@ -187,7 +187,7 @@ class RepeatWithBehaviorTests: XCTestCase { XCTAssertEqual(res.events, erroredCorrectValues) } - //MARK: exponential delay repeats + // MARK: - Exponential delay repeats func testExponentialRepeatWithoutPredicate() { let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { @@ -216,7 +216,7 @@ class RepeatWithBehaviorTests: XCTestCase { .asObservable() .repeatWithBehavior(.exponentialDelayed(maxCount: 3, initial: 2.0, multiplier: 2.0), scheduler: self.scheduler, shouldRepeat: self.predicateFalse) } - + XCTAssertEqual(res.events, correctValues) } @@ -229,7 +229,7 @@ class RepeatWithBehaviorTests: XCTestCase { XCTAssertEqual(res.events, erroredCorrectValues) } - //MARK: custom delay repeats + // MARK: - Custom delay repeats // custom delay calculator let customCalculator: (UInt) -> Double = { attempt in @@ -260,7 +260,7 @@ class RepeatWithBehaviorTests: XCTestCase { let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValuesWithError .asObservable() - .repeatWithBehavior(.customTimerDelayed(maxCount: 3, delayCalculator: self.customCalculator), scheduler: self.scheduler, shouldRepeat: self.predicateFalse) + .repeatWithBehavior(.customTimerDelayed(maxCount: 3, delayCalculator: self.customCalculator), scheduler: self.scheduler, shouldRepeat: self.predicateFalse) } XCTAssertEqual(res.events, erroredCorrectValues) } diff --git a/Tests/RxSwift/retryWithBehaviorTests.swift b/Tests/RxSwift/retryWithBehaviorTests.swift index c1e7daae..d9ad7890 100644 --- a/Tests/RxSwift/retryWithBehaviorTests.swift +++ b/Tests/RxSwift/retryWithBehaviorTests.swift @@ -11,7 +11,7 @@ import RxSwift import RxSwiftExt import RxTest -private enum RepeatTestErrors : Error { +private enum RepeatTestErrors: Error { case fatalError } @@ -20,7 +20,7 @@ class RetryWithBehaviorTests: XCTestCase { var sampleValuesImmediateError: TestableObservable! var sampleValuesNeverError: TestableObservable! let scheduler = TestScheduler(initialClock: 0) - + override func setUp() { super.setUp() @@ -34,11 +34,11 @@ class RetryWithBehaviorTests: XCTestCase { next(270, 6), completed(300) ]) - + sampleValuesImmediateError = scheduler.createColdObservable([ - error(230, RepeatTestErrors.fatalError), + error(230, RepeatTestErrors.fatalError) ]) - + sampleValuesNeverError = scheduler.createColdObservable([ next(210, 1), next(220, 2), @@ -49,12 +49,7 @@ class RetryWithBehaviorTests: XCTestCase { completed(300) ]) } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - super.tearDown() - } - + func testImmediateRetryWithoutPredicate() { let correctValues = [ next(210, 1), @@ -64,23 +59,23 @@ class RetryWithBehaviorTests: XCTestCase { next(670, 1), next(680, 2), error(690, RepeatTestErrors.fatalError)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) } - + XCTAssertEqual(res.events, correctValues) } - + func testImmediateRetryWithoutPredicate_ImmediateError() { - let correctValues : [Recorded>] = [ + let correctValues: [Recorded>] = [ error(690, RepeatTestErrors.fatalError) ] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValuesImmediateError.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) } - + XCTAssertEqual(res.events, correctValues) } @@ -94,11 +89,11 @@ class RetryWithBehaviorTests: XCTestCase { next(270, 6), completed(300) ] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValuesNeverError.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) } - + XCTAssertEqual(res.events, correctValues) } @@ -111,14 +106,14 @@ class RetryWithBehaviorTests: XCTestCase { next(670, 1), next(680, 2), error(690, RepeatTestErrors.fatalError)] - + // provide simple predicate that always return true let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) { _ in true } } - + XCTAssertEqual(res.events, correctValues) } @@ -129,8 +124,8 @@ class RetryWithBehaviorTests: XCTestCase { next(440, 1), next(450, 2), error(460, RepeatTestErrors.fatalError)] - - // provide simple predicate that always return true + + // provide simple predicate that always returns true var attempts = 0 let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) { _ in @@ -138,7 +133,7 @@ class RetryWithBehaviorTests: XCTestCase { return attempts == 1 } } - + XCTAssertEqual(res.events, correctValues) } @@ -147,17 +142,17 @@ class RetryWithBehaviorTests: XCTestCase { next(210, 1), next(220, 2), error(230, RepeatTestErrors.fatalError)] - + // provide simple predicate that always return false (so, sequence will not repeated) let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) { _ in false } } - + XCTAssertEqual(res.events, correctValues) } - + func testDelayedRetryWithoutPredicate() { let correctValues = [ next(210, 1), @@ -167,11 +162,11 @@ class RetryWithBehaviorTests: XCTestCase { next(680, 1), next(690, 2), error(700, RepeatTestErrors.fatalError)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.delayed(maxCount: 3, time: 5.0), scheduler: self.scheduler) } - + XCTAssertEqual(res.events, correctValues) } @@ -184,31 +179,31 @@ class RetryWithBehaviorTests: XCTestCase { next(680, 1), next(690, 2), error(700, RepeatTestErrors.fatalError)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.delayed(maxCount: 3, time: 5.0), scheduler: self.scheduler) { _ in true } } - + XCTAssertEqual(res.events, correctValues) } - + func testDelayedNotRetryWithPredicate() { let correctValues = [ next(210, 1), next(220, 2), error(230, RepeatTestErrors.fatalError)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.delayed(maxCount: 3, time: 5.0), scheduler: self.scheduler) { _ in false } } - + XCTAssertEqual(res.events, correctValues) } - + func testExponentialRetryWithoutPredicate() { let correctValues = [ next(210, 1), @@ -220,14 +215,14 @@ class RetryWithBehaviorTests: XCTestCase { next(935, 1), next(945, 2), error(955, RepeatTestErrors.fatalError)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.exponentialDelayed(maxCount: 4, initial: 5.0, multiplier: 1.0), scheduler: self.scheduler) } - + XCTAssertEqual(res.events, correctValues) } - + func testExponentialRetryWithPredicate() { let correctValues = [ next(210, 1), @@ -239,31 +234,31 @@ class RetryWithBehaviorTests: XCTestCase { next(935, 1), next(945, 2), error(955, RepeatTestErrors.fatalError)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.exponentialDelayed(maxCount: 4, initial: 5.0, multiplier: 1.0), scheduler: self.scheduler) { _ in true } } - + XCTAssertEqual(res.events, correctValues) } - + func testExponentialNotRetryWithPredicate() { let correctValues = [ next(210, 1), next(220, 2), error(230, RepeatTestErrors.fatalError)] - + let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.exponentialDelayed(maxCount: 4, initial: 5.0, multiplier: 1.0), scheduler: self.scheduler) { _ in false } } - + XCTAssertEqual(res.events, correctValues) } - + func testCustomTimerRetryWithoutPredicate() { let correctValues = [ next(210, 1), @@ -277,9 +272,9 @@ class RetryWithBehaviorTests: XCTestCase { next(1300, 1), next(1310, 2), error(1320, RepeatTestErrors.fatalError)] - + // custom delay calculator - let customCalculator : (UInt) -> Double = { attempt in + let customCalculator: (UInt) -> Double = { attempt in switch attempt { case 1: return 10.0 case 2: return 30.0 @@ -291,10 +286,10 @@ class RetryWithBehaviorTests: XCTestCase { let res = scheduler.start(created: 0, subscribed: 0, disposed: 2000) { self.sampleValues.asObservable().retry(.customTimerDelayed(maxCount: 5, delayCalculator: customCalculator), scheduler: self.scheduler) } - + XCTAssertEqual(res.events, correctValues) } - + func testCustomTimerRetryWithPredicate() { let correctValues = [ next(210, 1), @@ -308,7 +303,7 @@ class RetryWithBehaviorTests: XCTestCase { next(1300, 1), next(1310, 2), error(1320, RepeatTestErrors.fatalError)] - + // custom delay calculator let customCalculator: (UInt) -> Double = { attempt in switch attempt { @@ -324,16 +319,16 @@ class RetryWithBehaviorTests: XCTestCase { true } } - + XCTAssertEqual(res.events, correctValues) } - + func testCustomTimerNotRetryWithPredicate() { let correctValues = [ next(210, 1), next(220, 2), error(230, RepeatTestErrors.fatalError)] - + // custom delay calculator let customCalculator: ((UInt) -> Double) = { attempt in switch attempt { @@ -349,7 +344,7 @@ class RetryWithBehaviorTests: XCTestCase { false } } - + XCTAssertEqual(res.events, correctValues) } } From a3c7a481e29197a6b3e9cf35d613dbd0eeaaeb8b Mon Sep 17 00:00:00 2001 From: Shai Mishali Date: Tue, 12 Dec 2017 15:16:21 +0200 Subject: [PATCH 4/6] Added Swiftlint to Travis --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3b96d6db..59d9cd15 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,12 @@ os: osx language: objective-c osx_image: xcode9 +install: + - brew update > /dev/null + - brew upgrade swiftlint + before_script: + - swiftlint - carthage version - carthage bootstrap @@ -10,4 +15,3 @@ script: - set -o pipefail && xcodebuild test -scheme RxSwiftExt-macOS -workspace RxSwiftExt.xcworkspace -sdk macosx -destination "arch=x86_64" | xcpretty -c - set -o pipefail && xcodebuild test -scheme RxSwiftExt-iOS -workspace RxSwiftExt.xcworkspace -sdk iphonesimulator -destination "name=iPhone X" | xcpretty -c - set -o pipefail && xcodebuild test -scheme RxSwiftExt-tvOS -workspace RxSwiftExt.xcworkspace -sdk appletvsimulator -destination "name=Apple TV 1080p" | xcpretty -c - \ No newline at end of file From 6bf998b4257cf76cd6759bf4318fadca52186c83 Mon Sep 17 00:00:00 2001 From: Shai Mishali Date: Tue, 12 Dec 2017 19:51:19 +0200 Subject: [PATCH 5/6] Disabled trailing_comma rule. --- .swiftlint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.swiftlint.yml b/.swiftlint.yml index 77fffd2b..09c3c76d 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -3,6 +3,7 @@ included: - Tests disabled_rules: - line_length + - trailing_comma identifier_name: min_length: 1 type_name: From 4d67ba350d341318077da6b8f1fdb18f70eeb34a Mon Sep 17 00:00:00 2001 From: Shai Mishali Date: Tue, 12 Dec 2017 19:52:08 +0200 Subject: [PATCH 6/6] Uppercased test filenames and unified copyright header. --- .swiftlint.yml | 13 +- RxSwiftExt.xcodeproj/project.pbxproj | 304 +++++++++--------- Source/RxCocoa/distinct+RxCocoa.swift | 2 +- Source/RxCocoa/mapTo+RxCocoa.swift | 2 +- Source/RxCocoa/not+RxCocoa.swift | 2 +- Source/RxSwift/ObservableType+Weak.swift | 2 +- Source/RxSwift/and.swift | 5 +- Source/RxSwift/apply.swift | 2 +- Source/RxSwift/cascade.swift | 2 +- Source/RxSwift/catchErrorJustComplete.swift | 2 +- Source/RxSwift/distinct.swift | 4 +- Source/RxSwift/filterMap.swift | 2 +- Source/RxSwift/flatMapSync.swift | 2 +- Source/RxSwift/fromAsync.swift | 2 +- Source/RxSwift/ignore.swift | 2 +- Source/RxSwift/ignoreErrors.swift | 2 +- Source/RxSwift/mapTo.swift | 2 +- Source/RxSwift/materialized+elements.swift | 8 +- Source/RxSwift/not.swift | 4 +- Source/RxSwift/nwise.swift | 4 +- Source/RxSwift/once.swift | 2 +- Source/RxSwift/pausableBuffered.swift | 2 +- Source/RxSwift/repeatWithBehavior.swift | 3 +- Source/RxSwift/retryWithBehavior.swift | 4 +- Source/RxSwift/unwrap.swift | 2 +- Source/Tools/curry.swift | 2 +- ...ocoa.swift => DistinctTests+RxCocoa.swift} | 4 +- ...RxCocoa.swift => MapToTests+RxCocoa.swift} | 5 +- ...s+RxCocoa.swift => NotTests+RxCocoa.swift} | 4 +- Tests/RxSwift/DistinctTests.swift | 2 +- Tests/RxSwift/IgnoreTests.swift | 4 +- Tests/RxSwift/OnceTests.swift | 2 +- Tests/RxSwift/UnwrapTests.swift | 6 +- Tests/RxSwift/WeakTarget.swift | 2 +- Tests/RxSwift/WeakTests.swift | 2 +- Tests/RxSwift/andTests.swift | 4 +- Tests/RxSwift/applyTests.swift | 2 +- Tests/RxSwift/cascadeTests.swift | 2 +- .../RxSwift/catchErrorJustCompleteTests.swift | 4 +- Tests/RxSwift/filterMapTests.swift | 4 +- Tests/RxSwift/fromAsyncTests.swift | 4 +- Tests/RxSwift/ignoreErrorsTests.swift | 4 +- Tests/RxSwift/ignoreWhenTests.swift | 4 +- Tests/RxSwift/mapToTests.swift | 4 +- .../RxSwift/materialized+elementsTests.swift | 6 +- Tests/RxSwift/notTests.swift | 6 +- Tests/RxSwift/nwiseTests.swift | 9 +- Tests/RxSwift/pausableBufferedTests.swift | 4 +- Tests/RxSwift/pausableTests.swift | 4 +- Tests/RxSwift/repeatWithBehaviorTests.swift | 4 +- Tests/RxSwift/retryWithBehaviorTests.swift | 16 +- 51 files changed, 254 insertions(+), 241 deletions(-) rename Tests/RxCocoa/{distinct+RxCocoa.swift => DistinctTests+RxCocoa.swift} (99%) rename Tests/RxCocoa/{mapToTests+RxCocoa.swift => MapToTests+RxCocoa.swift} (96%) rename Tests/RxCocoa/{notTests+RxCocoa.swift => NotTests+RxCocoa.swift} (88%) diff --git a/.swiftlint.yml b/.swiftlint.yml index 09c3c76d..250ab858 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -6,10 +6,21 @@ disabled_rules: - trailing_comma identifier_name: min_length: 1 +opt_in_rules: + - file_header type_name: excluded: T function_body_length: 100 type_body_length: 500 cyclomatic_complexity: warning: 15 - error: 25 \ No newline at end of file + error: 25 +file_header: + required_pattern: | + \/\/ + \/\/ .*?\.swift + \/\/ RxSwiftExt + \/\/ + \/\/ Created by .*? on \d{1,2}\/\d{1,2}\/(\d{2}|\d{4})\. + \/\/ Copyright © \d{4} RxSwift Community\. All rights reserved\. + \/\/ \ No newline at end of file diff --git a/RxSwiftExt.xcodeproj/project.pbxproj b/RxSwiftExt.xcodeproj/project.pbxproj index 7e0d44a3..4fb043cb 100644 --- a/RxSwiftExt.xcodeproj/project.pbxproj +++ b/RxSwiftExt.xcodeproj/project.pbxproj @@ -29,11 +29,11 @@ 3D638E1D1DC2B36A0089A590 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 188C6DA21C47B4240092101A /* RxSwift.framework */; }; 3D638E1F1DC2B3A40089A590 /* RxTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3D638E1E1DC2B3A40089A590 /* RxTest.framework */; }; 3DBDE5FC1FBBAE3A00DF47F9 /* and.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBDE5FB1FBBAE3900DF47F9 /* and.swift */; }; - 3DBDE5FF1FBBB09900DF47F9 /* andTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBDE5FD1FBBB05400DF47F9 /* andTests.swift */; }; - 3DBDE6001FBBB09A00DF47F9 /* andTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBDE5FD1FBBB05400DF47F9 /* andTests.swift */; }; - 3DBDE6011FBBB09A00DF47F9 /* andTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBDE5FD1FBBB05400DF47F9 /* andTests.swift */; }; + 3DBDE5FF1FBBB09900DF47F9 /* AndTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBDE5FD1FBBB05400DF47F9 /* AndTests.swift */; }; + 3DBDE6001FBBB09A00DF47F9 /* AndTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBDE5FD1FBBB05400DF47F9 /* AndTests.swift */; }; + 3DBDE6011FBBB09A00DF47F9 /* AndTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3DBDE5FD1FBBB05400DF47F9 /* AndTests.swift */; }; 5386076F1E6F1C0A000361DE /* mapTo+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5386076E1E6F1C0A000361DE /* mapTo+RxCocoa.swift */; }; - 538607731E6F1D51000361DE /* mapToTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607711E6F1CFB000361DE /* mapToTests+RxCocoa.swift */; }; + 538607731E6F1D51000361DE /* MapToTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607711E6F1CFB000361DE /* MapToTests+RxCocoa.swift */; }; 538607AA1E6F334B000361DE /* apply.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5386079A1E6F334B000361DE /* apply.swift */; }; 538607AB1E6F334B000361DE /* cascade.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5386079B1E6F334B000361DE /* cascade.swift */; }; 538607AC1E6F334B000361DE /* catchErrorJustComplete.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5386079C1E6F334B000361DE /* catchErrorJustComplete.swift */; }; @@ -49,28 +49,28 @@ 538607B71E6F334B000361DE /* repeatWithBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607A71E6F334B000361DE /* repeatWithBehavior.swift */; }; 538607B81E6F334B000361DE /* retryWithBehavior.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607A81E6F334B000361DE /* retryWithBehavior.swift */; }; 538607B91E6F334B000361DE /* unwrap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607A91E6F334B000361DE /* unwrap.swift */; }; - 538607DD1E6F3692000361DE /* repeatWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C71E6F367A000361DE /* repeatWithBehaviorTests.swift */; }; - 538607DF1E6F36A9000361DE /* applyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BB1E6F367A000361DE /* applyTests.swift */; }; - 538607E01E6F36A9000361DE /* cascadeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BC1E6F367A000361DE /* cascadeTests.swift */; }; - 538607E11E6F36A9000361DE /* catchErrorJustCompleteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BD1E6F367A000361DE /* catchErrorJustCompleteTests.swift */; }; + 538607DD1E6F3692000361DE /* RepeatWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C71E6F367A000361DE /* RepeatWithBehaviorTests.swift */; }; + 538607DF1E6F36A9000361DE /* ApplyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BB1E6F367A000361DE /* ApplyTests.swift */; }; + 538607E01E6F36A9000361DE /* CascadeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BC1E6F367A000361DE /* CascadeTests.swift */; }; + 538607E11E6F36A9000361DE /* CatchErrorJustCompleteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BD1E6F367A000361DE /* CatchErrorJustCompleteTests.swift */; }; 538607E21E6F36A9000361DE /* DistinctTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BE1E6F367A000361DE /* DistinctTests.swift */; }; - 538607E31E6F36A9000361DE /* ignoreErrorsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BF1E6F367A000361DE /* ignoreErrorsTests.swift */; }; + 538607E31E6F36A9000361DE /* IgnoreErrorsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BF1E6F367A000361DE /* IgnoreErrorsTests.swift */; }; 538607E41E6F36A9000361DE /* IgnoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C01E6F367A000361DE /* IgnoreTests.swift */; }; - 538607E51E6F36A9000361DE /* ignoreWhenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C11E6F367A000361DE /* ignoreWhenTests.swift */; }; - 538607E61E6F36A9000361DE /* mapToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C21E6F367A000361DE /* mapToTests.swift */; }; - 538607E81E6F36A9000361DE /* notTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C41E6F367A000361DE /* notTests.swift */; }; + 538607E51E6F36A9000361DE /* IgnoreWhenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C11E6F367A000361DE /* IgnoreWhenTests.swift */; }; + 538607E61E6F36A9000361DE /* MapToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C21E6F367A000361DE /* MapToTests.swift */; }; + 538607E81E6F36A9000361DE /* NotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C41E6F367A000361DE /* NotTests.swift */; }; 538607E91E6F36A9000361DE /* OnceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C51E6F367A000361DE /* OnceTests.swift */; }; - 538607EA1E6F36A9000361DE /* pausableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C61E6F367A000361DE /* pausableTests.swift */; }; - 538607EB1E6F36A9000361DE /* retryWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C81E6F367A000361DE /* retryWithBehaviorTests.swift */; }; + 538607EA1E6F36A9000361DE /* PausableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C61E6F367A000361DE /* PausableTests.swift */; }; + 538607EB1E6F36A9000361DE /* RetryWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C81E6F367A000361DE /* RetryWithBehaviorTests.swift */; }; 538607EC1E6F36A9000361DE /* UnwrapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C91E6F367A000361DE /* UnwrapTests.swift */; }; 538607ED1E6F36A9000361DE /* WeakTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607CA1E6F367A000361DE /* WeakTarget.swift */; }; 538607EE1E6F36A9000361DE /* WeakTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607CB1E6F367A000361DE /* WeakTests.swift */; }; 538607F01E6F589E000361DE /* not+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607EF1E6F589E000361DE /* not+RxCocoa.swift */; }; - 53C79D621E6F5B3900CD9B6A /* notTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C79D5F1E6F5AAB00CD9B6A /* notTests+RxCocoa.swift */; }; + 53C79D621E6F5B3900CD9B6A /* NotTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C79D5F1E6F5AAB00CD9B6A /* NotTests+RxCocoa.swift */; }; 53F336E81E70CBF700D35D38 /* distinct+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E71E70CBF700D35D38 /* distinct+RxCocoa.swift */; }; - 53F336EA1E70D59000D35D38 /* distinct+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E91E70D59000D35D38 /* distinct+RxCocoa.swift */; }; + 53F336EA1E70D59000D35D38 /* DistinctTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E91E70D59000D35D38 /* DistinctTests+RxCocoa.swift */; }; 5A1DDEBF1ED58F8600F2E4B1 /* pausableBuffered.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1DDEBE1ED58F8600F2E4B1 /* pausableBuffered.swift */; }; - 5A5FCE411ED5AEC60052A9B5 /* pausableBufferedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1DDEB81ED58D2800F2E4B1 /* pausableBufferedTests.swift */; }; + 5A5FCE411ED5AEC60052A9B5 /* PausableBufferedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1DDEB81ED58D2800F2E4B1 /* PausableBufferedTests.swift */; }; 62512C661F0EAF670083A89F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62512C581F0EAED20083A89F /* RxSwift.framework */; }; 62512C671F0EAF820083A89F /* distinct+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E71E70CBF700D35D38 /* distinct+RxCocoa.swift */; }; 62512C681F0EAF850083A89F /* mapTo+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5386076E1E6F1C0A000361DE /* mapTo+RxCocoa.swift */; }; @@ -95,47 +95,47 @@ 62512C7B1F0EAF950083A89F /* flatMapSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EAE1EDF14AC00BD07D9 /* flatMapSync.swift */; }; 62512C7C1F0EAF950083A89F /* filterMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB01EDF159500BD07D9 /* filterMap.swift */; }; 62512C891F0EB1280083A89F /* RxSwiftExt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62512C5E1F0EAF200083A89F /* RxSwiftExt.framework */; }; - 62512C8F1F0EB17A0083A89F /* distinct+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E91E70D59000D35D38 /* distinct+RxCocoa.swift */; }; - 62512C901F0EB17D0083A89F /* mapToTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607711E6F1CFB000361DE /* mapToTests+RxCocoa.swift */; }; - 62512C911F0EB17F0083A89F /* notTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C79D5F1E6F5AAB00CD9B6A /* notTests+RxCocoa.swift */; }; - 62512C921F0EB1850083A89F /* applyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BB1E6F367A000361DE /* applyTests.swift */; }; - 62512C931F0EB1850083A89F /* cascadeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BC1E6F367A000361DE /* cascadeTests.swift */; }; - 62512C941F0EB1850083A89F /* catchErrorJustCompleteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BD1E6F367A000361DE /* catchErrorJustCompleteTests.swift */; }; + 62512C8F1F0EB17A0083A89F /* DistinctTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E91E70D59000D35D38 /* DistinctTests+RxCocoa.swift */; }; + 62512C901F0EB17D0083A89F /* MapToTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607711E6F1CFB000361DE /* MapToTests+RxCocoa.swift */; }; + 62512C911F0EB17F0083A89F /* NotTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C79D5F1E6F5AAB00CD9B6A /* NotTests+RxCocoa.swift */; }; + 62512C921F0EB1850083A89F /* ApplyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BB1E6F367A000361DE /* ApplyTests.swift */; }; + 62512C931F0EB1850083A89F /* CascadeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BC1E6F367A000361DE /* CascadeTests.swift */; }; + 62512C941F0EB1850083A89F /* CatchErrorJustCompleteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BD1E6F367A000361DE /* CatchErrorJustCompleteTests.swift */; }; 62512C951F0EB1850083A89F /* DistinctTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BE1E6F367A000361DE /* DistinctTests.swift */; }; - 62512C961F0EB1850083A89F /* ignoreErrorsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BF1E6F367A000361DE /* ignoreErrorsTests.swift */; }; + 62512C961F0EB1850083A89F /* IgnoreErrorsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BF1E6F367A000361DE /* IgnoreErrorsTests.swift */; }; 62512C971F0EB1850083A89F /* IgnoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C01E6F367A000361DE /* IgnoreTests.swift */; }; - 62512C981F0EB1850083A89F /* ignoreWhenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C11E6F367A000361DE /* ignoreWhenTests.swift */; }; - 62512C991F0EB1850083A89F /* mapToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C21E6F367A000361DE /* mapToTests.swift */; }; - 62512C9A1F0EB1850083A89F /* materialized+elementsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6662395D1E9E0950009BB134 /* materialized+elementsTests.swift */; }; - 62512C9B1F0EB1850083A89F /* notTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C41E6F367A000361DE /* notTests.swift */; }; + 62512C981F0EB1850083A89F /* IgnoreWhenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C11E6F367A000361DE /* IgnoreWhenTests.swift */; }; + 62512C991F0EB1850083A89F /* MapToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C21E6F367A000361DE /* MapToTests.swift */; }; + 62512C9A1F0EB1850083A89F /* Materialized+elementsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6662395D1E9E0950009BB134 /* Materialized+elementsTests.swift */; }; + 62512C9B1F0EB1850083A89F /* NotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C41E6F367A000361DE /* NotTests.swift */; }; 62512C9C1F0EB1850083A89F /* OnceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C51E6F367A000361DE /* OnceTests.swift */; }; - 62512C9D1F0EB1850083A89F /* pausableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C61E6F367A000361DE /* pausableTests.swift */; }; - 62512C9E1F0EB1850083A89F /* pausableBufferedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1DDEB81ED58D2800F2E4B1 /* pausableBufferedTests.swift */; }; - 62512C9F1F0EB1850083A89F /* repeatWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C71E6F367A000361DE /* repeatWithBehaviorTests.swift */; }; - 62512CA01F0EB1850083A89F /* retryWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C81E6F367A000361DE /* retryWithBehaviorTests.swift */; }; + 62512C9D1F0EB1850083A89F /* PausableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C61E6F367A000361DE /* PausableTests.swift */; }; + 62512C9E1F0EB1850083A89F /* PausableBufferedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1DDEB81ED58D2800F2E4B1 /* PausableBufferedTests.swift */; }; + 62512C9F1F0EB1850083A89F /* RepeatWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C71E6F367A000361DE /* RepeatWithBehaviorTests.swift */; }; + 62512CA01F0EB1850083A89F /* RetryWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C81E6F367A000361DE /* RetryWithBehaviorTests.swift */; }; 62512CA11F0EB1850083A89F /* UnwrapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C91E6F367A000361DE /* UnwrapTests.swift */; }; 62512CA21F0EB1850083A89F /* WeakTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607CA1E6F367A000361DE /* WeakTarget.swift */; }; 62512CA31F0EB1850083A89F /* WeakTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607CB1E6F367A000361DE /* WeakTests.swift */; }; - 62512CA41F0EB1850083A89F /* filterMapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB21EDF161700BD07D9 /* filterMapTests.swift */; }; + 62512CA41F0EB1850083A89F /* FilterMapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB21EDF161700BD07D9 /* FilterMapTests.swift */; }; 62512CA51F0EB1AD0083A89F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62512C581F0EAED20083A89F /* RxSwift.framework */; }; 62512CA71F0EB1BD0083A89F /* RxTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62512CA61F0EB1BD0083A89F /* RxTest.framework */; }; - 6662395E1E9E0950009BB134 /* materialized+elementsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6662395D1E9E0950009BB134 /* materialized+elementsTests.swift */; }; + 6662395E1E9E0950009BB134 /* Materialized+elementsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6662395D1E9E0950009BB134 /* Materialized+elementsTests.swift */; }; 66C663061EA0ECD9005245C4 /* materialized+elements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 66C663051EA0ECD9005245C4 /* materialized+elements.swift */; }; 98309EAF1EDF14AC00BD07D9 /* flatMapSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EAE1EDF14AC00BD07D9 /* flatMapSync.swift */; }; 98309EB11EDF159500BD07D9 /* filterMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB01EDF159500BD07D9 /* filterMap.swift */; }; - 98309EB41EDF167300BD07D9 /* filterMapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB21EDF161700BD07D9 /* filterMapTests.swift */; }; + 98309EB41EDF167300BD07D9 /* FilterMapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB21EDF161700BD07D9 /* FilterMapTests.swift */; }; BF515CE01F3F370600492640 /* curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CDF1F3F370600492640 /* curry.swift */; }; BF515CE21F3F371600492640 /* fromAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE11F3F371600492640 /* fromAsync.swift */; }; - BF515CE51F3F3AF400492640 /* fromAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE31F3F3AC900492640 /* fromAsyncTests.swift */; }; - BF515CE61F3F3AF500492640 /* fromAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE31F3F3AC900492640 /* fromAsyncTests.swift */; }; - BF515CE71F3F3AF500492640 /* fromAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE31F3F3AC900492640 /* fromAsyncTests.swift */; }; + BF515CE51F3F3AF400492640 /* FromAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE31F3F3AC900492640 /* FromAsyncTests.swift */; }; + BF515CE61F3F3AF500492640 /* FromAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE31F3F3AC900492640 /* FromAsyncTests.swift */; }; + BF515CE71F3F3AF500492640 /* FromAsyncTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE31F3F3AC900492640 /* FromAsyncTests.swift */; }; BF515CE81F3F3B0000492640 /* fromAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE11F3F371600492640 /* fromAsync.swift */; }; BF515CE91F3F3B0100492640 /* fromAsync.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CE11F3F371600492640 /* fromAsync.swift */; }; BF515CEA1F3F3B0300492640 /* curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CDF1F3F370600492640 /* curry.swift */; }; BF515CEB1F3F3B0300492640 /* curry.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF515CDF1F3F370600492640 /* curry.swift */; }; - D7C72A3E1FDC5C5D00EAAAAB /* nwiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A3D1FDC5C5D00EAAAAB /* nwiseTests.swift */; }; - D7C72A3F1FDC5C5D00EAAAAB /* nwiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A3D1FDC5C5D00EAAAAB /* nwiseTests.swift */; }; - D7C72A401FDC5C5D00EAAAAB /* nwiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A3D1FDC5C5D00EAAAAB /* nwiseTests.swift */; }; + D7C72A3E1FDC5C5D00EAAAAB /* NwiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A3D1FDC5C5D00EAAAAB /* NwiseTests.swift */; }; + D7C72A3F1FDC5C5D00EAAAAB /* NwiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A3D1FDC5C5D00EAAAAB /* NwiseTests.swift */; }; + D7C72A401FDC5C5D00EAAAAB /* NwiseTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A3D1FDC5C5D00EAAAAB /* NwiseTests.swift */; }; D7C72A421FDC5D8F00EAAAAB /* nwise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A411FDC5D8F00EAAAAB /* nwise.swift */; }; D7C72A431FDC5D8F00EAAAAB /* nwise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A411FDC5D8F00EAAAAB /* nwise.swift */; }; D7C72A441FDC5D8F00EAAAAB /* nwise.swift in Sources */ = {isa = PBXBuildFile; fileRef = D7C72A411FDC5D8F00EAAAAB /* nwise.swift */; }; @@ -165,28 +165,28 @@ E39C41EC1F18B08A007F2ACD /* flatMapSync.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EAE1EDF14AC00BD07D9 /* flatMapSync.swift */; }; E39C41ED1F18B08A007F2ACD /* filterMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB01EDF159500BD07D9 /* filterMap.swift */; }; E39C41F71F18B0EA007F2ACD /* RxSwiftExt.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E39C41D01F18AF84007F2ACD /* RxSwiftExt.framework */; }; - E39C41FD1F18B13A007F2ACD /* distinct+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E91E70D59000D35D38 /* distinct+RxCocoa.swift */; }; - E39C41FE1F18B13A007F2ACD /* mapToTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607711E6F1CFB000361DE /* mapToTests+RxCocoa.swift */; }; - E39C41FF1F18B13A007F2ACD /* notTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C79D5F1E6F5AAB00CD9B6A /* notTests+RxCocoa.swift */; }; - E39C42001F18B13E007F2ACD /* applyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BB1E6F367A000361DE /* applyTests.swift */; }; - E39C42011F18B13E007F2ACD /* cascadeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BC1E6F367A000361DE /* cascadeTests.swift */; }; - E39C42021F18B13E007F2ACD /* catchErrorJustCompleteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BD1E6F367A000361DE /* catchErrorJustCompleteTests.swift */; }; + E39C41FD1F18B13A007F2ACD /* DistinctTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53F336E91E70D59000D35D38 /* DistinctTests+RxCocoa.swift */; }; + E39C41FE1F18B13A007F2ACD /* MapToTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607711E6F1CFB000361DE /* MapToTests+RxCocoa.swift */; }; + E39C41FF1F18B13A007F2ACD /* NotTests+RxCocoa.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C79D5F1E6F5AAB00CD9B6A /* NotTests+RxCocoa.swift */; }; + E39C42001F18B13E007F2ACD /* ApplyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BB1E6F367A000361DE /* ApplyTests.swift */; }; + E39C42011F18B13E007F2ACD /* CascadeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BC1E6F367A000361DE /* CascadeTests.swift */; }; + E39C42021F18B13E007F2ACD /* CatchErrorJustCompleteTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BD1E6F367A000361DE /* CatchErrorJustCompleteTests.swift */; }; E39C42031F18B13E007F2ACD /* DistinctTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BE1E6F367A000361DE /* DistinctTests.swift */; }; - E39C42041F18B13E007F2ACD /* ignoreErrorsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BF1E6F367A000361DE /* ignoreErrorsTests.swift */; }; + E39C42041F18B13E007F2ACD /* IgnoreErrorsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607BF1E6F367A000361DE /* IgnoreErrorsTests.swift */; }; E39C42051F18B13E007F2ACD /* IgnoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C01E6F367A000361DE /* IgnoreTests.swift */; }; - E39C42061F18B13E007F2ACD /* ignoreWhenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C11E6F367A000361DE /* ignoreWhenTests.swift */; }; - E39C42071F18B13E007F2ACD /* mapToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C21E6F367A000361DE /* mapToTests.swift */; }; - E39C42081F18B13E007F2ACD /* materialized+elementsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6662395D1E9E0950009BB134 /* materialized+elementsTests.swift */; }; - E39C42091F18B13E007F2ACD /* notTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C41E6F367A000361DE /* notTests.swift */; }; + E39C42061F18B13E007F2ACD /* IgnoreWhenTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C11E6F367A000361DE /* IgnoreWhenTests.swift */; }; + E39C42071F18B13E007F2ACD /* MapToTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C21E6F367A000361DE /* MapToTests.swift */; }; + E39C42081F18B13E007F2ACD /* Materialized+elementsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6662395D1E9E0950009BB134 /* Materialized+elementsTests.swift */; }; + E39C42091F18B13E007F2ACD /* NotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C41E6F367A000361DE /* NotTests.swift */; }; E39C420A1F18B13E007F2ACD /* OnceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C51E6F367A000361DE /* OnceTests.swift */; }; - E39C420B1F18B13E007F2ACD /* pausableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C61E6F367A000361DE /* pausableTests.swift */; }; - E39C420C1F18B13E007F2ACD /* pausableBufferedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1DDEB81ED58D2800F2E4B1 /* pausableBufferedTests.swift */; }; - E39C420D1F18B13E007F2ACD /* repeatWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C71E6F367A000361DE /* repeatWithBehaviorTests.swift */; }; - E39C420E1F18B13E007F2ACD /* retryWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C81E6F367A000361DE /* retryWithBehaviorTests.swift */; }; + E39C420B1F18B13E007F2ACD /* PausableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C61E6F367A000361DE /* PausableTests.swift */; }; + E39C420C1F18B13E007F2ACD /* PausableBufferedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5A1DDEB81ED58D2800F2E4B1 /* PausableBufferedTests.swift */; }; + E39C420D1F18B13E007F2ACD /* RepeatWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C71E6F367A000361DE /* RepeatWithBehaviorTests.swift */; }; + E39C420E1F18B13E007F2ACD /* RetryWithBehaviorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C81E6F367A000361DE /* RetryWithBehaviorTests.swift */; }; E39C420F1F18B13E007F2ACD /* UnwrapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607C91E6F367A000361DE /* UnwrapTests.swift */; }; E39C42101F18B13E007F2ACD /* WeakTarget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607CA1E6F367A000361DE /* WeakTarget.swift */; }; E39C42111F18B13E007F2ACD /* WeakTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 538607CB1E6F367A000361DE /* WeakTests.swift */; }; - E39C42121F18B13E007F2ACD /* filterMapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB21EDF161700BD07D9 /* filterMapTests.swift */; }; + E39C42121F18B13E007F2ACD /* FilterMapTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 98309EB21EDF161700BD07D9 /* FilterMapTests.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -227,9 +227,9 @@ 3D638E1E1DC2B3A40089A590 /* RxTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxTest.framework; path = Carthage/Build/iOS/RxTest.framework; sourceTree = ""; }; 3DB034F61DC376D9002C6A26 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Tests/Info.plist; sourceTree = ""; }; 3DBDE5FB1FBBAE3900DF47F9 /* and.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = and.swift; sourceTree = ""; }; - 3DBDE5FD1FBBB05400DF47F9 /* andTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = andTests.swift; sourceTree = ""; }; + 3DBDE5FD1FBBB05400DF47F9 /* AndTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AndTests.swift; sourceTree = ""; }; 5386076E1E6F1C0A000361DE /* mapTo+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "mapTo+RxCocoa.swift"; path = "Source/RxCocoa/mapTo+RxCocoa.swift"; sourceTree = SOURCE_ROOT; }; - 538607711E6F1CFB000361DE /* mapToTests+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "mapToTests+RxCocoa.swift"; sourceTree = ""; }; + 538607711E6F1CFB000361DE /* MapToTests+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "MapToTests+RxCocoa.swift"; sourceTree = ""; }; 5386079A1E6F334B000361DE /* apply.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = apply.swift; path = Source/RxSwift/apply.swift; sourceTree = SOURCE_ROOT; }; 5386079B1E6F334B000361DE /* cascade.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = cascade.swift; path = Source/RxSwift/cascade.swift; sourceTree = SOURCE_ROOT; }; 5386079C1E6F334B000361DE /* catchErrorJustComplete.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = catchErrorJustComplete.swift; path = Source/RxSwift/catchErrorJustComplete.swift; sourceTree = SOURCE_ROOT; }; @@ -245,42 +245,42 @@ 538607A71E6F334B000361DE /* repeatWithBehavior.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = repeatWithBehavior.swift; path = Source/RxSwift/repeatWithBehavior.swift; sourceTree = SOURCE_ROOT; }; 538607A81E6F334B000361DE /* retryWithBehavior.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = retryWithBehavior.swift; path = Source/RxSwift/retryWithBehavior.swift; sourceTree = SOURCE_ROOT; }; 538607A91E6F334B000361DE /* unwrap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = unwrap.swift; path = Source/RxSwift/unwrap.swift; sourceTree = SOURCE_ROOT; }; - 538607BB1E6F367A000361DE /* applyTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = applyTests.swift; sourceTree = ""; }; - 538607BC1E6F367A000361DE /* cascadeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = cascadeTests.swift; sourceTree = ""; }; - 538607BD1E6F367A000361DE /* catchErrorJustCompleteTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = catchErrorJustCompleteTests.swift; sourceTree = ""; }; + 538607BB1E6F367A000361DE /* ApplyTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ApplyTests.swift; sourceTree = ""; }; + 538607BC1E6F367A000361DE /* CascadeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CascadeTests.swift; sourceTree = ""; }; + 538607BD1E6F367A000361DE /* CatchErrorJustCompleteTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CatchErrorJustCompleteTests.swift; sourceTree = ""; }; 538607BE1E6F367A000361DE /* DistinctTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DistinctTests.swift; sourceTree = ""; }; - 538607BF1E6F367A000361DE /* ignoreErrorsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ignoreErrorsTests.swift; sourceTree = ""; }; + 538607BF1E6F367A000361DE /* IgnoreErrorsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IgnoreErrorsTests.swift; sourceTree = ""; }; 538607C01E6F367A000361DE /* IgnoreTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IgnoreTests.swift; sourceTree = ""; }; - 538607C11E6F367A000361DE /* ignoreWhenTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ignoreWhenTests.swift; sourceTree = ""; }; - 538607C21E6F367A000361DE /* mapToTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = mapToTests.swift; sourceTree = ""; }; - 538607C41E6F367A000361DE /* notTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = notTests.swift; sourceTree = ""; }; + 538607C11E6F367A000361DE /* IgnoreWhenTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IgnoreWhenTests.swift; sourceTree = ""; }; + 538607C21E6F367A000361DE /* MapToTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MapToTests.swift; sourceTree = ""; }; + 538607C41E6F367A000361DE /* NotTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NotTests.swift; sourceTree = ""; }; 538607C51E6F367A000361DE /* OnceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnceTests.swift; sourceTree = ""; }; - 538607C61E6F367A000361DE /* pausableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = pausableTests.swift; sourceTree = ""; }; - 538607C71E6F367A000361DE /* repeatWithBehaviorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = repeatWithBehaviorTests.swift; sourceTree = ""; }; - 538607C81E6F367A000361DE /* retryWithBehaviorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = retryWithBehaviorTests.swift; sourceTree = ""; }; + 538607C61E6F367A000361DE /* PausableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PausableTests.swift; sourceTree = ""; }; + 538607C71E6F367A000361DE /* RepeatWithBehaviorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RepeatWithBehaviorTests.swift; sourceTree = ""; }; + 538607C81E6F367A000361DE /* RetryWithBehaviorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RetryWithBehaviorTests.swift; sourceTree = ""; }; 538607C91E6F367A000361DE /* UnwrapTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UnwrapTests.swift; sourceTree = ""; }; 538607CA1E6F367A000361DE /* WeakTarget.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WeakTarget.swift; sourceTree = ""; }; 538607CB1E6F367A000361DE /* WeakTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WeakTests.swift; sourceTree = ""; }; 538607EF1E6F589E000361DE /* not+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "not+RxCocoa.swift"; path = "Source/RxCocoa/not+RxCocoa.swift"; sourceTree = SOURCE_ROOT; }; - 53C79D5F1E6F5AAB00CD9B6A /* notTests+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "notTests+RxCocoa.swift"; sourceTree = ""; }; + 53C79D5F1E6F5AAB00CD9B6A /* NotTests+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NotTests+RxCocoa.swift"; sourceTree = ""; }; 53F336E71E70CBF700D35D38 /* distinct+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "distinct+RxCocoa.swift"; path = "Source/RxCocoa/distinct+RxCocoa.swift"; sourceTree = SOURCE_ROOT; }; - 53F336E91E70D59000D35D38 /* distinct+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "distinct+RxCocoa.swift"; sourceTree = ""; }; - 5A1DDEB81ED58D2800F2E4B1 /* pausableBufferedTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = pausableBufferedTests.swift; sourceTree = ""; }; + 53F336E91E70D59000D35D38 /* DistinctTests+RxCocoa.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DistinctTests+RxCocoa.swift"; sourceTree = ""; }; + 5A1DDEB81ED58D2800F2E4B1 /* PausableBufferedTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PausableBufferedTests.swift; sourceTree = ""; }; 5A1DDEBE1ED58F8600F2E4B1 /* pausableBuffered.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = pausableBuffered.swift; path = Source/RxSwift/pausableBuffered.swift; sourceTree = SOURCE_ROOT; }; 62512C581F0EAED20083A89F /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/Mac/RxSwift.framework; sourceTree = ""; }; 62512C5E1F0EAF200083A89F /* RxSwiftExt.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxSwiftExt.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 62512C841F0EB1280083A89F /* RxSwiftExtTests-macOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "RxSwiftExtTests-macOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 62512CA61F0EB1BD0083A89F /* RxTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxTest.framework; path = Carthage/Build/Mac/RxTest.framework; sourceTree = ""; }; - 6662395D1E9E0950009BB134 /* materialized+elementsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "materialized+elementsTests.swift"; sourceTree = ""; }; + 6662395D1E9E0950009BB134 /* Materialized+elementsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Materialized+elementsTests.swift"; sourceTree = ""; }; 66C663051EA0ECD9005245C4 /* materialized+elements.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "materialized+elements.swift"; path = "Source/RxSwift/materialized+elements.swift"; sourceTree = SOURCE_ROOT; }; 98309EAE1EDF14AC00BD07D9 /* flatMapSync.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = flatMapSync.swift; path = Source/RxSwift/flatMapSync.swift; sourceTree = SOURCE_ROOT; }; 98309EB01EDF159500BD07D9 /* filterMap.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = filterMap.swift; path = Source/RxSwift/filterMap.swift; sourceTree = SOURCE_ROOT; }; - 98309EB21EDF161700BD07D9 /* filterMapTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = filterMapTests.swift; sourceTree = ""; }; + 98309EB21EDF161700BD07D9 /* FilterMapTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterMapTests.swift; sourceTree = ""; }; 9DAB77851D67639C007E85BC /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Source/Info.plist; sourceTree = SOURCE_ROOT; }; BF515CDF1F3F370600492640 /* curry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = curry.swift; path = Source/Tools/curry.swift; sourceTree = SOURCE_ROOT; }; BF515CE11F3F371600492640 /* fromAsync.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = fromAsync.swift; path = Source/RxSwift/fromAsync.swift; sourceTree = SOURCE_ROOT; }; - BF515CE31F3F3AC900492640 /* fromAsyncTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = fromAsyncTests.swift; sourceTree = ""; }; - D7C72A3D1FDC5C5D00EAAAAB /* nwiseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = nwiseTests.swift; sourceTree = ""; }; + BF515CE31F3F3AC900492640 /* FromAsyncTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FromAsyncTests.swift; sourceTree = ""; }; + D7C72A3D1FDC5C5D00EAAAAB /* NwiseTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NwiseTests.swift; sourceTree = ""; }; D7C72A411FDC5D8F00EAAAAB /* nwise.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = nwise.swift; path = Source/RxSwift/nwise.swift; sourceTree = SOURCE_ROOT; }; E36BDFB91F387571008C9D56 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/tvOS/RxSwift.framework; sourceTree = ""; }; E36BDFBA1F387571008C9D56 /* RxTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxTest.framework; path = Carthage/Build/tvOS/RxTest.framework; sourceTree = ""; }; @@ -404,9 +404,9 @@ 538607701E6F1C38000361DE /* RxCocoa */ = { isa = PBXGroup; children = ( - 53F336E91E70D59000D35D38 /* distinct+RxCocoa.swift */, - 538607711E6F1CFB000361DE /* mapToTests+RxCocoa.swift */, - 53C79D5F1E6F5AAB00CD9B6A /* notTests+RxCocoa.swift */, + 53F336E91E70D59000D35D38 /* DistinctTests+RxCocoa.swift */, + 538607711E6F1CFB000361DE /* MapToTests+RxCocoa.swift */, + 53C79D5F1E6F5AAB00CD9B6A /* NotTests+RxCocoa.swift */, ); name = RxCocoa; path = Tests/RxCocoa; @@ -444,25 +444,25 @@ 538607BA1E6F362B000361DE /* RxSwift */ = { isa = PBXGroup; children = ( - 3DBDE5FD1FBBB05400DF47F9 /* andTests.swift */, - 538607BB1E6F367A000361DE /* applyTests.swift */, - 538607BC1E6F367A000361DE /* cascadeTests.swift */, - 538607BD1E6F367A000361DE /* catchErrorJustCompleteTests.swift */, + 3DBDE5FD1FBBB05400DF47F9 /* AndTests.swift */, + 538607BB1E6F367A000361DE /* ApplyTests.swift */, + 538607BC1E6F367A000361DE /* CascadeTests.swift */, + 538607BD1E6F367A000361DE /* CatchErrorJustCompleteTests.swift */, 538607BE1E6F367A000361DE /* DistinctTests.swift */, - 98309EB21EDF161700BD07D9 /* filterMapTests.swift */, - BF515CE31F3F3AC900492640 /* fromAsyncTests.swift */, - 538607BF1E6F367A000361DE /* ignoreErrorsTests.swift */, + 98309EB21EDF161700BD07D9 /* FilterMapTests.swift */, + BF515CE31F3F3AC900492640 /* FromAsyncTests.swift */, + 538607BF1E6F367A000361DE /* IgnoreErrorsTests.swift */, 538607C01E6F367A000361DE /* IgnoreTests.swift */, - 538607C11E6F367A000361DE /* ignoreWhenTests.swift */, - 538607C21E6F367A000361DE /* mapToTests.swift */, - 6662395D1E9E0950009BB134 /* materialized+elementsTests.swift */, - 538607C41E6F367A000361DE /* notTests.swift */, - D7C72A3D1FDC5C5D00EAAAAB /* nwiseTests.swift */, + 538607C11E6F367A000361DE /* IgnoreWhenTests.swift */, + 538607C21E6F367A000361DE /* MapToTests.swift */, + 6662395D1E9E0950009BB134 /* Materialized+elementsTests.swift */, + 538607C41E6F367A000361DE /* NotTests.swift */, + D7C72A3D1FDC5C5D00EAAAAB /* NwiseTests.swift */, 538607C51E6F367A000361DE /* OnceTests.swift */, - 5A1DDEB81ED58D2800F2E4B1 /* pausableBufferedTests.swift */, - 538607C61E6F367A000361DE /* pausableTests.swift */, - 538607C71E6F367A000361DE /* repeatWithBehaviorTests.swift */, - 538607C81E6F367A000361DE /* retryWithBehaviorTests.swift */, + 5A1DDEB81ED58D2800F2E4B1 /* PausableBufferedTests.swift */, + 538607C61E6F367A000361DE /* PausableTests.swift */, + 538607C71E6F367A000361DE /* RepeatWithBehaviorTests.swift */, + 538607C81E6F367A000361DE /* RetryWithBehaviorTests.swift */, 538607C91E6F367A000361DE /* UnwrapTests.swift */, 538607CA1E6F367A000361DE /* WeakTarget.swift */, 538607CB1E6F367A000361DE /* WeakTests.swift */, @@ -873,31 +873,31 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 538607E01E6F36A9000361DE /* cascadeTests.swift in Sources */, - 53F336EA1E70D59000D35D38 /* distinct+RxCocoa.swift in Sources */, - 98309EB41EDF167300BD07D9 /* filterMapTests.swift in Sources */, - 6662395E1E9E0950009BB134 /* materialized+elementsTests.swift in Sources */, - 538607E81E6F36A9000361DE /* notTests.swift in Sources */, - BF515CE51F3F3AF400492640 /* fromAsyncTests.swift in Sources */, - 538607EB1E6F36A9000361DE /* retryWithBehaviorTests.swift in Sources */, - D7C72A3E1FDC5C5D00EAAAAB /* nwiseTests.swift in Sources */, + 538607E01E6F36A9000361DE /* CascadeTests.swift in Sources */, + 53F336EA1E70D59000D35D38 /* DistinctTests+RxCocoa.swift in Sources */, + 98309EB41EDF167300BD07D9 /* FilterMapTests.swift in Sources */, + 6662395E1E9E0950009BB134 /* Materialized+elementsTests.swift in Sources */, + 538607E81E6F36A9000361DE /* NotTests.swift in Sources */, + BF515CE51F3F3AF400492640 /* FromAsyncTests.swift in Sources */, + 538607EB1E6F36A9000361DE /* RetryWithBehaviorTests.swift in Sources */, + D7C72A3E1FDC5C5D00EAAAAB /* NwiseTests.swift in Sources */, 538607E21E6F36A9000361DE /* DistinctTests.swift in Sources */, - 538607EA1E6F36A9000361DE /* pausableTests.swift in Sources */, + 538607EA1E6F36A9000361DE /* PausableTests.swift in Sources */, 538607E91E6F36A9000361DE /* OnceTests.swift in Sources */, 538607EE1E6F36A9000361DE /* WeakTests.swift in Sources */, - 538607E51E6F36A9000361DE /* ignoreWhenTests.swift in Sources */, - 538607E11E6F36A9000361DE /* catchErrorJustCompleteTests.swift in Sources */, + 538607E51E6F36A9000361DE /* IgnoreWhenTests.swift in Sources */, + 538607E11E6F36A9000361DE /* CatchErrorJustCompleteTests.swift in Sources */, 538607ED1E6F36A9000361DE /* WeakTarget.swift in Sources */, 538607E41E6F36A9000361DE /* IgnoreTests.swift in Sources */, - 538607E31E6F36A9000361DE /* ignoreErrorsTests.swift in Sources */, - 53C79D621E6F5B3900CD9B6A /* notTests+RxCocoa.swift in Sources */, - 538607DD1E6F3692000361DE /* repeatWithBehaviorTests.swift in Sources */, + 538607E31E6F36A9000361DE /* IgnoreErrorsTests.swift in Sources */, + 53C79D621E6F5B3900CD9B6A /* NotTests+RxCocoa.swift in Sources */, + 538607DD1E6F3692000361DE /* RepeatWithBehaviorTests.swift in Sources */, 538607EC1E6F36A9000361DE /* UnwrapTests.swift in Sources */, - 538607DF1E6F36A9000361DE /* applyTests.swift in Sources */, - 538607731E6F1D51000361DE /* mapToTests+RxCocoa.swift in Sources */, - 538607E61E6F36A9000361DE /* mapToTests.swift in Sources */, - 5A5FCE411ED5AEC60052A9B5 /* pausableBufferedTests.swift in Sources */, - 3DBDE5FF1FBBB09900DF47F9 /* andTests.swift in Sources */, + 538607DF1E6F36A9000361DE /* ApplyTests.swift in Sources */, + 538607731E6F1D51000361DE /* MapToTests+RxCocoa.swift in Sources */, + 538607E61E6F36A9000361DE /* MapToTests.swift in Sources */, + 5A5FCE411ED5AEC60052A9B5 /* PausableBufferedTests.swift in Sources */, + 3DBDE5FF1FBBB09900DF47F9 /* AndTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -938,31 +938,31 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 62512C9F1F0EB1850083A89F /* repeatWithBehaviorTests.swift in Sources */, + 62512C9F1F0EB1850083A89F /* RepeatWithBehaviorTests.swift in Sources */, 62512C9C1F0EB1850083A89F /* OnceTests.swift in Sources */, - 62512C9B1F0EB1850083A89F /* notTests.swift in Sources */, - 62512C901F0EB17D0083A89F /* mapToTests+RxCocoa.swift in Sources */, - 62512C961F0EB1850083A89F /* ignoreErrorsTests.swift in Sources */, - BF515CE61F3F3AF500492640 /* fromAsyncTests.swift in Sources */, - 62512CA41F0EB1850083A89F /* filterMapTests.swift in Sources */, - D7C72A3F1FDC5C5D00EAAAAB /* nwiseTests.swift in Sources */, - 62512C8F1F0EB17A0083A89F /* distinct+RxCocoa.swift in Sources */, + 62512C9B1F0EB1850083A89F /* NotTests.swift in Sources */, + 62512C901F0EB17D0083A89F /* MapToTests+RxCocoa.swift in Sources */, + 62512C961F0EB1850083A89F /* IgnoreErrorsTests.swift in Sources */, + BF515CE61F3F3AF500492640 /* FromAsyncTests.swift in Sources */, + 62512CA41F0EB1850083A89F /* FilterMapTests.swift in Sources */, + D7C72A3F1FDC5C5D00EAAAAB /* NwiseTests.swift in Sources */, + 62512C8F1F0EB17A0083A89F /* DistinctTests+RxCocoa.swift in Sources */, 62512C951F0EB1850083A89F /* DistinctTests.swift in Sources */, 62512CA11F0EB1850083A89F /* UnwrapTests.swift in Sources */, 62512CA31F0EB1850083A89F /* WeakTests.swift in Sources */, - 62512C981F0EB1850083A89F /* ignoreWhenTests.swift in Sources */, - 62512C9E1F0EB1850083A89F /* pausableBufferedTests.swift in Sources */, - 62512CA01F0EB1850083A89F /* retryWithBehaviorTests.swift in Sources */, - 62512C911F0EB17F0083A89F /* notTests+RxCocoa.swift in Sources */, - 62512C9A1F0EB1850083A89F /* materialized+elementsTests.swift in Sources */, - 62512C931F0EB1850083A89F /* cascadeTests.swift in Sources */, + 62512C981F0EB1850083A89F /* IgnoreWhenTests.swift in Sources */, + 62512C9E1F0EB1850083A89F /* PausableBufferedTests.swift in Sources */, + 62512CA01F0EB1850083A89F /* RetryWithBehaviorTests.swift in Sources */, + 62512C911F0EB17F0083A89F /* NotTests+RxCocoa.swift in Sources */, + 62512C9A1F0EB1850083A89F /* Materialized+elementsTests.swift in Sources */, + 62512C931F0EB1850083A89F /* CascadeTests.swift in Sources */, 62512C971F0EB1850083A89F /* IgnoreTests.swift in Sources */, - 62512C941F0EB1850083A89F /* catchErrorJustCompleteTests.swift in Sources */, - 62512C921F0EB1850083A89F /* applyTests.swift in Sources */, + 62512C941F0EB1850083A89F /* CatchErrorJustCompleteTests.swift in Sources */, + 62512C921F0EB1850083A89F /* ApplyTests.swift in Sources */, 62512CA21F0EB1850083A89F /* WeakTarget.swift in Sources */, - 62512C9D1F0EB1850083A89F /* pausableTests.swift in Sources */, - 62512C991F0EB1850083A89F /* mapToTests.swift in Sources */, - 3DBDE6001FBBB09A00DF47F9 /* andTests.swift in Sources */, + 62512C9D1F0EB1850083A89F /* PausableTests.swift in Sources */, + 62512C991F0EB1850083A89F /* MapToTests.swift in Sources */, + 3DBDE6001FBBB09A00DF47F9 /* AndTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1003,31 +1003,31 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E39C42001F18B13E007F2ACD /* applyTests.swift in Sources */, - E39C420B1F18B13E007F2ACD /* pausableTests.swift in Sources */, - E39C42021F18B13E007F2ACD /* catchErrorJustCompleteTests.swift in Sources */, + E39C42001F18B13E007F2ACD /* ApplyTests.swift in Sources */, + E39C420B1F18B13E007F2ACD /* PausableTests.swift in Sources */, + E39C42021F18B13E007F2ACD /* CatchErrorJustCompleteTests.swift in Sources */, E39C420F1F18B13E007F2ACD /* UnwrapTests.swift in Sources */, - E39C42121F18B13E007F2ACD /* filterMapTests.swift in Sources */, - BF515CE71F3F3AF500492640 /* fromAsyncTests.swift in Sources */, - E39C41FF1F18B13A007F2ACD /* notTests+RxCocoa.swift in Sources */, - D7C72A401FDC5C5D00EAAAAB /* nwiseTests.swift in Sources */, - E39C42011F18B13E007F2ACD /* cascadeTests.swift in Sources */, + E39C42121F18B13E007F2ACD /* FilterMapTests.swift in Sources */, + BF515CE71F3F3AF500492640 /* FromAsyncTests.swift in Sources */, + E39C41FF1F18B13A007F2ACD /* NotTests+RxCocoa.swift in Sources */, + D7C72A401FDC5C5D00EAAAAB /* NwiseTests.swift in Sources */, + E39C42011F18B13E007F2ACD /* CascadeTests.swift in Sources */, E39C42101F18B13E007F2ACD /* WeakTarget.swift in Sources */, E39C42031F18B13E007F2ACD /* DistinctTests.swift in Sources */, - E39C41FD1F18B13A007F2ACD /* distinct+RxCocoa.swift in Sources */, + E39C41FD1F18B13A007F2ACD /* DistinctTests+RxCocoa.swift in Sources */, E39C42051F18B13E007F2ACD /* IgnoreTests.swift in Sources */, - E39C420E1F18B13E007F2ACD /* retryWithBehaviorTests.swift in Sources */, - E39C42061F18B13E007F2ACD /* ignoreWhenTests.swift in Sources */, - E39C420C1F18B13E007F2ACD /* pausableBufferedTests.swift in Sources */, - E39C42041F18B13E007F2ACD /* ignoreErrorsTests.swift in Sources */, - E39C41FE1F18B13A007F2ACD /* mapToTests+RxCocoa.swift in Sources */, + E39C420E1F18B13E007F2ACD /* RetryWithBehaviorTests.swift in Sources */, + E39C42061F18B13E007F2ACD /* IgnoreWhenTests.swift in Sources */, + E39C420C1F18B13E007F2ACD /* PausableBufferedTests.swift in Sources */, + E39C42041F18B13E007F2ACD /* IgnoreErrorsTests.swift in Sources */, + E39C41FE1F18B13A007F2ACD /* MapToTests+RxCocoa.swift in Sources */, E39C420A1F18B13E007F2ACD /* OnceTests.swift in Sources */, E39C42111F18B13E007F2ACD /* WeakTests.swift in Sources */, - E39C420D1F18B13E007F2ACD /* repeatWithBehaviorTests.swift in Sources */, - E39C42091F18B13E007F2ACD /* notTests.swift in Sources */, - E39C42081F18B13E007F2ACD /* materialized+elementsTests.swift in Sources */, - E39C42071F18B13E007F2ACD /* mapToTests.swift in Sources */, - 3DBDE6011FBBB09A00DF47F9 /* andTests.swift in Sources */, + E39C420D1F18B13E007F2ACD /* RepeatWithBehaviorTests.swift in Sources */, + E39C42091F18B13E007F2ACD /* NotTests.swift in Sources */, + E39C42081F18B13E007F2ACD /* Materialized+elementsTests.swift in Sources */, + E39C42071F18B13E007F2ACD /* MapToTests.swift in Sources */, + 3DBDE6011FBBB09A00DF47F9 /* AndTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Source/RxCocoa/distinct+RxCocoa.swift b/Source/RxCocoa/distinct+RxCocoa.swift index 0f5dcf80..18d7524d 100644 --- a/Source/RxCocoa/distinct+RxCocoa.swift +++ b/Source/RxCocoa/distinct+RxCocoa.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Rafael Ferreira on 3/8/17. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import RxCocoa diff --git a/Source/RxCocoa/mapTo+RxCocoa.swift b/Source/RxCocoa/mapTo+RxCocoa.swift index d6a5f8ba..65a01cbf 100644 --- a/Source/RxCocoa/mapTo+RxCocoa.swift +++ b/Source/RxCocoa/mapTo+RxCocoa.swift @@ -1,6 +1,6 @@ // // mapTo+RxCocoa.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Rafael Ferreira on 3/7/17. // Copyright © 2017 RxSwift Community. All rights reserved. diff --git a/Source/RxCocoa/not+RxCocoa.swift b/Source/RxCocoa/not+RxCocoa.swift index 29df9368..1bd42bff 100644 --- a/Source/RxCocoa/not+RxCocoa.swift +++ b/Source/RxCocoa/not+RxCocoa.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Rafael Ferreira on 3/7/17. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import RxCocoa diff --git a/Source/RxSwift/ObservableType+Weak.swift b/Source/RxSwift/ObservableType+Weak.swift index 993e79ac..cc3483fa 100644 --- a/Source/RxSwift/ObservableType+Weak.swift +++ b/Source/RxSwift/ObservableType+Weak.swift @@ -1,6 +1,6 @@ // // ObservableType+Weak.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Ian Keen on 17/04/2016. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Source/RxSwift/and.swift b/Source/RxSwift/and.swift index dfb8a58a..727af1c2 100644 --- a/Source/RxSwift/and.swift +++ b/Source/RxSwift/and.swift @@ -2,9 +2,10 @@ // and.swift // RxSwiftExt // -// Created by Florent Pillet on 26/11/17 -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Created by Florent Pillet on 26/11/17. +// Copyright © 2017 RxSwift Community. All rights reserved. // + import Foundation import RxSwift diff --git a/Source/RxSwift/apply.swift b/Source/RxSwift/apply.swift index e761590e..a145f6d6 100644 --- a/Source/RxSwift/apply.swift +++ b/Source/RxSwift/apply.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Andy Chou on 2/22/17. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/cascade.swift b/Source/RxSwift/cascade.swift index f0f2ee6f..fd9b1cdd 100644 --- a/Source/RxSwift/cascade.swift +++ b/Source/RxSwift/cascade.swift @@ -1,6 +1,6 @@ // // cascade.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Florent Pillet on 17/04/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Source/RxSwift/catchErrorJustComplete.swift b/Source/RxSwift/catchErrorJustComplete.swift index bdaff488..934d3313 100644 --- a/Source/RxSwift/catchErrorJustComplete.swift +++ b/Source/RxSwift/catchErrorJustComplete.swift @@ -1,6 +1,6 @@ // // catchErrorJustComplete.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Florent Pillet on 21/05/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Source/RxSwift/distinct.swift b/Source/RxSwift/distinct.swift index 68ffc20e..094baf68 100644 --- a/Source/RxSwift/distinct.swift +++ b/Source/RxSwift/distinct.swift @@ -1,9 +1,9 @@ // // distinct.swift -// Pods +// RxSwiftExt // // Created by Segii Shulga on 5/4/16. -// +// Copyright © 2017 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/filterMap.swift b/Source/RxSwift/filterMap.swift index eca2d2ce..9bfb4d1b 100644 --- a/Source/RxSwift/filterMap.swift +++ b/Source/RxSwift/filterMap.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Jeremie Girault on 31/05/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import RxSwift diff --git a/Source/RxSwift/flatMapSync.swift b/Source/RxSwift/flatMapSync.swift index 8ff195eb..a31d9318 100644 --- a/Source/RxSwift/flatMapSync.swift +++ b/Source/RxSwift/flatMapSync.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Jeremie Girault on 31/05/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import RxSwift diff --git a/Source/RxSwift/fromAsync.swift b/Source/RxSwift/fromAsync.swift index 3536d37c..1478fa38 100644 --- a/Source/RxSwift/fromAsync.swift +++ b/Source/RxSwift/fromAsync.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Vincent on 12/08/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/ignore.swift b/Source/RxSwift/ignore.swift index fa01f71f..9055aff3 100644 --- a/Source/RxSwift/ignore.swift +++ b/Source/RxSwift/ignore.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Florent Pillet on 10/04/16. -// Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity +// Copyright © 2016 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/ignoreErrors.swift b/Source/RxSwift/ignoreErrors.swift index 84153071..da8d0cd7 100644 --- a/Source/RxSwift/ignoreErrors.swift +++ b/Source/RxSwift/ignoreErrors.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Florent Pillet on 18/05/16. -// Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity +// Copyright © 2016 RxSwift Community. All rights reserved. // import RxSwift diff --git a/Source/RxSwift/mapTo.swift b/Source/RxSwift/mapTo.swift index b88f2e6a..95c55d21 100644 --- a/Source/RxSwift/mapTo.swift +++ b/Source/RxSwift/mapTo.swift @@ -1,6 +1,6 @@ // // mapTo.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Marin Todorov on 4/12/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Source/RxSwift/materialized+elements.swift b/Source/RxSwift/materialized+elements.swift index 0d3c086f..19ccea52 100644 --- a/Source/RxSwift/materialized+elements.swift +++ b/Source/RxSwift/materialized+elements.swift @@ -1,7 +1,9 @@ // -// Created by Adam Borek on 12.04.2017. -// Originally created by Andy Chou on 1/5/17 -// Copyright (c) 2017 RxSwiftCommunity. All rights reserved. +// materialized+elements.swift +// RxSwiftExt +// +// Created by Andy Chou on 1/5/17. +// Copyright © 2017 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/not.swift b/Source/RxSwift/not.swift index 8352c1da..8012e55b 100644 --- a/Source/RxSwift/not.swift +++ b/Source/RxSwift/not.swift @@ -2,8 +2,8 @@ // ignore.swift // RxSwiftExt // -// Created by Thane Gill 18/04/16. -// Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity +// Created by Thane Gill on 18/04/16. +// Copyright © 2016 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/nwise.swift b/Source/RxSwift/nwise.swift index ff667549..84eaf7bb 100644 --- a/Source/RxSwift/nwise.swift +++ b/Source/RxSwift/nwise.swift @@ -2,8 +2,8 @@ // nwise.swift // RxSwiftExt // -// Created by Zsolt Váradi on 2017. 12. 09.. -// Copyright © 2017. RxSwiftCommunity. All rights reserved. +// Created by Zsolt Váradi on 09/12/2017. +// Copyright © 2017 RxSwift Community. All rights reserved. // import RxSwift diff --git a/Source/RxSwift/once.swift b/Source/RxSwift/once.swift index c46b4754..b3470fdb 100644 --- a/Source/RxSwift/once.swift +++ b/Source/RxSwift/once.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Florent Pillet on 12/04/16. -// Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity +// Copyright © 2016 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/pausableBuffered.swift b/Source/RxSwift/pausableBuffered.swift index 7f2d8afc..e8c3f126 100644 --- a/Source/RxSwift/pausableBuffered.swift +++ b/Source/RxSwift/pausableBuffered.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Tanguy Helesbeux on 24/05/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/RxSwift/repeatWithBehavior.swift b/Source/RxSwift/repeatWithBehavior.swift index 2a8598aa..70b3d4dd 100644 --- a/Source/RxSwift/repeatWithBehavior.swift +++ b/Source/RxSwift/repeatWithBehavior.swift @@ -1,7 +1,8 @@ // // repeatWithBehavior.swift +// RxSwiftExt // -// Created by Marin Todorov +// Created by Marin Todorov on 05/08/2017. // Copyright © 2016 RxSwift Community. All rights reserved. // diff --git a/Source/RxSwift/retryWithBehavior.swift b/Source/RxSwift/retryWithBehavior.swift index 4b012aae..3ab49c47 100644 --- a/Source/RxSwift/retryWithBehavior.swift +++ b/Source/RxSwift/retryWithBehavior.swift @@ -1,8 +1,8 @@ // // retryWithBehavior.swift -// Pods +// RxSwiftExt // -// Created by Anton Efimenko on 17.07.16. +// Created by Anton Efimenko on 17/07/16. // Copyright © 2016 RxSwift Community. All rights reserved. // diff --git a/Source/RxSwift/unwrap.swift b/Source/RxSwift/unwrap.swift index 713bcf8c..d3ec4ef0 100644 --- a/Source/RxSwift/unwrap.swift +++ b/Source/RxSwift/unwrap.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Marin Todorov on 4/7/16. -// Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity +// Copyright © 2016 RxSwift Community. All rights reserved. // import Foundation diff --git a/Source/Tools/curry.swift b/Source/Tools/curry.swift index 5c8c6014..0daedd56 100644 --- a/Source/Tools/curry.swift +++ b/Source/Tools/curry.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Vincent on 12/08/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import Foundation diff --git a/Tests/RxCocoa/distinct+RxCocoa.swift b/Tests/RxCocoa/DistinctTests+RxCocoa.swift similarity index 99% rename from Tests/RxCocoa/distinct+RxCocoa.swift rename to Tests/RxCocoa/DistinctTests+RxCocoa.swift index 30c5cabe..2a2b76ea 100644 --- a/Tests/RxCocoa/distinct+RxCocoa.swift +++ b/Tests/RxCocoa/DistinctTests+RxCocoa.swift @@ -1,9 +1,9 @@ // -// distinct+RxCocoa.swift +// DistinctTests+RxCocoa.swift // RxSwiftExt // // Created by Rafael Ferreira on 3/8/17. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxCocoa/mapToTests+RxCocoa.swift b/Tests/RxCocoa/MapToTests+RxCocoa.swift similarity index 96% rename from Tests/RxCocoa/mapToTests+RxCocoa.swift rename to Tests/RxCocoa/MapToTests+RxCocoa.swift index a60f8a8b..cfe7ca7b 100644 --- a/Tests/RxCocoa/mapToTests+RxCocoa.swift +++ b/Tests/RxCocoa/MapToTests+RxCocoa.swift @@ -1,13 +1,12 @@ // -// MapToCocoaTests.swift -// RxSwiftExtDemo +// MapToTests+RxCocoa.swift +// RxSwiftExt // // Created by Rafael Ferreira on 3/7/17. // Copyright © 2016 RxSwift Community. All rights reserved. // import XCTest - import RxCocoa import RxSwift import RxSwiftExt diff --git a/Tests/RxCocoa/notTests+RxCocoa.swift b/Tests/RxCocoa/NotTests+RxCocoa.swift similarity index 88% rename from Tests/RxCocoa/notTests+RxCocoa.swift rename to Tests/RxCocoa/NotTests+RxCocoa.swift index 80b14b1e..24592532 100644 --- a/Tests/RxCocoa/notTests+RxCocoa.swift +++ b/Tests/RxCocoa/NotTests+RxCocoa.swift @@ -1,9 +1,9 @@ // -// notTests+RxCocoa.swift +// NotTests+RxCocoa.swift // RxSwiftExt // // Created by Rafael Ferreira on 3/7/17. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/DistinctTests.swift b/Tests/RxSwift/DistinctTests.swift index b081b106..9b91e974 100644 --- a/Tests/RxSwift/DistinctTests.swift +++ b/Tests/RxSwift/DistinctTests.swift @@ -1,6 +1,6 @@ // // DistinctTests.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Segii Shulga on 5/4/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/IgnoreTests.swift b/Tests/RxSwift/IgnoreTests.swift index 84e350cc..4246e3fe 100644 --- a/Tests/RxSwift/IgnoreTests.swift +++ b/Tests/RxSwift/IgnoreTests.swift @@ -1,9 +1,9 @@ // // IgnoreTests.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Florent Pillet on 10/04/16. -// Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity +// Copyright © 2016 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/OnceTests.swift b/Tests/RxSwift/OnceTests.swift index ca34ea4e..b33b1cde 100644 --- a/Tests/RxSwift/OnceTests.swift +++ b/Tests/RxSwift/OnceTests.swift @@ -1,6 +1,6 @@ // // OnceTests.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Florent Pillet on 12/04/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/UnwrapTests.swift b/Tests/RxSwift/UnwrapTests.swift index 4a968a98..5f36e9b6 100644 --- a/Tests/RxSwift/UnwrapTests.swift +++ b/Tests/RxSwift/UnwrapTests.swift @@ -1,9 +1,9 @@ // -// RxSwiftExtDemoTests.swift -// RxSwiftExtDemoTests +// UnwrapTests.swift +// RxSwiftExt // // Created by Marin Todorov on 4/7/16. -// Copyright © 2016 Underplot. All rights reserved. +// Copyright © 2016 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/WeakTarget.swift b/Tests/RxSwift/WeakTarget.swift index b759c7df..d32fbd53 100644 --- a/Tests/RxSwift/WeakTarget.swift +++ b/Tests/RxSwift/WeakTarget.swift @@ -1,6 +1,6 @@ // // WeakTarget.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Ian Keen on 17/04/2016. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/WeakTests.swift b/Tests/RxSwift/WeakTests.swift index 16e298e7..cb066ce6 100644 --- a/Tests/RxSwift/WeakTests.swift +++ b/Tests/RxSwift/WeakTests.swift @@ -1,6 +1,6 @@ // // WeakTests.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Ian Keen on 17/04/2016. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/andTests.swift b/Tests/RxSwift/andTests.swift index 12de947c..8b8f7bab 100644 --- a/Tests/RxSwift/andTests.swift +++ b/Tests/RxSwift/andTests.swift @@ -2,8 +2,8 @@ // andTests.swift // RxSwiftExt // -// Created by Florent Pillet on 26/11/17 -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Created by Florent Pillet on 26/11/17. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/applyTests.swift b/Tests/RxSwift/applyTests.swift index 0a6a529e..b2e57b77 100644 --- a/Tests/RxSwift/applyTests.swift +++ b/Tests/RxSwift/applyTests.swift @@ -3,7 +3,7 @@ // RxSwiftExt // // Created by Andy Chou on 2/22/17. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/cascadeTests.swift b/Tests/RxSwift/cascadeTests.swift index 6de15dd6..9fbab8f0 100644 --- a/Tests/RxSwift/cascadeTests.swift +++ b/Tests/RxSwift/cascadeTests.swift @@ -1,6 +1,6 @@ // // cascadeTests.swift -// RxSwiftExtDemo +// RxSwiftExt // // Created by Florent Pillet on 17/04/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/catchErrorJustCompleteTests.swift b/Tests/RxSwift/catchErrorJustCompleteTests.swift index 140a8b6e..76604e40 100644 --- a/Tests/RxSwift/catchErrorJustCompleteTests.swift +++ b/Tests/RxSwift/catchErrorJustCompleteTests.swift @@ -1,6 +1,6 @@ // -// catchErrorJustCompleteTests.swift -// RxSwiftExtDemo +// CatchErrorJustCompleteTests.swift +// RxSwiftExt // // Created by Florent Pillet on 31/07/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/filterMapTests.swift b/Tests/RxSwift/filterMapTests.swift index 90b7f672..168a2596 100644 --- a/Tests/RxSwift/filterMapTests.swift +++ b/Tests/RxSwift/filterMapTests.swift @@ -1,9 +1,9 @@ // -// filterMapTests.swift +// FilterMapTests.swift // RxSwiftExt // // Created by Jeremie Girault on 31/05/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/fromAsyncTests.swift b/Tests/RxSwift/fromAsyncTests.swift index 1a285e3d..cae22187 100644 --- a/Tests/RxSwift/fromAsyncTests.swift +++ b/Tests/RxSwift/fromAsyncTests.swift @@ -1,9 +1,9 @@ // -// fromAsyncTests.swift +// FromAsyncTests.swift // RxSwiftExt // // Created by Vincent on 12/08/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/ignoreErrorsTests.swift b/Tests/RxSwift/ignoreErrorsTests.swift index 8729ba0d..7f6c81f7 100644 --- a/Tests/RxSwift/ignoreErrorsTests.swift +++ b/Tests/RxSwift/ignoreErrorsTests.swift @@ -1,6 +1,6 @@ // -// ignoreErrorsTests.swift -// RxSwiftExtDemo +// IgnoreErrorsTests.swift +// RxSwiftExt // // Created by Florent Pillet on 18/05/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/ignoreWhenTests.swift b/Tests/RxSwift/ignoreWhenTests.swift index 17f55367..c0bc1c95 100644 --- a/Tests/RxSwift/ignoreWhenTests.swift +++ b/Tests/RxSwift/ignoreWhenTests.swift @@ -1,6 +1,6 @@ // -// ignoreWhenTests.swift -// RxSwiftExtDemo +// IgnoreWhenTests.swift +// RxSwiftExt // // Created by Florent Pillet on 14/04/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/mapToTests.swift b/Tests/RxSwift/mapToTests.swift index 2000e61c..401e5c24 100644 --- a/Tests/RxSwift/mapToTests.swift +++ b/Tests/RxSwift/mapToTests.swift @@ -1,6 +1,6 @@ // -// ReplaceWithTests.swift -// RxSwiftExtDemo +// MapToTests.swift +// RxSwiftExt // // Created by Marin Todorov on 4/12/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/materialized+elementsTests.swift b/Tests/RxSwift/materialized+elementsTests.swift index 48782462..c984bc63 100644 --- a/Tests/RxSwift/materialized+elementsTests.swift +++ b/Tests/RxSwift/materialized+elementsTests.swift @@ -1,9 +1,9 @@ // -// materialized+elementsTests.swift +// Materialized+elementsTests.swift // RxSwiftExt // -// Created by Adam Borek on 12.04.2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Created by Adam Borek on 12/04/2017. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/notTests.swift b/Tests/RxSwift/notTests.swift index 48b7eb31..29165ad9 100644 --- a/Tests/RxSwift/notTests.swift +++ b/Tests/RxSwift/notTests.swift @@ -1,9 +1,9 @@ // -// IgnoreTests.swift -// RxSwiftExtDemo +// NotTests.swift +// RxSwiftExt // // Created by Thane Gill on 10/18/16. -// Copyright (c) 2016 RxSwiftCommunity https://github.com/RxSwiftCommunity +// Copyright © 2016 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/nwiseTests.swift b/Tests/RxSwift/nwiseTests.swift index ab93d8df..e80457f5 100644 --- a/Tests/RxSwift/nwiseTests.swift +++ b/Tests/RxSwift/nwiseTests.swift @@ -1,9 +1,9 @@ // -// nwiseTests.swift +// NwiseTests.swift // RxSwiftExt // -// Created by Zsolt Váradi on 2017. 12. 09.. -// Copyright © 2017. RxSwiftCommunity. All rights reserved. +// Created by Zsolt Váradi on 09/12/2017. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest @@ -12,8 +12,7 @@ import RxSwift import RxSwiftExt import RxTest -// swiftlint:disable:next type_name -class nwiseTests: XCTestCase { +class NwiseTests: XCTestCase { func testNwiseEmitsGroups() { let values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] let scheduler = TestScheduler(initialClock: 0) diff --git a/Tests/RxSwift/pausableBufferedTests.swift b/Tests/RxSwift/pausableBufferedTests.swift index 83eb40fa..7bfd6ed1 100644 --- a/Tests/RxSwift/pausableBufferedTests.swift +++ b/Tests/RxSwift/pausableBufferedTests.swift @@ -1,9 +1,9 @@ // -// pausableBufferedTests.swift +// PausableBufferedTests.swift // RxSwiftExt // // Created by Tanguy Helesbeux on 24/05/2017. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// Copyright © 2017 RxSwift Community. All rights reserved. // import XCTest diff --git a/Tests/RxSwift/pausableTests.swift b/Tests/RxSwift/pausableTests.swift index 86df9b81..a3ae4613 100644 --- a/Tests/RxSwift/pausableTests.swift +++ b/Tests/RxSwift/pausableTests.swift @@ -1,6 +1,6 @@ // -// pausableTests.swift -// RxSwiftExtDemo +// PausableTests.swift +// RxSwiftExt // // Created by Jesse Farless on 12/09/16. // Copyright © 2016 RxSwift Community. All rights reserved. diff --git a/Tests/RxSwift/repeatWithBehaviorTests.swift b/Tests/RxSwift/repeatWithBehaviorTests.swift index 789cbb83..bf8cd483 100644 --- a/Tests/RxSwift/repeatWithBehaviorTests.swift +++ b/Tests/RxSwift/repeatWithBehaviorTests.swift @@ -1,8 +1,8 @@ // // RetryWithBehaviorTests.swift -// RxSwiftExtDemo +// RxSwiftExt // -// Created by Anton Efimenko on 17.07.16. +// Created by Anton Efimenko on 17/07/16. // Copyright © 2016 RxSwift Community. All rights reserved. // diff --git a/Tests/RxSwift/retryWithBehaviorTests.swift b/Tests/RxSwift/retryWithBehaviorTests.swift index d9ad7890..9fdedc79 100644 --- a/Tests/RxSwift/retryWithBehaviorTests.swift +++ b/Tests/RxSwift/retryWithBehaviorTests.swift @@ -1,8 +1,8 @@ // // RetryWithBehaviorTests.swift -// RxSwiftExtDemo +// RxSwiftExt // -// Created by Anton Efimenko on 17.07.16. +// Created by Anton Efimenko on 17/07/16. // Copyright © 2016 RxSwift Community. All rights reserved. // @@ -107,7 +107,7 @@ class RetryWithBehaviorTests: XCTestCase { next(680, 2), error(690, RepeatTestErrors.fatalError)] - // provide simple predicate that always return true + // Provide simple predicate that always return true let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) { _ in true @@ -125,7 +125,7 @@ class RetryWithBehaviorTests: XCTestCase { next(450, 2), error(460, RepeatTestErrors.fatalError)] - // provide simple predicate that always returns true + // Provide simple predicate that always returns true var attempts = 0 let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) { _ in @@ -143,7 +143,7 @@ class RetryWithBehaviorTests: XCTestCase { next(220, 2), error(230, RepeatTestErrors.fatalError)] - // provide simple predicate that always return false (so, sequence will not repeated) + // Provide simple predicate that always return false (so, sequence will not repeated) let res = scheduler.start(created: 0, subscribed: 0, disposed: 1000) { self.sampleValues.asObservable().retry(.immediate(maxCount: 3), scheduler: self.scheduler) { _ in false @@ -273,7 +273,7 @@ class RetryWithBehaviorTests: XCTestCase { next(1310, 2), error(1320, RepeatTestErrors.fatalError)] - // custom delay calculator + // Custom delay calculator let customCalculator: (UInt) -> Double = { attempt in switch attempt { case 1: return 10.0 @@ -304,7 +304,7 @@ class RetryWithBehaviorTests: XCTestCase { next(1310, 2), error(1320, RepeatTestErrors.fatalError)] - // custom delay calculator + // Custom delay calculator let customCalculator: (UInt) -> Double = { attempt in switch attempt { case 1: return 10.0 @@ -329,7 +329,7 @@ class RetryWithBehaviorTests: XCTestCase { next(220, 2), error(230, RepeatTestErrors.fatalError)] - // custom delay calculator + // Custom delay calculator let customCalculator: ((UInt) -> Double) = { attempt in switch attempt { case 1: return 10.0