Skip to content

Commit

Permalink
Merge pull request ReactiveCocoa#1824 from ReactiveCocoa/swift-enable…
Browse files Browse the repository at this point in the history
…-fixed-tests

Enable test fixed by Swift 1.2b3
  • Loading branch information
jspahrsummers committed Mar 13, 2015
2 parents 55e2a3d + 3d7d240 commit 81860e1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 13 deletions.
18 changes: 10 additions & 8 deletions ReactiveCocoa/Swift/Signal.swift
Original file line number Diff line number Diff line change
Expand Up @@ -946,17 +946,19 @@ public func zip<A, B, C, D, E, F, G, H, I, J, Error>(a: Signal<A, Error>, b: Sig
///
/// If the interval is 0, the timeout will be scheduled immediately. The signal
/// must complete synchronously (or on a faster scheduler) to avoid the timeout.
public func timeoutWithError<T, E>(error: E, afterInterval interval: NSTimeInterval, onScheduler scheduler: DateSchedulerType)(signal: Signal<T, E>) -> Signal<T, E> {
public func timeoutWithError<T, E>(error: E, afterInterval interval: NSTimeInterval, onScheduler scheduler: DateSchedulerType) -> Signal<T, E> -> Signal<T, E> {
precondition(interval >= 0)

return Signal { observer in
let date = scheduler.currentDate.dateByAddingTimeInterval(interval)
let schedulerDisposable = scheduler.scheduleAfter(date) {
sendError(observer, error)
}
return { signal in
return Signal { observer in
let date = scheduler.currentDate.dateByAddingTimeInterval(interval)
let schedulerDisposable = scheduler.scheduleAfter(date) {
sendError(observer, error)
}

let signalDisposable = signal.observe(observer)
return CompositeDisposable(ignoreNil([ signalDisposable, schedulerDisposable ]))
let signalDisposable = signal.observe(observer)
return CompositeDisposable(ignoreNil([ signalDisposable, schedulerDisposable ]))
}
}
}

Expand Down
6 changes: 1 addition & 5 deletions ReactiveCocoaTests/Swift/SignalProducerSpec.swift
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ class SignalProducerSpec: QuickSpec {
expect(interrupted).to(beTruthy())
}

pending("should release sink when disposed") {
it("should release sink when disposed") {
weak var testSink: TestSink?

var disposable: Disposable!
Expand All @@ -467,10 +467,6 @@ class SignalProducerSpec: QuickSpec {
test()
expect(testSink).toNot(beNil())

// FIXME: Disposing _should_ result in the test sink being released here. Implementing
// an identical `start` method as a producer extension in the test module and using that
// works as expected. Calling the normal `start` method on `SignalProducer` leaks the
// sink a yet to be determined reason.
disposable.dispose()
expect(testSink).to(beNil())
}
Expand Down

0 comments on commit 81860e1

Please sign in to comment.