Skip to content

Commit f1c1a20

Browse files
committed
Add tests to WorkflowCombineSampleApp
1 parent c00fecc commit f1c1a20

File tree

8 files changed

+251
-3
lines changed

8 files changed

+251
-3
lines changed

Diff for: Samples/WorkflowCombineSampleApp/Podfile

+9
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,13 @@ target 'WorkflowCombineSampleApp' do
66
pod 'WorkflowUI', path: '../../WorkflowUI.podspec', :testspecs => ['Tests']
77
pod 'WorkflowCombine', path: '../../WorkflowCombine.podspec'
88
pod 'WorkflowReactiveSwift', path: '../../WorkflowReactiveSwift.podspec', :testspecs => ['Tests']
9+
10+
target 'WorkflowCombineSampleAppUnitTests' do
11+
inherit! :search_paths
12+
13+
pod 'Workflow', path: '../../Workflow.podspec', :testspecs => ['Tests']
14+
pod 'WorkflowCombine', path: '../../WorkflowCombine.podspec'
15+
pod 'WorkflowReactiveSwift', path: '../../WorkflowReactiveSwift.podspec', :testspecs => ['Tests']
16+
pod 'WorkflowUI', path: '../../WorkflowUI.podspec', :testspecs => ['Tests']
17+
end
918
end

Diff for: Samples/WorkflowCombineSampleApp/Podfile.lock

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ SPEC CHECKSUMS:
5353
WorkflowTesting: ff584e427bda8491285deb97db14182925d1e4f4
5454
WorkflowUI: 0e3b93590dc2e58a93f300a47e5c8e81b501ef36
5555

56-
PODFILE CHECKSUM: 59f19f06532469f70596f7954b3f8fe590c38ef1
56+
PODFILE CHECKSUM: 0a8cc7b6b118ae7091c5f1104b8d8cbffe43c04f
5757

5858
COCOAPODS: 1.9.1

Diff for: Samples/WorkflowCombineSampleApp/README.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
This sample project utilizes the WorkflowCombine library to demonstrate its usage in a `Workflow`. It is a simple app with a label that updates the current date & time every second.
2+
3+
# Usage
4+
5+
The api design is identical to that of the current `WorkflowReactiveSwift` library, so to migrate your `Worker`s to use the `WorkflowCombine` library, all you should have to do is to switch the library import statement, as well
6+
7+
8+
### Notes
9+
10+
This library does **not** remove the usage of the `ReactiveSwift` library from the `Workflow` library. Currently the `Workflow` implementation is tightly coupled with `ReactiveSwift`, and this library is only limited to the `Worker`. Therefore, when utilizing both the existing `Workflow` and the new `Combine` backed `Worker` , you will need to utilize both the `ReactiveSwift` and `Combine` libraries.

Diff for: Samples/WorkflowCombineSampleApp/WorkflowCombineSampleApp.xcodeproj/project.pbxproj

+162
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
765F2E2D94C8090C834913C7 /* libPods-WorkflowCombineSampleAppUnitTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B3BB606C2D22FA463DF9FE9 /* libPods-WorkflowCombineSampleAppUnitTests.a */; };
1011
9A8259C8C723B39466D03271 /* libPods-WorkflowCombineSampleApp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FB177673F3D3F7E40B2E3F52 /* libPods-WorkflowCombineSampleApp.a */; };
12+
F9148E582730496400A2A822 /* WorkflowCombineSampleAppUnitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F9148E572730496400A2A822 /* WorkflowCombineSampleAppUnitTests.swift */; };
1113
F91FC5E1272B5EF000F19C3D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91FC5E0272B5EF000F19C3D /* AppDelegate.swift */; };
1214
F91FC5E3272B5EF000F19C3D /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91FC5E2272B5EF000F19C3D /* SceneDelegate.swift */; };
1315
F91FC5E5272B5EF000F19C3D /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91FC5E4272B5EF000F19C3D /* ViewController.swift */; };
@@ -19,9 +21,27 @@
1921
F91FC5F9272B5FBB00F19C3D /* DemoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F91FC5F8272B5FBB00F19C3D /* DemoViewController.swift */; };
2022
/* End PBXBuildFile section */
2123

