Skip to content

Commit 959067e

Browse files
committed
Update TaskSpec to latest RAC
1 parent e286f9f commit 959067e

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed

ReactiveTaskTests/TaskSpec.swift

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,38 +14,37 @@ import ReactiveTask
1414

1515
class TaskSpec: QuickSpec {
1616
override func spec() {
17-
let standardOutput = ObservableProperty(NSData())
18-
let standardError = ObservableProperty(NSData())
17+
let standardOutput = MutableProperty(NSData())
18+
let standardError = MutableProperty(NSData())
1919

2020
beforeEach {
2121
standardOutput.value = NSData()
2222
standardError.value = NSData()
2323
}
2424

25-
func accumulatingSinkForProperty(property: ObservableProperty<NSData>) -> SinkOf<NSData> {
26-
let (signal, sink) = HotSignal<NSData>.pipe()
25+
func accumulatingSinkForProperty(property: MutableProperty<NSData>) -> SinkOf<NSData> {
26+
let (signal, sink) = Signal<NSData, NoError>.pipe()
2727

28-
signal.scan(initial: NSData()) { (accum, data) in
29-
let buffer = accum.mutableCopy() as NSMutableData
30-
buffer.appendData(data)
28+
property <~ signal
29+
|> scan(NSData()) { (accum, data) in
30+
let buffer = accum.mutableCopy() as NSMutableData
31+
buffer.appendData(data)
3132

32-
return buffer
33-
// FIXME: This doesn't actually need to be cold, it just works
34-
// around memory management issues.
35-
}.replay(0).start(next: { value in
36-
property.value = value
37-
})
33+
return buffer
34+
}
3835

39-
return sink
36+
return SinkOf { data in
37+
sendNext(sink, data)
38+
}
4039
}
4140

4241
it("should launch a task that writes to stdout") {
4342
let desc = TaskDescription(launchPath: "/bin/echo", arguments: [ "foobar" ])
4443
let task = launchTask(desc, standardOutput: accumulatingSinkForProperty(standardOutput))
4544
expect(standardOutput.value).to(equal(NSData()))
4645

47-
let result = task.wait()
48-
expect(result.isSuccess()).to(beTruthy())
46+
let result = task |> wait
47+
expect(result.isSuccess).to(beTruthy())
4948
expect(NSString(data: standardOutput.value, encoding: NSUTF8StringEncoding)).to(equal("foobar\n"))
5049
}
5150

@@ -54,20 +53,20 @@ class TaskSpec: QuickSpec {
5453
let task = launchTask(desc, standardError: accumulatingSinkForProperty(standardError))
5554
expect(standardError.value).to(equal(NSData()))
5655

57-
let result = task.wait()
58-
expect(result.isSuccess()).to(beFalsy())
56+
let result = task |> wait
57+
expect(result.isSuccess).to(beFalsy())
5958
expect(NSString(data: standardError.value, encoding: NSUTF8StringEncoding)).to(equal("stat: not-a-real-file: stat: No such file or directory\n"))
6059
}
6160

6261
it("should launch a task with standard input") {
6362
let strings = [ "foo\n", "bar\n", "buzz\n", "fuzz\n" ]
6463
let data = strings.map { $0.dataUsingEncoding(NSUTF8StringEncoding)! }
6564

66-
let desc = TaskDescription(launchPath: "/usr/bin/sort", standardInput: ColdSignal.fromValues(data))
65+
let desc = TaskDescription(launchPath: "/usr/bin/sort", standardInput: SignalProducer(values: data))
6766
let task = launchTask(desc, standardOutput: accumulatingSinkForProperty(standardOutput))
6867

69-
let result = task.wait()
70-
expect(result.isSuccess()).to(beTruthy())
68+
let result = task |> wait
69+
expect(result.isSuccess).to(beTruthy())
7170
expect(NSString(data: standardOutput.value, encoding: NSUTF8StringEncoding)).to(equal("bar\nbuzz\nfoo\nfuzz\n"))
7271
}
7372
}

0 commit comments

Comments
 (0)