Skip to content

Commit 97f46e0

Browse files
committed
Fix Tests and Linux build
## Changes - Fix Tests. - Add missing Linux compile time checks.
1 parent 88e3b83 commit 97f46e0

16 files changed

+94
-83
lines changed

Examples/CaseStudies/SwiftUICaseStudies/02-Effects-Basics.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ struct EffectsBasics: ReducerProtocol {
5050
return state.count >= 0
5151
? .none
5252
: .task {
53+
try await self.mainQueue.sleep(for: .seconds(1))
5354
return .decrementDelayResponse
5455
}
5556
.cancellable(id: DelayID.self)

Examples/CaseStudies/SwiftUICaseStudiesTests/01-GettingStarted-AnimationsTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ final class AnimationTests: XCTestCase {
1212
reducer: Animations()
1313
)
1414

15-
let mainQueue = DispatchQueue.test
16-
store.dependencies.mainQueue = mainQueue.eraseToAnyScheduler()
15+
let mainQueue = TestScheduler()
16+
store.dependencies.mainQueue = mainQueue
1717

1818
await store.send(.rainbowButtonTapped)
1919
await store.receive(.setColor(.red)) {
@@ -64,8 +64,8 @@ final class AnimationTests: XCTestCase {
6464
reducer: Animations()
6565
)
6666

67-
let mainQueue = DispatchQueue.test
68-
store.dependencies.mainQueue = mainQueue.eraseToAnyScheduler()
67+
let mainQueue = TestScheduler()
68+
store.dependencies.mainQueue = mainQueue
6969

7070
await store.send(.rainbowButtonTapped)
7171
await store.receive(.setColor(.red)) {

Examples/CaseStudies/SwiftUICaseStudiesTests/02-Effects-BasicsTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ final class EffectsBasicsTests: XCTestCase {
1212
reducer: EffectsBasics()
1313
)
1414

15-
store.dependencies.mainQueue = .immediate
15+
store.dependencies.mainQueue = ImmediateScheduler()
1616

1717
await store.send(.incrementButtonTapped) {
1818
$0.count = 1
@@ -29,7 +29,7 @@ final class EffectsBasicsTests: XCTestCase {
2929
)
3030

3131
store.dependencies.factClient.fetch = { "\($0) is a good number Brent" }
32-
store.dependencies.mainQueue = .immediate
32+
store.dependencies.mainQueue = ImmediateScheduler()
3333

3434
await store.send(.incrementButtonTapped) {
3535
$0.count = 1
@@ -49,7 +49,7 @@ final class EffectsBasicsTests: XCTestCase {
4949
reducer: EffectsBasics()
5050
)
5151

52-
store.dependencies.mainQueue = .immediate
52+
store.dependencies.mainQueue = ImmediateScheduler()
5353

5454
await store.send(.decrementButtonTapped) {
5555
$0.count = -1
@@ -65,7 +65,7 @@ final class EffectsBasicsTests: XCTestCase {
6565
reducer: EffectsBasics()
6666
)
6767

68-
store.dependencies.mainQueue = DispatchQueue.test.eraseToAnyScheduler()
68+
store.dependencies.mainQueue = TestScheduler()
6969

7070
await store.send(.decrementButtonTapped) {
7171
$0.count = -1

Examples/CaseStudies/SwiftUICaseStudiesTests/02-Effects-RefreshableTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ final class RefreshableTests: XCTestCase {
1313
)
1414

1515
store.dependencies.factClient.fetch = { "\($0) is a good number." }
16-
store.dependencies.mainQueue = .immediate
16+
store.dependencies.mainQueue = ImmediateScheduler()
1717

1818
await store.send(.incrementButtonTapped) {
1919
$0.count = 1
@@ -32,7 +32,7 @@ final class RefreshableTests: XCTestCase {
3232

3333
struct FactError: Equatable, Error {}
3434
store.dependencies.factClient.fetch = { _ in throw FactError() }
35-
store.dependencies.mainQueue = .immediate
35+
store.dependencies.mainQueue = ImmediateScheduler()
3636

3737
await store.send(.incrementButtonTapped) {
3838
$0.count = 1
@@ -51,7 +51,7 @@ final class RefreshableTests: XCTestCase {
5151
try await Task.sleep(nanoseconds: NSEC_PER_SEC)
5252
return "\($0) is a good number."
5353
}
54-
store.dependencies.mainQueue = .immediate
54+
store.dependencies.mainQueue = ImmediateScheduler()
5555

5656
await store.send(.incrementButtonTapped) {
5757
$0.count = 1

Examples/CaseStudies/SwiftUICaseStudiesTests/02-Effects-TimersTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ final class TimersTests: XCTestCase {
1212
reducer: Timers()
1313
)
1414

15-
let mainQueue = DispatchQueue.test
16-
store.dependencies.mainQueue = mainQueue.eraseToAnyScheduler()
15+
let mainQueue = TestScheduler()
16+
store.dependencies.mainQueue = mainQueue
1717

1818
await store.send(.toggleTimerButtonTapped) {
1919
$0.isTimerActive = true

Examples/CaseStudies/SwiftUICaseStudiesTests/02-Effects-WebSocketTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ final class WebSocketTests: XCTestCase {
1515
let actions = AsyncStream<WebSocketClient.Action>.streamWithContinuation()
1616
let messages = AsyncStream<TaskResult<WebSocketClient.Message>>.streamWithContinuation()
1717

18-
store.dependencies.mainQueue = .immediate
18+
store.dependencies.mainQueue = ImmediateScheduler()
1919
store.dependencies.webSocket.open = { _, _, _ in actions.stream }
2020
store.dependencies.webSocket.receive = { _ in messages.stream }
2121
store.dependencies.webSocket.send = { _, _ in }
@@ -66,7 +66,7 @@ final class WebSocketTests: XCTestCase {
6666
let actions = AsyncStream<WebSocketClient.Action>.streamWithContinuation()
6767
let messages = AsyncStream<TaskResult<WebSocketClient.Message>>.streamWithContinuation()
6868

69-
store.dependencies.mainQueue = .immediate
69+
store.dependencies.mainQueue = ImmediateScheduler()
7070
store.dependencies.webSocket.open = { _, _, _ in actions.stream }
7171
store.dependencies.webSocket.receive = { _ in messages.stream }
7272
store.dependencies.webSocket.send = { _, _ in
@@ -108,10 +108,10 @@ final class WebSocketTests: XCTestCase {
108108
)
109109

110110
let actions = AsyncStream<WebSocketClient.Action>.streamWithContinuation()
111-
let mainQueue = DispatchQueue.test
111+
let mainQueue = TestScheduler()
112112
var pingsCount = 0
113113

114-
store.dependencies.mainQueue = mainQueue.eraseToAnyScheduler()
114+
store.dependencies.mainQueue = mainQueue
115115
store.dependencies.webSocket.open = { _, _, _ in actions.stream }
116116
store.dependencies.webSocket.receive = { _ in try await Task.never() }
117117
store.dependencies.webSocket.sendPing = { @MainActor _ in pingsCount += 1 }
@@ -144,7 +144,7 @@ final class WebSocketTests: XCTestCase {
144144

145145
let actions = AsyncStream<WebSocketClient.Action>.streamWithContinuation()
146146

147-
store.dependencies.mainQueue = .immediate
147+
store.dependencies.mainQueue = ImmediateScheduler()
148148
store.dependencies.webSocket.open = { _, _, _ in actions.stream }
149149
store.dependencies.webSocket.receive = { _ in try await Task.never() }
150150
store.dependencies.webSocket.sendPing = { _ in try await Task.never() }

Examples/CaseStudies/SwiftUICaseStudiesTests/04-HigherOrderReducers-LifecycleTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ final class LifecycleTests: XCTestCase {
1313
reducer: LifecycleDemo()
1414
)
1515

16-
let mainQueue = DispatchQueue.test
17-
store.dependencies.mainQueue = mainQueue.eraseToAnyScheduler()
16+
let mainQueue = TestScheduler()
17+
store.dependencies.mainQueue = mainQueue
1818

1919
await store.send(.toggleTimerButtonTapped) {
2020
$0.count = 0

Examples/CaseStudies/SwiftUICaseStudiesTests/04-HigherOrderReducers-ReusableFavoritingTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ final class ReusableComponentsFavoritingTests: XCTestCase {
5858
"Favoriting failed."
5959
}
6060
}
61-
let scheduler = DispatchQueue.test
61+
let scheduler = TestScheduler()
6262

6363
let episodes: IdentifiedArrayOf<Episode.State> = [
6464
Episode.State(

Sources/ComposableArchitecture/Documentation.docc/Articles/DependencyManagement.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ func testTodos() async {
180180
)
181181

182182
store.dependencies.date = .constant(Date(timeIntervalSinceReferenceDate: 1234567890))
183-
store.dependencies.mainQueue = .immediate
183+
store.dependencies.mainQueue = ImmediateScheduler()
184184
store.dependencies.uuid = .incrementing
185185

186186
// ...

Sources/ComposableArchitecture/Documentation.docc/Articles/MigratingToTheReducerProtocol.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ override dependencies driving a feature.
583583
For example, to install a test scheduler as the main queue dependency:
584584

585585
```swift
586-
let mainQueue = DispatchQueue.test
586+
let mainQueue = TestScheduler()
587587
store.dependencies.mainQueue = mainQueue
588588

589589
await store.send(.timerButtonStarted)

0 commit comments

Comments
 (0)