24+
/* Begin PBXContainerItemProxy section */
25+
F9148E5A2730496400A2A822 /* PBXContainerItemProxy */ = {
26+
isa = PBXContainerItemProxy;
27+
containerPortal = F91FC5D5272B5EF000F19C3D /* Project object */;
28+
proxyType = 1;
29+
remoteGlobalIDString = F91FC5DC272B5EF000F19C3D;
30+
remoteInfo = WorkflowCombineSampleApp;
31+
};
32+
/* End PBXContainerItemProxy section */
33+
2234
/* Begin PBXFileReference section */
35+
5B3BB606C2D22FA463DF9FE9 /* libPods-WorkflowCombineSampleAppUnitTests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-WorkflowCombineSampleAppUnitTests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
36+
6EC8006ECC2D615830927194 /* Pods-WorkflowCombineSampleAppUnitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WorkflowCombineSampleAppUnitTests.release.xcconfig"; path = "Target Support Files/Pods-WorkflowCombineSampleAppUnitTests/Pods-WorkflowCombineSampleAppUnitTests.release.xcconfig"; sourceTree = "<group>"; };
2337
9CD0CAA819EECAD20D89C730 /* Pods-WorkflowCombineSampleApp.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WorkflowCombineSampleApp.debug.xcconfig"; path = "Target Support Files/Pods-WorkflowCombineSampleApp/Pods-WorkflowCombineSampleApp.debug.xcconfig"; sourceTree = "<group>"; };
38+
CD5C74CDD3F93E878B7A7ED3 /* Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.debug.xcconfig"; path = "Target Support Files/Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests/Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.debug.xcconfig"; sourceTree = "<group>"; };
39+
D83DC771AA69FE4772B1ADD3 /* Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.release.xcconfig"; path = "Target Support Files/Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests/Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.release.xcconfig"; sourceTree = "<group>"; };
2440
DCBB19D1BA1D3E7BDFA35AAC /* Pods-WorkflowCombineSampleApp.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WorkflowCombineSampleApp.release.xcconfig"; path = "Target Support Files/Pods-WorkflowCombineSampleApp/Pods-WorkflowCombineSampleApp.release.xcconfig"; sourceTree = "<group>"; };
41+
DE091C17D6BFBA3117FD439A /* Pods-WorkflowCombineSampleAppUnitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WorkflowCombineSampleAppUnitTests.debug.xcconfig"; path = "Target Support Files/Pods-WorkflowCombineSampleAppUnitTests/Pods-WorkflowCombineSampleAppUnitTests.debug.xcconfig"; sourceTree = "<group>"; };
42+
F9148E552730496400A2A822 /* WorkflowCombineSampleAppUnitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WorkflowCombineSampleAppUnitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
43+
F9148E572730496400A2A822 /* WorkflowCombineSampleAppUnitTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkflowCombineSampleAppUnitTests.swift; sourceTree = "<group>"; };
44+
F9148E592730496400A2A822 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2545
F91FC5DD272B5EF000F19C3D /* WorkflowCombineSampleApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WorkflowCombineSampleApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
2646
F91FC5E0272B5EF000F19C3D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
2747
F91FC5E2272B5EF000F19C3D /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
@@ -37,6 +57,14 @@
3757
/* End PBXFileReference section */
3858

