From 14eccb2ec3bc856b81d02c55d836a5fd3ab92265 Mon Sep 17 00:00:00 2001 From: Dan Fleming Date: Thu, 21 Aug 2025 13:58:30 -0400 Subject: [PATCH] Bump quick to 7.0.0 and up --- .../Test/AnonymousDisposableTests.swift | 2 +- MobiusCore/Test/AnyConnectionTests.swift | 2 +- MobiusCore/Test/AnyMobiusLoggerTests.swift | 2 +- .../AsyncDispatchQueueConnectableTests.swift | 9 ++- .../Test/CompositeDisposableTests.swift | 2 +- .../Test/ConnectablePublisherTests.swift | 2 +- .../AnyEffectHandlerTests.swift | 2 +- .../Test/EffectHandlers/CallbackTests.swift | 2 +- .../EffectHandlers/EffectHandlerTests.swift | 2 +- .../EffectHandlers/EffectRouterDSLTests.swift | 2 +- .../EffectHandlers/EffectRouterTests.swift | 2 +- .../Test/EffectHandlers/EnumRouteTests.swift | 2 +- ...terDisposalLogicalRaceRegressionTest.swift | 2 +- .../EventSources/AnyEventSourceTests.swift | 7 ++- .../CompositeEventSourceBuilderTests.swift | 2 +- MobiusCore/Test/FirstTests.swift | 2 +- MobiusCore/Test/InitializationTests.swift | 2 +- MobiusCore/Test/LoggingInitiateTests.swift | 2 +- MobiusCore/Test/LoggingUpdateTests.swift | 2 +- MobiusCore/Test/MobiusControllerTests.swift | 63 +++++++++---------- MobiusCore/Test/MobiusHooksTests.swift | 2 +- MobiusCore/Test/MobiusIntegrationTests.swift | 2 +- MobiusCore/Test/MobiusLoopTests.swift | 2 +- MobiusCore/Test/NextTests.swift | 2 +- MobiusCore/Test/NonReentrancyTests.swift | 2 +- MobiusCore/Test/Task+DisposableTests.swift | 2 +- MobiusCore/Test/WorkBagTests.swift | 2 +- MobiusExtras/Test/ConnectableClassTests.swift | 2 +- .../Test/ConnectableContramapTests.swift | 2 +- MobiusExtras/Test/ConnectableMapTests.swift | 2 +- MobiusExtras/Test/CopyableTests.swift | 2 +- .../Test/EventSource+ExtensionsTests.swift | 2 +- .../Test/NimbleFirstMatchersTests.swift | 2 +- .../Test/NimbleNextMatchersTests.swift | 2 +- MobiusTest/Test/DebugDiffTests.swift | 2 +- MobiusTest/Test/FirstMatchersTests.swift | 2 +- MobiusTest/Test/InitSpecTests.swift | 2 +- MobiusTest/Test/NextMatchersTests.swift | 2 +- MobiusTest/Test/UpdateSpecTests.swift | 8 +-- Package.resolved | 31 ++++++++- Package.swift | 2 +- 41 files changed, 108 insertions(+), 82 deletions(-) diff --git a/MobiusCore/Test/AnonymousDisposableTests.swift b/MobiusCore/Test/AnonymousDisposableTests.swift index eb8e04b2..f69a1a4b 100644 --- a/MobiusCore/Test/AnonymousDisposableTests.swift +++ b/MobiusCore/Test/AnonymousDisposableTests.swift @@ -7,7 +7,7 @@ import Quick class AnonymousDisposableTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("AnonymousDisposable") { var disposable: AnonymousDisposable! var invocationCount: Int! diff --git a/MobiusCore/Test/AnyConnectionTests.swift b/MobiusCore/Test/AnyConnectionTests.swift index f1ab09fd..e205d1ef 100644 --- a/MobiusCore/Test/AnyConnectionTests.swift +++ b/MobiusCore/Test/AnyConnectionTests.swift @@ -6,7 +6,7 @@ import Nimble import Quick class ConnectionTests: QuickSpec { - override func spec() { + override class func spec() { describe("Connection") { context("when initializing with closures") { var connection: Connection! diff --git a/MobiusCore/Test/AnyMobiusLoggerTests.swift b/MobiusCore/Test/AnyMobiusLoggerTests.swift index 53684cbe..9cd0c43e 100644 --- a/MobiusCore/Test/AnyMobiusLoggerTests.swift +++ b/MobiusCore/Test/AnyMobiusLoggerTests.swift @@ -6,7 +6,7 @@ import Nimble import Quick class AnyMobiusLoggerTests: QuickSpec { - override func spec() { + override class func spec() { describe("AnyMobiusLogger") { var delegate: TestMobiusLogger! var logger: AnyMobiusLogger! diff --git a/MobiusCore/Test/AsyncDispatchQueueConnectableTests.swift b/MobiusCore/Test/AsyncDispatchQueueConnectableTests.swift index 56b91322..4df23544 100644 --- a/MobiusCore/Test/AsyncDispatchQueueConnectableTests.swift +++ b/MobiusCore/Test/AsyncDispatchQueueConnectableTests.swift @@ -8,16 +8,15 @@ import Nimble import Quick class AsyncDispatchQueueConnectableTests: QuickSpec { - private let acceptQueue = DispatchQueue(label: "accept queue") - - override func spec() { + override class func spec() { describe("AsyncDispatchQueueConnectable") { var connectable: AsyncDispatchQueueConnectable! var underlyingConnectable: RecordingTestConnectable! + let acceptQueue = DispatchQueue(label: "accept queue") beforeEach { - underlyingConnectable = RecordingTestConnectable(expectedQueue: self.acceptQueue) - connectable = AsyncDispatchQueueConnectable(underlyingConnectable, acceptQueue: self.acceptQueue) + underlyingConnectable = RecordingTestConnectable(expectedQueue: acceptQueue) + connectable = AsyncDispatchQueueConnectable(underlyingConnectable, acceptQueue: acceptQueue) } context("when connected") { diff --git a/MobiusCore/Test/CompositeDisposableTests.swift b/MobiusCore/Test/CompositeDisposableTests.swift index 8266e510..e988ea54 100644 --- a/MobiusCore/Test/CompositeDisposableTests.swift +++ b/MobiusCore/Test/CompositeDisposableTests.swift @@ -6,7 +6,7 @@ import Nimble import Quick class CompositeDisposableTests: QuickSpec { - override func spec() { + override class func spec() { describe("CompositeDisposable") { var one: TestDisposable! var two: TestDisposable! diff --git a/MobiusCore/Test/ConnectablePublisherTests.swift b/MobiusCore/Test/ConnectablePublisherTests.swift index b41ec52d..6003aaa2 100644 --- a/MobiusCore/Test/ConnectablePublisherTests.swift +++ b/MobiusCore/Test/ConnectablePublisherTests.swift @@ -8,7 +8,7 @@ import Quick class ConnectablePublisherTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("ConnectablePublisher") { var publisher: ConnectablePublisher! var received: [String]! diff --git a/MobiusCore/Test/EffectHandlers/AnyEffectHandlerTests.swift b/MobiusCore/Test/EffectHandlers/AnyEffectHandlerTests.swift index c699d700..c14f2bbf 100644 --- a/MobiusCore/Test/EffectHandlers/AnyEffectHandlerTests.swift +++ b/MobiusCore/Test/EffectHandlers/AnyEffectHandlerTests.swift @@ -10,7 +10,7 @@ private typealias Event = String class AnyEffectHandlerTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("AnyEffectHandler") { var effectHandler: AnyEffectHandler! var receivedEvents: [Event]! diff --git a/MobiusCore/Test/EffectHandlers/CallbackTests.swift b/MobiusCore/Test/EffectHandlers/CallbackTests.swift index ea546549..f260c5e6 100644 --- a/MobiusCore/Test/EffectHandlers/CallbackTests.swift +++ b/MobiusCore/Test/EffectHandlers/CallbackTests.swift @@ -7,7 +7,7 @@ import Quick class CallbackTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("Callbacks") { context("Ending a Callback") { var onEndCalledTimes: Int! diff --git a/MobiusCore/Test/EffectHandlers/EffectHandlerTests.swift b/MobiusCore/Test/EffectHandlers/EffectHandlerTests.swift index ac28d038..9216ac93 100644 --- a/MobiusCore/Test/EffectHandlers/EffectHandlerTests.swift +++ b/MobiusCore/Test/EffectHandlers/EffectHandlerTests.swift @@ -17,7 +17,7 @@ private enum Event { } class EffectHandlerTests: QuickSpec { - override func spec() { + override class func spec() { describe("Handling effects with EffectHandler") { var effectHandler: AnyEffectHandler! var executeEffect: ((Effect) -> Void)! diff --git a/MobiusCore/Test/EffectHandlers/EffectRouterDSLTests.swift b/MobiusCore/Test/EffectHandlers/EffectRouterDSLTests.swift index b5568ef3..6f0ecbfd 100644 --- a/MobiusCore/Test/EffectHandlers/EffectRouterDSLTests.swift +++ b/MobiusCore/Test/EffectHandlers/EffectRouterDSLTests.swift @@ -17,7 +17,7 @@ private enum Event: Equatable { class EffectRouterDSLTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { context("An EffectHandler which always ends as soon as it is called") { var wasDisposed: Bool! var connection: Connection! diff --git a/MobiusCore/Test/EffectHandlers/EffectRouterTests.swift b/MobiusCore/Test/EffectHandlers/EffectRouterTests.swift index 7c129b82..ac8b3f06 100644 --- a/MobiusCore/Test/EffectHandlers/EffectRouterTests.swift +++ b/MobiusCore/Test/EffectHandlers/EffectRouterTests.swift @@ -20,7 +20,7 @@ private enum Event { class EffectRouterTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { context("Router happy paths") { var receivedEvents: [Event]! var disposed1: Bool! diff --git a/MobiusCore/Test/EffectHandlers/EnumRouteTests.swift b/MobiusCore/Test/EffectHandlers/EnumRouteTests.swift index 910ba52b..33542b36 100644 --- a/MobiusCore/Test/EffectHandlers/EnumRouteTests.swift +++ b/MobiusCore/Test/EffectHandlers/EnumRouteTests.swift @@ -35,7 +35,7 @@ private func unwrap( } class ParameterExtractionRouteTests: QuickSpec { - override func spec() { + override class func spec() { context("Different types of enums being unwrapped") { it("supports routing to an effect with nothing to unwrap") { let route = EffectRouter() diff --git a/MobiusCore/Test/EventRouterDisposalLogicalRaceRegressionTest.swift b/MobiusCore/Test/EventRouterDisposalLogicalRaceRegressionTest.swift index bd8f20b7..640593a1 100644 --- a/MobiusCore/Test/EventRouterDisposalLogicalRaceRegressionTest.swift +++ b/MobiusCore/Test/EventRouterDisposalLogicalRaceRegressionTest.swift @@ -31,7 +31,7 @@ private enum Effect: Equatable { /// We had seen small volumes of this second issue in production. (Spotify internal: IOS-42623) class EventRouterDisposalLogicalRaceRegressionTest: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("Effect Handler connection") { var controller: MobiusController! var collaborator: EffectCollaborator! diff --git a/MobiusCore/Test/EventSources/AnyEventSourceTests.swift b/MobiusCore/Test/EventSources/AnyEventSourceTests.swift index 76c30904..896afbfd 100644 --- a/MobiusCore/Test/EventSources/AnyEventSourceTests.swift +++ b/MobiusCore/Test/EventSources/AnyEventSourceTests.swift @@ -7,7 +7,7 @@ import Nimble import Quick class AnyEventSourceTests: QuickSpec { - override func spec() { + override class func spec() { describe("AnyEventSource") { var eventConsumer: TestConsumer! var delegateEventSource: TestEventSource! @@ -18,18 +18,19 @@ class AnyEventSourceTests: QuickSpec { } it("should forward delegate consumer to closure") { - let consumerForwarded = self.expectation(description: "consumer forwarded") + var forwarded = false let source = AnyEventSource({ consumer in let testString = UUID().uuidString consumer(testString) if eventConsumer.received == [testString] { - consumerForwarded.fulfill() + forwarded = true } return TestDisposable() }) _ = source.subscribe(consumer: eventConsumer.accept) + expect(forwarded).toEventually(beTrue()) } it("should forward events from delegate event source") { diff --git a/MobiusCore/Test/EventSources/CompositeEventSourceBuilderTests.swift b/MobiusCore/Test/EventSources/CompositeEventSourceBuilderTests.swift index cfcb68eb..d836fc3a 100644 --- a/MobiusCore/Test/EventSources/CompositeEventSourceBuilderTests.swift +++ b/MobiusCore/Test/EventSources/CompositeEventSourceBuilderTests.swift @@ -7,7 +7,7 @@ import Quick class CompositeEventSourceBuilderTest: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { var eventsReceived: [Int]! var compositeEventSource: AnyEventSource! var disposable: Disposable! diff --git a/MobiusCore/Test/FirstTests.swift b/MobiusCore/Test/FirstTests.swift index d6ded5ab..ba3e9003 100644 --- a/MobiusCore/Test/FirstTests.swift +++ b/MobiusCore/Test/FirstTests.swift @@ -11,7 +11,7 @@ class FirstTests: QuickSpec { case refresh } - override func spec() { + override class func spec() { describe("First") { var sut: First! diff --git a/MobiusCore/Test/InitializationTests.swift b/MobiusCore/Test/InitializationTests.swift index ce5e0acf..cd25b9b0 100644 --- a/MobiusCore/Test/InitializationTests.swift +++ b/MobiusCore/Test/InitializationTests.swift @@ -8,7 +8,7 @@ import Quick class InitializationTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("Initialization") { var builder: Mobius.Builder! var updateFunction: Update! diff --git a/MobiusCore/Test/LoggingInitiateTests.swift b/MobiusCore/Test/LoggingInitiateTests.swift index eb8d08a9..9e02b83a 100644 --- a/MobiusCore/Test/LoggingInitiateTests.swift +++ b/MobiusCore/Test/LoggingInitiateTests.swift @@ -6,7 +6,7 @@ import Nimble import Quick class LoggingInitiateTests: QuickSpec { - override func spec() { + override class func spec() { describe("LoggingInitiate") { var logger: TestMobiusLogger! var loggingInitiate: Initiate! diff --git a/MobiusCore/Test/LoggingUpdateTests.swift b/MobiusCore/Test/LoggingUpdateTests.swift index 51482f54..0ebfd0ea 100644 --- a/MobiusCore/Test/LoggingUpdateTests.swift +++ b/MobiusCore/Test/LoggingUpdateTests.swift @@ -6,7 +6,7 @@ import Nimble import Quick class LoggingUpdateTests: QuickSpec { - override func spec() { + override class func spec() { describe("LoggingUpdate") { var logger: TestMobiusLogger! var loggingUpdate: Update! diff --git a/MobiusCore/Test/MobiusControllerTests.swift b/MobiusCore/Test/MobiusControllerTests.swift index c14a422a..d59e5bb4 100644 --- a/MobiusCore/Test/MobiusControllerTests.swift +++ b/MobiusCore/Test/MobiusControllerTests.swift @@ -10,11 +10,21 @@ import Quick // swiftlint:disable file_length // swiftlint:disable:next type_body_length class MobiusControllerTests: QuickSpec { - let loopQueue = DispatchQueue(label: "loop queue") - let viewQueue = DispatchQueue(label: "view queue") - // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { + let loopQueue = DispatchQueue(label: "loop queue") + let viewQueue = DispatchQueue(label: "view queue") + + let makeSureAllEffectsAndEventsHaveBeenProcessed: () -> Void = { + loopQueue.sync { + // Waiting synchronously for effects to be completed + } + + viewQueue.sync { + // Waiting synchronously for view observations to be completed + } + } + describe("MobiusController") { var controller: MobiusController! var updateFunction: Update! @@ -31,8 +41,7 @@ class MobiusControllerTests: QuickSpec { } beforeEach { - view = RecordingTestConnectable(expectedQueue: self.viewQueue) - let loopQueue = self.loopQueue + view = RecordingTestConnectable(expectedQueue: viewQueue) updateFunction = .init { model, event in dispatchPrecondition(condition: .onQueue(loopQueue)) @@ -57,8 +66,8 @@ class MobiusControllerTests: QuickSpec { .makeController( from: "S", initiate: initiate, - loopQueue: self.loopQueue, - viewQueue: self.viewQueue + loopQueue: loopQueue, + viewQueue: viewQueue ) } @@ -79,7 +88,7 @@ class MobiusControllerTests: QuickSpec { expect(view.recorder.items).toEventually(equal(["S", "S-hey"])) } it("should allow multiple connections") { - let secondaryView = RecordingTestConnectable(expectedQueue: self.viewQueue) + let secondaryView = RecordingTestConnectable(expectedQueue: viewQueue) controller.connectView(view) controller.connectView(secondaryView) @@ -105,13 +114,13 @@ class MobiusControllerTests: QuickSpec { controller.start() view.dispatch("restarted") - self.makeSureAllEffectsAndEventsHaveBeenProcessed() + makeSureAllEffectsAndEventsHaveBeenProcessed() expect(view.recorder.items).toEventually(equal(["S", "S-restarted"])) } it("should retain updated state") { view.dispatch("hi") - self.makeSureAllEffectsAndEventsHaveBeenProcessed() + makeSureAllEffectsAndEventsHaveBeenProcessed() controller.stop() @@ -189,7 +198,7 @@ class MobiusControllerTests: QuickSpec { expect(view.recorder.items).toEventually(equal(["S"])) } it("should allow disconnecting by id") { - let secondaryView = RecordingTestConnectable(expectedQueue: self.viewQueue) + let secondaryView = RecordingTestConnectable(expectedQueue: viewQueue) let connectionID = controller.connectView(view) let secondaryConnectionID = controller.connectView(secondaryView) @@ -198,7 +207,7 @@ class MobiusControllerTests: QuickSpec { controller.disconnectView(id: secondaryConnectionID) } it("should not send events to a disconnected view") { - let disconnectedView = RecordingTestConnectable(expectedQueue: self.viewQueue) + let disconnectedView = RecordingTestConnectable(expectedQueue: viewQueue) controller.connectView(disconnectedView) controller.disconnectView() @@ -230,7 +239,7 @@ class MobiusControllerTests: QuickSpec { describe("multiple view connections") { it("should not allow disconnecting without a connection id") { - let secondaryView = RecordingTestConnectable(expectedQueue: self.viewQueue) + let secondaryView = RecordingTestConnectable(expectedQueue: viewQueue) controller.connectView(view) controller.connectView(secondaryView) @@ -238,7 +247,7 @@ class MobiusControllerTests: QuickSpec { expect(controller.disconnectView()).to(raiseError()) } it("should not allow disconnecting an invalid connection id") { - let secondaryView = RecordingTestConnectable(expectedQueue: self.viewQueue) + let secondaryView = RecordingTestConnectable(expectedQueue: viewQueue) controller.connectView(view) controller.connectView(secondaryView) @@ -339,7 +348,7 @@ class MobiusControllerTests: QuickSpec { controller.start() view.dispatch("the last event") - self.makeSureAllEffectsAndEventsHaveBeenProcessed() + makeSureAllEffectsAndEventsHaveBeenProcessed() controller.stop() @@ -393,8 +402,8 @@ class MobiusControllerTests: QuickSpec { .makeController( from: "S", initiate: initiate, - loopQueue: self.loopQueue, - viewQueue: self.viewQueue + loopQueue: loopQueue, + viewQueue: viewQueue ) controller.connectView(view) controller.start() @@ -430,8 +439,8 @@ class MobiusControllerTests: QuickSpec { .makeController( from: "S", initiate: initiate, - loopQueue: self.loopQueue, - viewQueue: self.viewQueue + loopQueue: loopQueue, + viewQueue: viewQueue ) controller.connectView(view) controller.start() @@ -456,13 +465,13 @@ class MobiusControllerTests: QuickSpec { effectObserver = MockConnectable() controller = Mobius .loop(update: Update { model, _ in .next(model) }, effectHandler: effectObserver) - .makeController(from: NSObject(), loopQueue: self.loopQueue, viewQueue: self.viewQueue) + .makeController(from: NSObject(), loopQueue: loopQueue, viewQueue: viewQueue) controller.connectView(modelObserver) controller.start() } it("should release any references to the loop") { - self.makeSureAllEffectsAndEventsHaveBeenProcessed() + makeSureAllEffectsAndEventsHaveBeenProcessed() controller.stop() controller.disconnectView() controller = nil @@ -471,16 +480,6 @@ class MobiusControllerTests: QuickSpec { } } } - - func makeSureAllEffectsAndEventsHaveBeenProcessed() { - loopQueue.sync { - // Waiting synchronously for effects to be completed - } - - viewQueue.sync { - // Waiting synchronously for view observations to be completed - } - } } class MockConnectable: Connectable { diff --git a/MobiusCore/Test/MobiusHooksTests.swift b/MobiusCore/Test/MobiusHooksTests.swift index f95a4403..be9d226a 100644 --- a/MobiusCore/Test/MobiusHooksTests.swift +++ b/MobiusCore/Test/MobiusHooksTests.swift @@ -7,7 +7,7 @@ import Nimble import Quick class MobiusHooksTests: QuickSpec { - override func spec() { + override class func spec() { let someString = UUID().uuidString describe("MobiusHooks") { diff --git a/MobiusCore/Test/MobiusIntegrationTests.swift b/MobiusCore/Test/MobiusIntegrationTests.swift index 3d8f9a1f..e53e642f 100644 --- a/MobiusCore/Test/MobiusIntegrationTests.swift +++ b/MobiusCore/Test/MobiusIntegrationTests.swift @@ -9,7 +9,7 @@ import Quick // Should only test public APIs class MobiusIntegrationTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("Mobius integration tests") { let update = Update { _, event in switch event { diff --git a/MobiusCore/Test/MobiusLoopTests.swift b/MobiusCore/Test/MobiusLoopTests.swift index 42900011..fcdab10e 100644 --- a/MobiusCore/Test/MobiusLoopTests.swift +++ b/MobiusCore/Test/MobiusLoopTests.swift @@ -8,7 +8,7 @@ import Quick class MobiusLoopTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("MobiusLoop") { var builder: Mobius.Builder! var loop: MobiusLoop! diff --git a/MobiusCore/Test/NextTests.swift b/MobiusCore/Test/NextTests.swift index e1138b34..cf001e70 100644 --- a/MobiusCore/Test/NextTests.swift +++ b/MobiusCore/Test/NextTests.swift @@ -14,7 +14,7 @@ class NextTests: QuickSpec { private struct UnexpectedCase: Error {} // swiftlint:disable function_body_length - override func spec() { + override class func spec() { describe("Next") { var sut: Next! diff --git a/MobiusCore/Test/NonReentrancyTests.swift b/MobiusCore/Test/NonReentrancyTests.swift index bf1b365f..08461459 100644 --- a/MobiusCore/Test/NonReentrancyTests.swift +++ b/MobiusCore/Test/NonReentrancyTests.swift @@ -27,7 +27,7 @@ private enum Effect: String, CustomStringConvertible, Equatable { class NonReentrancyTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("MobiusLoop") { var loop: MobiusLoop! var messages: [String]! diff --git a/MobiusCore/Test/Task+DisposableTests.swift b/MobiusCore/Test/Task+DisposableTests.swift index 642bcd72..4d1bc764 100644 --- a/MobiusCore/Test/Task+DisposableTests.swift +++ b/MobiusCore/Test/Task+DisposableTests.swift @@ -7,7 +7,7 @@ import Quick @available(iOS 13.0, *) class TaskDisposableTests: QuickSpec { - override func spec() { + override class func spec() { describe("Task+Disposable") { var task: Task! var disposable: Disposable! diff --git a/MobiusCore/Test/WorkBagTests.swift b/MobiusCore/Test/WorkBagTests.swift index f5bef516..57adf6fc 100644 --- a/MobiusCore/Test/WorkBagTests.swift +++ b/MobiusCore/Test/WorkBagTests.swift @@ -7,7 +7,7 @@ import Quick class WorkBagTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("WorkBag") { var workBag: WorkBag! var results: Set! diff --git a/MobiusExtras/Test/ConnectableClassTests.swift b/MobiusExtras/Test/ConnectableClassTests.swift index 3596b547..231ae3ae 100644 --- a/MobiusExtras/Test/ConnectableClassTests.swift +++ b/MobiusExtras/Test/ConnectableClassTests.swift @@ -10,7 +10,7 @@ import Quick class ConnectableTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("ConnectableClass") { beforeEach { MobiusHooks.setErrorHandler { message, file, line in diff --git a/MobiusExtras/Test/ConnectableContramapTests.swift b/MobiusExtras/Test/ConnectableContramapTests.swift index 36bc034f..f9f3c375 100644 --- a/MobiusExtras/Test/ConnectableContramapTests.swift +++ b/MobiusExtras/Test/ConnectableContramapTests.swift @@ -7,7 +7,7 @@ import Nimble import Quick class ConnectableContramapTests: QuickSpec { - override func spec() { + override class func spec() { describe("ConnectableContramap") { var connectable: AnyConnectable! var contramapped: AnyConnectable! diff --git a/MobiusExtras/Test/ConnectableMapTests.swift b/MobiusExtras/Test/ConnectableMapTests.swift index 8b811de5..64f67816 100644 --- a/MobiusExtras/Test/ConnectableMapTests.swift +++ b/MobiusExtras/Test/ConnectableMapTests.swift @@ -7,7 +7,7 @@ import Nimble import Quick class ConnectableMapTests: QuickSpec { - override func spec() { + override class func spec() { context("Connectable Map") { it("applies the `transform` function to the output") { var output: [Int?] = [] diff --git a/MobiusExtras/Test/CopyableTests.swift b/MobiusExtras/Test/CopyableTests.swift index 3086e8f6..ceeaa69f 100644 --- a/MobiusExtras/Test/CopyableTests.swift +++ b/MobiusExtras/Test/CopyableTests.swift @@ -12,7 +12,7 @@ class CopyableTests: QuickSpec { } // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("Copyable") { var model: Model! diff --git a/MobiusExtras/Test/EventSource+ExtensionsTests.swift b/MobiusExtras/Test/EventSource+ExtensionsTests.swift index 9d3e5563..82404354 100644 --- a/MobiusExtras/Test/EventSource+ExtensionsTests.swift +++ b/MobiusExtras/Test/EventSource+ExtensionsTests.swift @@ -8,7 +8,7 @@ import Quick class EventSourceExtensionsTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("EventSource") { var subscribedIntConsumer: ((Int) -> Void)? var intEventSource: AnyEventSource! diff --git a/MobiusNimble/Test/NimbleFirstMatchersTests.swift b/MobiusNimble/Test/NimbleFirstMatchersTests.swift index db266f04..78a71771 100644 --- a/MobiusNimble/Test/NimbleFirstMatchersTests.swift +++ b/MobiusNimble/Test/NimbleFirstMatchersTests.swift @@ -11,7 +11,7 @@ import XCTest // swiftlint:disable:next type_body_length class NimbleFirstMatchersTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { let assertionHandler = AssertionRecorder() var defaultHandler: AssertionHandler? diff --git a/MobiusNimble/Test/NimbleNextMatchersTests.swift b/MobiusNimble/Test/NimbleNextMatchersTests.swift index e0b9740f..b3d94a4d 100644 --- a/MobiusNimble/Test/NimbleNextMatchersTests.swift +++ b/MobiusNimble/Test/NimbleNextMatchersTests.swift @@ -15,7 +15,7 @@ import XCTest // swiftlint:disable:next type_body_length class NimbleNextMatchersTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { let assertionHandler = AssertionRecorder() var defaultHandler: AssertionHandler? diff --git a/MobiusTest/Test/DebugDiffTests.swift b/MobiusTest/Test/DebugDiffTests.swift index b8078c24..750f3fa5 100644 --- a/MobiusTest/Test/DebugDiffTests.swift +++ b/MobiusTest/Test/DebugDiffTests.swift @@ -18,7 +18,7 @@ enum TestEnum: Equatable { // swiftlint:disable:next type_body_length class DebugDiffTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("DumpDiff") { var diff: String? diff --git a/MobiusTest/Test/FirstMatchersTests.swift b/MobiusTest/Test/FirstMatchersTests.swift index d07c6faf..8d0c1bac 100644 --- a/MobiusTest/Test/FirstMatchersTests.swift +++ b/MobiusTest/Test/FirstMatchersTests.swift @@ -8,7 +8,7 @@ import Quick class FirstMatchersTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("assertThatFirst") { var failureMessages: [String] = [] let model = "3" diff --git a/MobiusTest/Test/InitSpecTests.swift b/MobiusTest/Test/InitSpecTests.swift index f480b9c5..1d2b4d5d 100644 --- a/MobiusTest/Test/InitSpecTests.swift +++ b/MobiusTest/Test/InitSpecTests.swift @@ -8,7 +8,7 @@ import Nimble import Quick class InitSpecTests: QuickSpec { - override func spec() { + override class func spec() { describe("InitSpec") { context("when setting up a test scenario") { var initiate: Initiate! diff --git a/MobiusTest/Test/NextMatchersTests.swift b/MobiusTest/Test/NextMatchersTests.swift index 1564d30b..f21cb73a 100644 --- a/MobiusTest/Test/NextMatchersTests.swift +++ b/MobiusTest/Test/NextMatchersTests.swift @@ -14,7 +14,7 @@ import XCTest // swiftlint:disable:next type_body_length class XCTestNextMatchersTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { describe("AssertThatNext") { var failMessages: [String] = [] diff --git a/MobiusTest/Test/UpdateSpecTests.swift b/MobiusTest/Test/UpdateSpecTests.swift index 8fe95ffc..8e1e82f7 100644 --- a/MobiusTest/Test/UpdateSpecTests.swift +++ b/MobiusTest/Test/UpdateSpecTests.swift @@ -26,7 +26,7 @@ enum MyEffect { class UpdateSpecTests: QuickSpec { // swiftlint:disable:next function_body_length - override func spec() { + override class func spec() { let updateSpec = UpdateSpec(myUpdate) describe("UpdateSpec") { @@ -95,7 +95,7 @@ class UpdateSpecTests: QuickSpec { } } - let myUpdate = Update { model, event in + static let myUpdate = Update { model, event in switch event { case .didTapButton: return Next.next(MyModel(buttonClicked: !model.buttonClicked, count: model.count + 1)) @@ -106,7 +106,7 @@ class UpdateSpecTests: QuickSpec { } // stolen from Nimble's internal test helper util.swift -private func failsWithErrorMessage(_ messages: [String], file: FileString = #file, line: UInt = #line, preferOriginalSourceLocation: Bool = false, closure: @escaping () throws -> Void) { +private func failsWithErrorMessage(_ messages: [String], file: StaticString = #file, line: UInt = #line, preferOriginalSourceLocation: Bool = false, closure: @escaping () throws -> Void) { var filePath = file var lineNumber = line @@ -147,7 +147,7 @@ private func failsWithErrorMessage(_ messages: [String], file: FileString = #fil } } -private func failsWithErrorMessage(_ message: String, file: FileString = #file, line: UInt = #line, preferOriginalSourceLocation: Bool = false, closure: @escaping () -> Void) { +private func failsWithErrorMessage(_ message: String, file: StaticString = #file, line: UInt = #line, preferOriginalSourceLocation: Bool = false, closure: @escaping () -> Void) { return failsWithErrorMessage( [message], file: file, diff --git a/Package.resolved b/Package.resolved index 02e00ab7..29359db1 100644 --- a/Package.resolved +++ b/Package.resolved @@ -33,8 +33,26 @@ "repositoryURL": "https://github.com/Quick/Quick", "state": { "branch": null, - "revision": "f9d519828bb03dfc8125467d8f7b93131951124c", - "version": "5.0.1" + "revision": "1163a1b1b114a657c7432b63dd1f92ce99fe11a6", + "version": "7.6.2" + } + }, + { + "package": "swift-algorithms", + "repositoryURL": "https://github.com/apple/swift-algorithms.git", + "state": { + "branch": null, + "revision": "87e50f483c54e6efd60e885f7f5aa946cee68023", + "version": "1.2.1" + } + }, + { + "package": "swift-argument-parser", + "repositoryURL": "https://github.com/apple/swift-argument-parser.git", + "state": { + "branch": null, + "revision": "309a47b2b1d9b5e991f36961c983ecec72275be3", + "version": "1.6.1" } }, { @@ -45,6 +63,15 @@ "revision": "bb436421f57269fbcfe7360735985321585a86e5", "version": "0.10.1" } + }, + { + "package": "swift-numerics", + "repositoryURL": "https://github.com/apple/swift-numerics.git", + "state": { + "branch": null, + "revision": "e0ec0f5f3af6f3e4d5e7a19d2af26b481acb6ba8", + "version": "1.0.3" + } } ] }, diff --git a/Package.swift b/Package.swift index 0a1f6697..1d8d3ac1 100644 --- a/Package.swift +++ b/Package.swift @@ -18,7 +18,7 @@ let package = Package( dependencies: [ .package(url: "https://github.com/pointfreeco/swift-case-paths", .upToNextMinor(from: "0.10.1")), .package(url: "https://github.com/Quick/Nimble", from: "10.0.0"), - .package(url: "https://github.com/Quick/Quick", from: "5.0.1"), + .package(url: "https://github.com/Quick/Quick", from: "7.0.0"), ], targets: [ .target(name: "MobiusCore", dependencies: ["CasePaths"], path: "MobiusCore/Source"),