Skip to content

Commit 6ecefdb

Browse files
committed
Fixes after resolving conflicts.
1 parent 071e63f commit 6ecefdb

File tree

4 files changed

+15
-17
lines changed

4 files changed

+15
-17
lines changed

Examples/VoiceMemos/VoiceMemos/VoiceMemo.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ let voiceMemoReducer = Reducer<VoiceMemo, VoiceMemoAction, VoiceMemoEnvironment>
6464
switch memo.mode {
6565
case .notPlaying:
6666
memo.mode = .playing(progress: 0)
67-
let start = environment.mainRunLoop.now
67+
let start = environment.mainRunLoop.currentDate
6868
return .merge(
69-
Effect.timer(id: TimerId(), every: 0.5, on: environment.mainRunLoop)
70-
.map { .timerUpdated($0.date.timeIntervalSince1970 - start.date.timeIntervalSince1970) },
69+
Effect.timer(id: TimerId(), every: .milliseconds(500), on: environment.mainRunLoop)
70+
.map { .timerUpdated($0.timeIntervalSince1970 - start.timeIntervalSince1970) },
7171

7272
environment.audioPlayerClient
7373
.play(PlayerId(), memo.url)

Examples/VoiceMemos/VoiceMemos/VoiceMemos.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,13 @@ let voiceMemosReducer = Reducer<VoiceMemosState, VoiceMemosAction, VoiceMemosEnv
6464
.appendingPathComponent(environment.uuid().uuidString)
6565
.appendingPathExtension("m4a")
6666
state.currentRecording = .init(
67-
date: environment.mainRunLoop.now.date,
67+
date: environment.mainRunLoop.currentDate,
6868
url: url
6969
)
7070
return .merge(
7171
environment.audioRecorder.startRecording(RecorderId(), url)
7272
.catchToEffect(VoiceMemosAction.audioRecorder),
73-
Effect.timer(id: RecorderTimerId(), every: 1, tolerance: .zero, on: environment.mainRunLoop)
73+
Effect.timer(id: RecorderTimerId(), every: .seconds(1), on: environment.mainRunLoop)
7474
.map { _ in .currentRecordingTimerUpdated }
7575
)
7676
}

Examples/VoiceMemos/VoiceMemosTests/VoiceMemosTests.swift

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@ import XCTest
66
@testable import VoiceMemos
77

88
class VoiceMemosTests: XCTestCase {
9-
let mainRunLoop = RunLoop.test
9+
let mainRunLoop = TestScheduler()
1010

1111
func testRecordMemoHappyPath() {
1212
let audioRecorderSubject = Signal<
1313
AudioRecorderClient.Action, AudioRecorderClient.Failure
1414
>.pipe()
15-
let scheduler = TestScheduler()
1615

1716
var environment = VoiceMemosEnvironment.failing
1817
environment.audioRecorder.currentTime = { _ in Effect(value: 2.5) }
@@ -26,7 +25,7 @@ class VoiceMemosTests: XCTestCase {
2625
audioRecorderSubject.input.sendCompleted()
2726
}
2827
}
29-
environment.mainQueue = scheduler
28+
environment.mainRunLoop = mainRunLoop
3029
environment.temporaryDirectory = { URL(fileURLWithPath: "/tmp") }
3130
environment.uuid = { UUID(uuidString: "DEADBEEF-DEAD-BEEF-DEAD-BEEFDEADBEEF")! }
3231

@@ -41,7 +40,7 @@ class VoiceMemosTests: XCTestCase {
4140
store.receive(.recordPermissionResponse(true)) {
4241
$0.audioRecorderPermission = .allowed
4342
$0.currentRecording = .init(
44-
date: Date(timeIntervalSince1970: 0),
43+
date: Date(timeIntervalSinceReferenceDate: 0),
4544
mode: .recording,
4645
url: URL(string: "file:///tmp/DEADBEEF-DEAD-BEEF-DEAD-BEEFDEADBEEF.m4a")!
4746
)
@@ -65,7 +64,7 @@ class VoiceMemosTests: XCTestCase {
6564
$0.currentRecording = nil
6665
$0.voiceMemos = [
6766
VoiceMemo(
68-
date: Date(timeIntervalSince1970: 0),
67+
date: Date(timeIntervalSinceReferenceDate: 0),
6968
duration: 2.5,
7069
mode: .notPlaying,
7170
title: "",
@@ -142,13 +141,12 @@ class VoiceMemosTests: XCTestCase {
142141
}
143142

144143
func testPlayMemoHappyPath() {
145-
let scheduler = TestScheduler()
146144
var environment = VoiceMemosEnvironment.failing
147145
environment.audioPlayer.play = { _, _ in
148146
Effect(value: .didFinishPlaying(successfully: true))
149-
.delay(1.1, on: scheduler)
147+
.delay(1.1, on: self.mainRunLoop)
150148
}
151-
environment.mainQueue = scheduler
149+
environment.mainRunLoop = mainRunLoop
152150

153151
let url = URL(string: "https://www.pointfree.co/functions")!
154152
let store = TestStore(
@@ -170,15 +168,15 @@ class VoiceMemosTests: XCTestCase {
170168
store.send(.voiceMemo(id: url, action: .playButtonTapped)) {
171169
$0.voiceMemos[id: url]?.mode = VoiceMemo.Mode.playing(progress: 0)
172170
}
173-
self.mainRunLoop.advance(by: 0.5)
171+
mainRunLoop.advance(by: 0.5)
174172
store.receive(VoiceMemosAction.voiceMemo(id: url, action: VoiceMemoAction.timerUpdated(0.5))) {
175173
$0.voiceMemos[id: url]?.mode = .playing(progress: 0.5)
176174
}
177-
self.mainRunLoop.advance(by: 0.5)
175+
mainRunLoop.advance(by: 0.5)
178176
store.receive(VoiceMemosAction.voiceMemo(id: url, action: VoiceMemoAction.timerUpdated(1))) {
179177
$0.voiceMemos[id: url]?.mode = .playing(progress: 1)
180178
}
181-
scheduler.advance(by: 0.1)
179+
mainRunLoop.advance(by: 0.1)
182180
store.receive(
183181
.voiceMemo(
184182
id: url,

Sources/ComposableArchitecture/ViewStore.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public final class ViewStore<State, Action> {
9595
#if canImport(Combine)
9696
if #available(iOS 13.0, OSX 10.15, tvOS 13.0, watchOS 6.0, *) {
9797
self.objectWillChange.send()
98-
self._state.value = $0
98+
self._state = $0
9999
}
100100
#endif
101101
self._state = $0

0 commit comments

Comments
 (0)