diff --git a/Package.swift b/Package.swift index c51358d41..304565406 100644 --- a/Package.swift +++ b/Package.swift @@ -29,7 +29,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/ReactiveCocoa/ReactiveSwift.git", from: "6.3.0"), - .package(url: "https://github.com/nicklockwood/SwiftFormat", from: "0.44.14"), + .package(url: "https://github.com/nicklockwood/SwiftFormat", .exact("0.44.14")), ], targets: [ .target( diff --git a/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListScreen.swift b/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListScreen.swift index c3f1bdac2..2e532ba10 100644 --- a/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListScreen.swift +++ b/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListScreen.swift @@ -14,9 +14,9 @@ * limitations under the License. */ +import TutorialViews import Workflow import WorkflowUI -import TutorialViews struct TodoListScreen: Screen { // The titles of the todo items diff --git a/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListWorkflow.swift b/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListWorkflow.swift index 3b7a4789b..6dab64849 100644 --- a/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListWorkflow.swift +++ b/Samples/Tutorial/Frameworks/Tutorial3Complete/Sources/Todo/List/TodoListWorkflow.swift @@ -53,7 +53,7 @@ extension TodoListWorkflow { TodoModel( title: "Take the cat for a walk", note: "Cats really need their outside sunshine time. Don't forget to walk Charlie. Hamilton is less excited about the prospect." - ) + ), ], step: .list ) diff --git a/Samples/Tutorial/Frameworks/Tutorial4Complete/Sources/Todo/TodoWorkflow.swift b/Samples/Tutorial/Frameworks/Tutorial4Complete/Sources/Todo/TodoWorkflow.swift index af6c46fb2..acb67870f 100644 --- a/Samples/Tutorial/Frameworks/Tutorial4Complete/Sources/Todo/TodoWorkflow.swift +++ b/Samples/Tutorial/Frameworks/Tutorial4Complete/Sources/Todo/TodoWorkflow.swift @@ -52,7 +52,7 @@ extension TodoWorkflow { TodoModel( title: "Take the cat for a walk", note: "Cats really need their outside sunshine time. Don't forget to walk Charlie. Hamilton is less excited about the prospect." - ) + ), ], step: .list ) diff --git a/Samples/Tutorial/Frameworks/Tutorial5Complete/Sources/Todo/TodoWorkflow.swift b/Samples/Tutorial/Frameworks/Tutorial5Complete/Sources/Todo/TodoWorkflow.swift index e220d1d59..8df6427c7 100644 --- a/Samples/Tutorial/Frameworks/Tutorial5Complete/Sources/Todo/TodoWorkflow.swift +++ b/Samples/Tutorial/Frameworks/Tutorial5Complete/Sources/Todo/TodoWorkflow.swift @@ -52,7 +52,7 @@ extension TodoWorkflow { TodoModel( title: "Take the cat for a walk", note: "Cats really need their outside sunshine time. Don't forget to walk Charlie. Hamilton is less excited about the prospect." - ) + ), ], step: .list ) @@ -106,7 +106,7 @@ extension TodoWorkflow { case .discardChanges: // When a discard action is received, return to the list. state.step = .list - + case .saveChanges(todo: let todo, index: let index): // When changes are saved, update the state of that `todo` item and return to the list. state.todos[index] = todo diff --git a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/RootWorkflowTests.swift b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/RootWorkflowTests.swift index a402d88d7..66151845b 100644 --- a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/RootWorkflowTests.swift +++ b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/RootWorkflowTests.swift @@ -177,20 +177,17 @@ class RootWorkflowTests: XCTestCase { // Save the changes by tapping the right bar button. // This also validates that the navigation bar was described as expected. switch backStack.items[2].barVisibility { - case .hidden: XCTFail("Expected a visible navigation bar") case .visible(let barContent): switch barContent.rightItem { - case .none: XCTFail("Expected a right bar button") case .button(let button): switch button.content { - case .text(let text): XCTAssertEqual("Save", text) diff --git a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoEditWorkflowTests.swift b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoEditWorkflowTests.swift index ef564b56b..4b89524ca 100644 --- a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoEditWorkflowTests.swift +++ b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoEditWorkflowTests.swift @@ -48,7 +48,7 @@ class TodoEditWorkflowTests: XCTestCase { .verifyOutput { output in switch output { case .discard: - break // Expected + break // Expected default: XCTFail("Expected an output of `.discard`") } diff --git a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoListWorkflowTests.swift b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoListWorkflowTests.swift index d2baf7cf1..c036ff64d 100644 --- a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoListWorkflowTests.swift +++ b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoListWorkflowTests.swift @@ -27,7 +27,7 @@ class TodoListWorkflowTests: XCTestCase { // The `.onBack` action should emit an output of `.back`. switch output { case .back: - break // Expected + break // Expected default: XCTFail("Expected an output of `.back`") } @@ -47,7 +47,7 @@ class TodoListWorkflowTests: XCTestCase { // The `.new` action should emit a `.newTodo` output. switch output { case .newTodo: - break // Expected + break // Expected default: XCTFail("Expected an output of `.newTodo`") } diff --git a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoWorkflowTests.swift b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoWorkflowTests.swift index 73f81822e..32ddd55f1 100644 --- a/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoWorkflowTests.swift +++ b/Samples/Tutorial/Frameworks/Tutorial5Complete/Tests/TodoWorkflowTests.swift @@ -32,24 +32,24 @@ class TodoWorkflowTests: XCTestCase { step: .list )) // We only expect the TodoListWorkflow to be rendered. - .expectWorkflow( - type: TodoListWorkflow.self, - producingRendering: BackStackScreen.Item( - screen: TodoListScreen(todoTitles: ["Title"], onTodoSelected: { _ in }).asAnyScreen() - ), - // Simulate selecting the first todo. - producingOutput: .selectTodo(index: 0) - ) - .render { items in - // Just validate that there is one item in the back stack. - // Additional validation could be done on the screens returned, if desired. - XCTAssertEqual(1, items.count) - } - // Assert that the state was updated after the render pass with the output from the TodoListWorkflow. - .assert(state: TodoWorkflow.State( - todos: [TodoModel(title: "Title", note: "Note")], - step: .edit(index: 0) - )) + .expectWorkflow( + type: TodoListWorkflow.self, + producingRendering: BackStackScreen.Item( + screen: TodoListScreen(todoTitles: ["Title"], onTodoSelected: { _ in }).asAnyScreen() + ), + // Simulate selecting the first todo. + producingOutput: .selectTodo(index: 0) + ) + .render { items in + // Just validate that there is one item in the back stack. + // Additional validation could be done on the screens returned, if desired. + XCTAssertEqual(1, items.count) + } + // Assert that the state was updated after the render pass with the output from the TodoListWorkflow. + .assert(state: TodoWorkflow.State( + todos: [TodoModel(title: "Title", note: "Note")], + step: .edit(index: 0) + )) } func testSavingTodo() throws { diff --git a/WorkflowRxSwift.podspec b/WorkflowRxSwift.podspec index 23c951eca..29aa8a8a8 100644 --- a/WorkflowRxSwift.podspec +++ b/WorkflowRxSwift.podspec @@ -19,8 +19,8 @@ Pod::Spec.new do |s| s.source_files = 'WorkflowRxSwift/Sources/**/*.swift' s.dependency 'Workflow', "#{s.version}" - s.dependency 'RxSwift', '>= 4.4.0' - s.dependency 'RxAtomic', '>= 4.4.0' + s.dependency 'RxSwift', '~> 4.4.0' + s.dependency 'RxAtomic', '~> 4.4.0' s.test_spec 'Tests' do |test_spec| test_spec.source_files = 'WorkflowRxSwift/Tests/**/*.swift'