3959
/* Begin PBXFrameworksBuildPhase section */
60+
F9148E522730496400A2A822 /* Frameworks */ = {
61+
isa = PBXFrameworksBuildPhase;
62+
buildActionMask = 2147483647;
63+
files = (
64+
765F2E2D94C8090C834913C7 /* libPods-WorkflowCombineSampleAppUnitTests.a in Frameworks */,
65+
);
66+
runOnlyForDeploymentPostprocessing = 0;
67+
};
4068
F91FC5DA272B5EF000F19C3D /* Frameworks */ = {
4169
isa = PBXFrameworksBuildPhase;
4270
buildActionMask = 2147483647;
@@ -52,6 +80,7 @@
5280
isa = PBXGroup;
5381
children = (
5482
FB177673F3D3F7E40B2E3F52 /* libPods-WorkflowCombineSampleApp.a */,
83+
5B3BB606C2D22FA463DF9FE9 /* libPods-WorkflowCombineSampleAppUnitTests.a */,
5584
);
5685
name = Frameworks;
5786
sourceTree = "<group>";
@@ -61,14 +90,28 @@
6190
children = (
6291
9CD0CAA819EECAD20D89C730 /* Pods-WorkflowCombineSampleApp.debug.xcconfig */,
6392
DCBB19D1BA1D3E7BDFA35AAC /* Pods-WorkflowCombineSampleApp.release.xcconfig */,
93+
DE091C17D6BFBA3117FD439A /* Pods-WorkflowCombineSampleAppUnitTests.debug.xcconfig */,
94+
6EC8006ECC2D615830927194 /* Pods-WorkflowCombineSampleAppUnitTests.release.xcconfig */,
95+
CD5C74CDD3F93E878B7A7ED3 /* Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.debug.xcconfig */,
96+
D83DC771AA69FE4772B1ADD3 /* Pods-WorkflowCombineSampleApp-WorkflowCombineSampleAppUnitTests.release.xcconfig */,
6497
);
6598
path = Pods;
6699
sourceTree = "<group>";
67100
};
101+
F9148E562730496400A2A822 /* WorkflowCombineSampleAppUnitTests */ = {
102+
isa = PBXGroup;
103+
children = (
104+
F9148E572730496400A2A822 /* WorkflowCombineSampleAppUnitTests.swift */,
105+
F9148E592730496400A2A822 /* Info.plist */,
106+
);
107+
path = WorkflowCombineSampleAppUnitTests;
108+
sourceTree = "<group>";
109+
};
68110
F91FC5D4272B5EF000F19C3D = {
69111
isa = PBXGroup;
70112
children = (
71113
F91FC5DF272B5EF000F19C3D /* WorkflowCombineSampleApp */,
114+
F9148E562730496400A2A822 /* WorkflowCombineSampleAppUnitTests */,
72115
F91FC5DE272B5EF000F19C3D /* Products */,
73116
5B949144518AC7D6FECAFCBF /* Pods */,
74117
2301A5C693F40633B788F033 /* Frameworks */,
@@ -79,6 +122,7 @@
79122
isa = PBXGroup;
80123
children = (
81124
F91FC5DD272B5EF000F19C3D /* WorkflowCombineSampleApp.app */,
125+
F9148E552730496400A2A822 /* WorkflowCombineSampleAppUnitTests.xctest */,
82126
);
83127
name = Products;
84128
sourceTree = "<group>";
@@ -103,6 +147,25 @@
103147
/* End PBXGroup section */
104148

105149
/* Begin PBXNativeTarget section */
150+
F9148E542730496400A2A822 /* WorkflowCombineSampleAppUnitTests */ = {
151+
isa = PBXNativeTarget;
152+
buildConfigurationList = F9148E5E2730496400A2A822 /* Build configuration list for PBXNativeTarget "WorkflowCombineSampleAppUnitTests" */;
153+
buildPhases = (
154+
910F3B6833A2504DA2EEA54D /* [CP] Check Pods Manifest.lock */,
155+
F9148E512730496400A2A822 /* Sources */,
156+
F9148E522730496400A2A822 /* Frameworks */,
157+
F9148E532730496400A2A822 /* Resources */,
158+
);
159+
buildRules = (
160+
);
161+
dependencies = (
162+
F9148E5B2730496400A2A822 /* PBXTargetDependency */,
163+
);
164+
name = WorkflowCombineSampleAppUnitTests;
165+
productName = WorkflowCombineSampleAppUnitTests;
166+
productReference = F9148E552730496400A2A822 /* WorkflowCombineSampleAppUnitTests.xctest */;
167+
productType = "com.apple.product-type.bundle.unit-test";
168+
};
106169
F91FC5DC272B5EF000F19C3D /* WorkflowCombineSampleApp */ = {
107170
isa = PBXNativeTarget;
108171
buildConfigurationList = F91FC5F1272B5EF700F19C3D /* Build configuration list for PBXNativeTarget "WorkflowCombineSampleApp" */;
@@ -130,6 +193,10 @@
130193
LastSwiftUpdateCheck = 1250;
131194
LastUpgradeCheck = 1250;
132195
TargetAttributes = {
196+
F9148E542730496400A2A822 = {
197+
CreatedOnToolsVersion = 12.5.1;
198+
TestTargetID = F91FC5DC272B5EF000F19C3D;
199+
};
133200
F91FC5DC272B5EF000F19C3D = {
134201
CreatedOnToolsVersion = 12.5.1;
135202
};
@@ -149,11 +216,19 @@
149216
projectRoot = "";
150217
targets = (
151218
F91FC5DC272B5EF000F19C3D /* WorkflowCombineSampleApp */,
219+
F9148E542730496400A2A822 /* WorkflowCombineSampleAppUnitTests */,
152220
);
153221
};
154222
/* End PBXProject section */
155223

156224
/* Begin PBXResourcesBuildPhase section */
225+
F9148E532730496400A2A822 /* Resources */ = {
226+
isa = PBXResourcesBuildPhase;
227+
buildActionMask = 2147483647;
228+
files = (
229+
);
230+
runOnlyForDeploymentPostprocessing = 0;
231+
};
157232
F91FC5DB272B5EF000F19C3D /* Resources */ = {
158233
isa = PBXResourcesBuildPhase;
159234
buildActionMask = 2147483647;
@@ -167,6 +242,28 @@
167242
/* End PBXResourcesBuildPhase section */
168243

169244
/* Begin PBXShellScriptBuildPhase section */
245+
910F3B6833A2504DA2EEA54D /* [CP] Check Pods Manifest.lock */ = {
246+
isa = PBXShellScriptBuildPhase;
247+
buildActionMask = 2147483647;
248+
files = (
249+
);
250+
inputFileListPaths = (
251+
);
252+
inputPaths = (
253+
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
254+
"${PODS_ROOT}/Manifest.lock",
255+
);
256+
name = "[CP] Check Pods Manifest.lock";
257+
outputFileListPaths = (
258+
);
259+
outputPaths = (
260+
"$(DERIVED_FILE_DIR)/Pods-WorkflowCombineSampleAppUnitTests-checkManifestLockResult.txt",
261+
);
262+
runOnlyForDeploymentPostprocessing = 0;
263+
shellPath = /bin/sh;
264+
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
265+
showEnvVarsInLog = 0;
266+
};
170267
BC8BD4A8482F12EE585D17CE /* [CP] Check Pods Manifest.lock */ = {
171268
isa = PBXShellScriptBuildPhase;
172269
buildActionMask = 2147483647;
@@ -192,6 +289,14 @@
192289
/* End PBXShellScriptBuildPhase section */
193290

194291
/* Begin PBXSourcesBuildPhase section */
292+
F9148E512730496400A2A822 /* Sources */ = {
293+
isa = PBXSourcesBuildPhase;
294+
buildActionMask = 2147483647;
295+
files = (
296+
F9148E582730496400A2A822 /* WorkflowCombineSampleAppUnitTests.swift in Sources */,
297+
);
298+
runOnlyForDeploymentPostprocessing = 0;
299+
};
195300
F91FC5D9272B5EF000F19C3D /* Sources */ = {
196301
isa = PBXSourcesBuildPhase;
197302
buildActionMask = 2147483647;
@@ -207,6 +312,14 @@
207312
};
208313
/* End PBXSourcesBuildPhase section */
209314

315+
/* Begin PBXTargetDependency section */
316+
F9148E5B2730496400A2A822 /* PBXTargetDependency */ = {
317+
isa = PBXTargetDependency;
318+
target = F91FC5DC272B5EF000F19C3D /* WorkflowCombineSampleApp */;
319+
targetProxy = F9148E5A2730496400A2A822 /* PBXContainerItemProxy */;
320+
};
321+
/* End PBXTargetDependency section */
322+
210323
/* Begin PBXVariantGroup section */
211324
F91FC5E6272B5EF000F19C3D /* Main.storyboard */ = {
212325
isa = PBXVariantGroup;
@@ -227,6 +340,46 @@
227340
/* End PBXVariantGroup section */
228341

229342
/* Begin XCBuildConfiguration section */
343+
F9148E5C2730496400A2A822 /* Debug */ = {
344+
isa = XCBuildConfiguration;
345+
baseConfigurationReference = DE091C17D6BFBA3117FD439A /* Pods-WorkflowCombineSampleAppUnitTests.debug.xcconfig */;
346+
buildSettings = {
347+
BUNDLE_LOADER = "$(TEST_HOST)";
348+
CODE_SIGN_STYLE = Automatic;
349+
INFOPLIST_FILE = WorkflowCombineSampleAppUnitTests/Info.plist;
350+
LD_RUNPATH_SEARCH_PATHS = (
351+
"$(inherited)",
352+
"@executable_path/Frameworks",
353+
"@loader_path/Frameworks",
354+
);
355+
PRODUCT_BUNDLE_IDENTIFIER = com.soorinpark.parkornapp.WorkflowCombineSampleAppUnitTests;
356+
PRODUCT_NAME = "$(TARGET_NAME)";
357+
SWIFT_VERSION = 5.0;
358+
TARGETED_DEVICE_FAMILY = "1,2";
359+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/WorkflowCombineSampleApp.app/WorkflowCombineSampleApp";
360+
};
361+
name = Debug;
362+
};
363+
F9148E5D2730496400A2A822 /* Release */ = {
364+
isa = XCBuildConfiguration;
365+
baseConfigurationReference = 6EC8006ECC2D615830927194 /* Pods-WorkflowCombineSampleAppUnitTests.release.xcconfig */;
366+
buildSettings = {
367+
BUNDLE_LOADER = "$(TEST_HOST)";
368+
CODE_SIGN_STYLE = Automatic;
369+
INFOPLIST_FILE = WorkflowCombineSampleAppUnitTests/Info.plist;
370+
LD_RUNPATH_SEARCH_PATHS = (
371+
"$(inherited)",
372+
"@executable_path/Frameworks",
373+
"@loader_path/Frameworks",
374+
);
375+
PRODUCT_BUNDLE_IDENTIFIER = com.soorinpark.parkornapp.WorkflowCombineSampleAppUnitTests;
376+
PRODUCT_NAME = "$(TARGET_NAME)";
377+
SWIFT_VERSION = 5.0;
378+
TARGETED_DEVICE_FAMILY = "1,2";
379+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/WorkflowCombineSampleApp.app/WorkflowCombineSampleApp";
380+
};
381+
name = Release;
382+
};
230383
F91FC5EF272B5EF700F19C3D /* Debug */ = {
231384
isa = XCBuildConfiguration;
232385
buildSettings = {
@@ -384,6 +537,15 @@
384537
/* End XCBuildConfiguration section */
385538

386539
/* Begin XCConfigurationList section */
540+
F9148E5E2730496400A2A822 /* Build configuration list for PBXNativeTarget "WorkflowCombineSampleAppUnitTests" */ = {
541+
isa = XCConfigurationList;
542+
buildConfigurations = (
543+
F9148E5C2730496400A2A822 /* Debug */,
544+
F9148E5D2730496400A2A822 /* Release */,
545+
);
546+
defaultConfigurationIsVisible = 0;
547+
defaultConfigurationName = Release;
548+
};
387549
F91FC5D8272B5EF000F19C3D /* Build configuration list for PBXProject "WorkflowCombineSampleApp" */ = {
388550
isa = XCConfigurationList;
389551
buildConfigurations = (

Diff for: Samples/WorkflowCombineSampleApp/WorkflowCombineSampleApp/DemoWorker.swift

+19-1
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66
//
77

88
import Combine
9+
import ReactiveSwift
910
import Workflow
1011
import WorkflowCombine
12+
import WorkflowReactiveSwift
1113
import WorkflowUI
1214

1315
// MARK: Workers
1416

1517
extension DemoWorkflow {
16-
struct DemoWorker: Worker {
18+
struct DemoWorker: WorkflowCombine.Worker {
1719
typealias Output = Action
1820

1921
// This publisher publishes the current date on a timer that fires every second
@@ -28,3 +30,19 @@ extension DemoWorkflow {
2830
func isEquivalent(to otherWorker: DemoWorkflow.DemoWorker) -> Bool { true }
2931
}
3032
}
33+
34+
/// Identifcal implementation of the Combine Worker using the WorkflowReactiveSwift library instead.
35+
/// To ensure that both implementations are correct, run the test suite with each implementation uncommented.
36+
// extension DemoWorkflow {
37+
// struct DemoWorker: WorkflowReactiveSwift.Worker {
38+
// typealias Output = Action
39+
//
40+
// func run() -> SignalProducer<DemoWorkflow.Action, Never> {
41+
// SignalProducer
42+
// .timer(interval: DispatchTimeInterval.seconds(1), on: QueueScheduler())
43+
// .map { .init(publishedDate: $0) }
44+
// }
45+
//
46+
// func isEquivalent(to otherWorker: DemoWorkflow.DemoWorker) -> Bool { true }
47+
// }
48+
// }

Diff for: Samples/WorkflowCombineSampleApp/WorkflowCombineSampleApp/DemoWorkflow.swift

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
// Created by Soo Rin Park on 10/28/21.
66
//
77

8-
import Combine
98
import Workflow
109
import WorkflowUI
1110

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>$(DEVELOPMENT_LANGUAGE)</string>
7+
<key>CFBundleExecutable</key>
8+
<string>$(EXECUTABLE_NAME)</string>
9+
<key>CFBundleIdentifier</key>
10+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11+
<key>CFBundleInfoDictionaryVersion</key>
12+
<string>6.0</string>
13+
<key>CFBundleName</key>
14+
<string>$(PRODUCT_NAME)</string>
15+
<key>CFBundlePackageType</key>
16+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
17+
<key>CFBundleShortVersionString</key>
18+
<string>1.0</string>
19+
<key>CFBundleVersion</key>
20+
<string>1</string>
21+
</dict>
22+
</plist>

0 commit comments

Comments
 (0)