From 47b69a1e661db20368f4c8af398d60e296fe2517 Mon Sep 17 00:00:00 2001 From: Christopher Fuller Date: Sun, 23 Feb 2025 16:36:56 -0800 Subject: [PATCH] Use mock counts in Xcode template tests --- .../StencilRendererTests.swift | 2 - .../Support/TestFactories.swift | 30 +- .../XcodeTemplateTests.swift | 32 +- .../testNodeViewInjectedXcodeTemplate.1.txt | 72 +- .../testNodeViewInjectedXcodeTemplate.2.txt | 118 ++ .../testNodeViewInjectedXcodeTemplate.3.txt | 158 ++ .../testNodeXcodeTemplate.1.txt | 906 ++------ .../testNodeXcodeTemplate.2.txt | 1405 +++++++++++++ .../testNodeXcodeTemplate.3.txt | 1871 +++++++++++++++++ .../testPluginListXcodeTemplate.1.txt | 8 +- .../testPluginListXcodeTemplate.2.txt | 42 + .../testPluginListXcodeTemplate.3.txt | 46 + .../testPluginXcodeTemplate.1.txt | 10 +- .../testPluginXcodeTemplate.2.txt | 42 + .../testPluginXcodeTemplate.3.txt | 46 + .../testWorkerXcodeTemplate.1.txt | 7 +- .../testWorkerXcodeTemplate.2.txt | 40 + .../testWorkerXcodeTemplate.3.txt | 43 + 18 files changed, 4093 insertions(+), 785 deletions(-) create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.2.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.3.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.2.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.3.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.2.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.3.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.2.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.3.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.2.txt create mode 100644 Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.3.txt diff --git a/Tests/NodesGeneratorTests/StencilRendererTests.swift b/Tests/NodesGeneratorTests/StencilRendererTests.swift index 52340cb9b..987dad628 100644 --- a/Tests/NodesGeneratorTests/StencilRendererTests.swift +++ b/Tests/NodesGeneratorTests/StencilRendererTests.swift @@ -14,8 +14,6 @@ import XCTest final class StencilRendererTests: XCTestCase, TestFactories { - private let mockCounts: ClosedRange = 0...2 - func testRenderNode() throws { let stencilRenderer: StencilRenderer = .init() try mockCounts.forEach { count in diff --git a/Tests/NodesGeneratorTests/Support/TestFactories.swift b/Tests/NodesGeneratorTests/Support/TestFactories.swift index bb5a44e79..e08c750cb 100644 --- a/Tests/NodesGeneratorTests/Support/TestFactories.swift +++ b/Tests/NodesGeneratorTests/Support/TestFactories.swift @@ -15,7 +15,13 @@ extension TestFactories { private typealias Variable = Config.Variable - internal func givenConfig() -> Config { + internal var mockCounts: ClosedRange { + 0...2 + } + + internal func givenConfig( + mockCount: Int = 1 + ) -> Config { var config: Config = .init() config.uiFrameworks = [ UIFramework(framework: .appKit), @@ -28,17 +34,17 @@ extension TestFactories { viewControllerSuperParameters: "", viewControllerMethods: "")) ] - config.baseImports = [""] - config.baseTestImports = [""] - config.reactiveImports = [""] - config.dependencyInjectionImports = [""] - config.builderImports = [""] - config.flowImports = [""] - config.pluginListImports = [""] - config.viewControllerImports = [""] - config.dependencies = [Variable(name: "", type: "")] - config.analyticsProperties = [Variable(name: "", type: "")] - config.flowProperties = [Variable(name: "", type: "")] + config.baseImports = .mock(with: "baseImport", count: mockCount) + config.baseTestImports = .mock(with: "baseTestImport", count: mockCount) + config.reactiveImports = .mock(with: "reactiveImport", count: mockCount) + config.dependencyInjectionImports = .mock(with: "dependencyInjectionImport", count: mockCount) + config.builderImports = .mock(with: "builderImport", count: mockCount) + config.flowImports = .mock(with: "flowImport", count: mockCount) + config.pluginListImports = .mock(with: "pluginListImport", count: mockCount) + config.viewControllerImports = .mock(with: "viewControllerImport", count: mockCount) + config.dependencies = .mock(with: "dependency", count: mockCount) + config.analyticsProperties = .mock(with: "analyticsProperty", count: mockCount) + config.flowProperties = .mock(with: "flowProperty", count: mockCount) config.viewControllableFlowType = "" config.viewControllableType = "" config.viewControllableMockContents = "" diff --git a/Tests/NodesGeneratorTests/XcodeTemplateTests.swift b/Tests/NodesGeneratorTests/XcodeTemplateTests.swift index b43fce891..d9c8aba21 100644 --- a/Tests/NodesGeneratorTests/XcodeTemplateTests.swift +++ b/Tests/NodesGeneratorTests/XcodeTemplateTests.swift @@ -15,28 +15,38 @@ import XCTest final class XcodeTemplateTests: XCTestCase, TestFactories { func testNodeXcodeTemplate() throws { - let config: Config = givenConfig() - assertSnapshot(of: NodeXcodeTemplate(uiFrameworks: config.uiFrameworks, config: config), - as: .dump) + mockCounts.forEach { count in + let config: Config = givenConfig(mockCount: count) + assertSnapshot(of: NodeXcodeTemplate(uiFrameworks: config.uiFrameworks, config: config), + as: .dump) + } } func testNodeViewInjectedXcodeTemplate() { - assertSnapshot(of: NodeViewInjectedXcodeTemplate(config: givenConfig()), - as: .dump) + mockCounts.forEach { count in + assertSnapshot(of: NodeViewInjectedXcodeTemplate(config: givenConfig(mockCount: count)), + as: .dump) + } } func testPluginListXcodeTemplate() { - assertSnapshot(of: PluginListXcodeTemplate(config: givenConfig()), - as: .dump) + mockCounts.forEach { count in + assertSnapshot(of: PluginListXcodeTemplate(config: givenConfig(mockCount: count)), + as: .dump) + } } func testPluginXcodeTemplate() { - assertSnapshot(of: PluginXcodeTemplate(config: givenConfig()), - as: .dump) + mockCounts.forEach { count in + assertSnapshot(of: PluginXcodeTemplate(config: givenConfig(mockCount: count)), + as: .dump) + } } func testWorkerXcodeTemplate() { - assertSnapshot(of: WorkerXcodeTemplate(config: givenConfig()), - as: .dump) + mockCounts.forEach { count in + assertSnapshot(of: WorkerXcodeTemplate(config: givenConfig(mockCount: count)), + as: .dump) + } } } diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.1.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.1.txt index 253fba433..e83b431fb 100644 --- a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.1.txt +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.1.txt @@ -4,78 +4,38 @@ ▿ NodeViewInjectedXcodeTemplatePermutation - name: "View Injected" ▿ stencilContext: NodeViewInjectedStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 2 elements - - "" + ▿ contextTestsImports: 1 element - "Nodes" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" + ▿ flowImports: 1 element - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.2.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.2.txt new file mode 100644 index 000000000..253fba433 --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.2.txt @@ -0,0 +1,118 @@ +▿ NodeViewInjectedXcodeTemplate + - name: "View Injected" + ▿ permutations: 1 element + ▿ NodeViewInjectedXcodeTemplatePermutation + - name: "View Injected" + ▿ stencilContext: NodeViewInjectedStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 2 elements + - "" + - "Nodes" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + ▿ stateImports: 1 element + - "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 13 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + - PluginTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + - default: Optional.none + - description: "The name of the node." + - identifier: "productName" + - name: "Node Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 2 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.3.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.3.txt new file mode 100644 index 000000000..0a2dd34b5 --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeViewInjectedXcodeTemplate.3.txt @@ -0,0 +1,158 @@ +▿ NodeViewInjectedXcodeTemplate + - name: "View Injected" + ▿ permutations: 1 element + ▿ NodeViewInjectedXcodeTemplatePermutation + - name: "View Injected" + ▿ stencilContext: NodeViewInjectedStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "" + - "Nodes" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + ▿ stateImports: 2 elements + - "" + - "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 13 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + - PluginTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + - default: Optional.none + - description: "The name of the node." + - identifier: "productName" + - name: "Node Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 2 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.1.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.1.txt index ceca194e1..495715d11 100644 --- a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.1.txt +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.1.txt @@ -4,108 +4,61 @@ ▿ NodeXcodeTemplatePermutation - name: "AppKitCreatedForPluginList" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "___VARIABLE_PluginListName___" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "AppKit" - "Nodes" - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func loadView() {\n view = NSView()\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n update(with: initialState)\n}\n\noverride internal func viewWillAppear() {\n super.viewWillAppear()\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear() {\n super.viewWillDisappear()\n cancellables.cancelAll()\n}" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "nibName: nil, bundle: nil" - ▿ viewControllerTestsImports: 2 elements - - "" - - "" + - viewControllerTestsImports: 0 elements - viewControllerType: "NSViewController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -138,108 +91,61 @@ ▿ NodeXcodeTemplatePermutation - name: "AppKit" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "AppKit" - "Nodes" - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func loadView() {\n view = NSView()\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n update(with: initialState)\n}\n\noverride internal func viewWillAppear() {\n super.viewWillAppear()\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear() {\n super.viewWillDisappear()\n cancellables.cancelAll()\n}" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "nibName: nil, bundle: nil" - ▿ viewControllerTestsImports: 2 elements - - "" - - "" + - viewControllerTestsImports: 0 elements - viewControllerType: "NSViewController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -272,108 +178,62 @@ ▿ NodeXcodeTemplatePermutation - name: "AppKit (SwiftUI)CreatedForPluginList" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "___VARIABLE_PluginListName___" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "Nodes" - "SwiftUI" - viewControllerMethods: "" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "" - ▿ viewControllerTestsImports: 2 elements - - "" + ▿ viewControllerTestsImports: 1 element - "NodesTesting" - viewControllerType: "NSHostingController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -406,108 +266,62 @@ ▿ NodeXcodeTemplatePermutation - name: "AppKit (SwiftUI)" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "Nodes" - "SwiftUI" - viewControllerMethods: "" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "" - ▿ viewControllerTestsImports: 2 elements - - "" + ▿ viewControllerTestsImports: 1 element - "NodesTesting" - viewControllerType: "NSHostingController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -540,108 +354,61 @@ ▿ NodeXcodeTemplatePermutation - name: "UIKitCreatedForPluginList" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "___VARIABLE_PluginListName___" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "Nodes" - "UIKit" - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n update(with: initialState)\n}\n\noverride internal func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.cancelAll()\n}" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "nibName: nil, bundle: nil" - ▿ viewControllerTestsImports: 2 elements - - "" - - "" + - viewControllerTestsImports: 0 elements - viewControllerType: "UIViewController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -674,108 +441,61 @@ ▿ NodeXcodeTemplatePermutation - name: "UIKit" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "Nodes" - "UIKit" - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n update(with: initialState)\n}\n\noverride internal func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.cancelAll()\n}" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "nibName: nil, bundle: nil" - ▿ viewControllerTestsImports: 2 elements - - "" - - "" + - viewControllerTestsImports: 0 elements - viewControllerType: "UIViewController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -808,108 +528,62 @@ ▿ NodeXcodeTemplatePermutation - name: "UIKit (SwiftUI)CreatedForPluginList" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "___VARIABLE_PluginListName___" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "Nodes" - "SwiftUI" - viewControllerMethods: "" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "" - ▿ viewControllerTestsImports: 2 elements - - "" + ▿ viewControllerTestsImports: 1 element - "NodesTesting" - viewControllerType: "UIHostingController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -942,108 +616,62 @@ ▿ NodeXcodeTemplatePermutation - name: "UIKit (SwiftUI)" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" - - "" + ▿ viewControllerImports: 2 elements - "Nodes" - "SwiftUI" - viewControllerMethods: "" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "" - ▿ viewControllerTestsImports: 2 elements - - "" + ▿ viewControllerTestsImports: 1 element - "NodesTesting" - viewControllerType: "UIHostingController" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -1076,108 +704,61 @@ ▿ NodeXcodeTemplatePermutation - name: "CustomCreatedForPluginList" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "___VARIABLE_PluginListName___" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" + ▿ viewControllerImports: 2 elements - "" - - "" - "Nodes" - viewControllerMethods: "" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "" - ▿ viewControllerTestsImports: 2 elements - - "" - - "" + - viewControllerTestsImports: 0 elements - viewControllerType: "" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" @@ -1210,108 +791,61 @@ ▿ NodeXcodeTemplatePermutation - name: "Custom" ▿ stencilContext: NodeStencilContext - ▿ analyticsImports: 1 element - - "" - ▿ analyticsProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ analyticsTestsImports: 1 element - - "" - ▿ builderImports: 5 elements - - "" - - "" - - "" - - "" - - "Nodes" - ▿ builderTestsImports: 2 elements - - "" + - analyticsImports: 0 elements + - analyticsProperties: 0 elements + - analyticsTestsImports: 0 elements + ▿ builderImports: 1 element + - "Nodes" + ▿ builderTestsImports: 1 element - "NodesTesting" - componentDependencies: "" ▿ contextGenericTypes: 1 element - "" - ▿ contextImports: 3 elements - - "" - - "" + ▿ contextImports: 1 element - "Nodes" - ▿ contextTestsImports: 3 elements - - "" + ▿ contextTestsImports: 2 elements - "Nodes" - "NodesTesting" - ▿ dependencies: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" + - dependencies: 0 elements - fileHeader: "___FILEHEADER___" - ▿ flowImports: 3 elements - - "" - - "" - - "Nodes" - ▿ flowProperties: 1 element - ▿ 2 key/value pairs - ▿ (2 elements) - - key: "name" - - value: "" - ▿ (2 elements) - - key: "type" - - value: "" - ▿ flowTestsImports: 1 element - - "" - ▿ interfaceImports: 2 elements - - "" + ▿ flowImports: 1 element + - "Nodes" + - flowProperties: 0 elements + - flowTestsImports: 0 elements + ▿ interfaceImports: 1 element - "Nodes" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - isPreviewProviderEnabled: true - nodeName: "___VARIABLE_productName___" - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginListName: "" - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" - publisherFailureType: "" - publisherType: "" - ▿ stateImports: 1 element - - "" + - stateImports: 0 elements - storePrefix: "" - storePropertyWrapper: "" - viewControllableFlowType: "" - viewControllableMockContents: "" - viewControllableType: "" - ▿ viewControllerImports: 5 elements - - "" - - "" + ▿ viewControllerImports: 2 elements - "" - - "" - "Nodes" - viewControllerMethods: "" - viewControllerStaticContent: "" - viewControllerSubscriptionsProperty: "" - viewControllerSuperParameters: "" - ▿ viewControllerTestsImports: 2 elements - - "" - - "" + - viewControllerTestsImports: 0 elements - viewControllerType: "" - viewControllerUpdateComment: "" - viewStateEmptyFactory: "" - ▿ viewStateFactoryTestsImports: 1 element - - "" - ▿ viewStateImports: 2 elements - - "" + - viewStateFactoryTestsImports: 0 elements + ▿ viewStateImports: 1 element - "Nodes" - viewStateOperators: "" - viewStatePropertyComment: "" diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.2.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.2.txt new file mode 100644 index 000000000..ceca194e1 --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.2.txt @@ -0,0 +1,1405 @@ +▿ NodeXcodeTemplate + - name: "Node" + ▿ permutations: 10 elements + ▿ NodeXcodeTemplatePermutation + - name: "AppKitCreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "AppKit" + - "Nodes" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func loadView() {\n view = NSView()\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n update(with: initialState)\n}\n\noverride internal func viewWillAppear() {\n super.viewWillAppear()\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear() {\n super.viewWillDisappear()\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 2 elements + - "" + - "" + - viewControllerType: "NSViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "AppKit" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "AppKit" + - "Nodes" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func loadView() {\n view = NSView()\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n update(with: initialState)\n}\n\noverride internal func viewWillAppear() {\n super.viewWillAppear()\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear() {\n super.viewWillDisappear()\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 2 elements + - "" + - "" + - viewControllerType: "NSViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "AppKit (SwiftUI)CreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 2 elements + - "" + - "NodesTesting" + - viewControllerType: "NSHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "AppKit (SwiftUI)" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 2 elements + - "" + - "NodesTesting" + - viewControllerType: "NSHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKitCreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "Nodes" + - "UIKit" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n update(with: initialState)\n}\n\noverride internal func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 2 elements + - "" + - "" + - viewControllerType: "UIViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKit" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "Nodes" + - "UIKit" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n update(with: initialState)\n}\n\noverride internal func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 2 elements + - "" + - "" + - viewControllerType: "UIViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKit (SwiftUI)CreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 2 elements + - "" + - "NodesTesting" + - viewControllerType: "UIHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKit (SwiftUI)" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 2 elements + - "" + - "NodesTesting" + - viewControllerType: "UIHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "CustomCreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 2 elements + - "" + - "" + - viewControllerType: "" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "Custom" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 1 element + - "" + ▿ analyticsProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 1 element + - "" + ▿ builderImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 2 elements + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 3 elements + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 3 elements + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 3 elements + - "" + - "" + - "Nodes" + ▿ flowProperties: 1 element + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 1 element + - "" + ▿ interfaceImports: 2 elements + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 1 element + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 2 elements + - "" + - "" + - viewControllerType: "" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 1 element + - "" + ▿ viewStateImports: 2 elements + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 4 elements + ▿ Option + ▿ default: Optional + - some: "MyFeatureV1" + - description: "The name of the node." + - identifier: "productName" + - name: "Node Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + ▿ Option + ▿ default: Optional + - some: "AppKit" + - description: "The UI framework of the node." + - identifier: "UIFramework" + - name: "UI Framework:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "popup" + ▿ values: 5 elements + - "AppKit" + - "AppKit (SwiftUI)" + - "UIKit" + - "UIKit (SwiftUI)" + - "Custom" + ▿ Option + ▿ default: Optional + - some: "true" + - description: "Whether the node is created for use in an existing Plugin List." + - identifier: "CreatedForPluginList" + - name: "Created for existing Plugin List" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "checkbox" + - values: 0 elements + ▿ Option + ▿ default: Optional + - some: "MyFeature" + - description: "The name of an existing Plugin List." + - identifier: "PluginListName" + - name: "Existing Plugin List:" + - notPersisted: true + - required: true + ▿ requiredOptions: 1 key/value pair + ▿ (2 elements) + - key: "CreatedForPluginList" + ▿ value: 1 element + - "true" + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 1 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.3.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.3.txt new file mode 100644 index 000000000..d1d56af0a --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testNodeXcodeTemplate.3.txt @@ -0,0 +1,1871 @@ +▿ NodeXcodeTemplate + - name: "Node" + ▿ permutations: 10 elements + ▿ NodeXcodeTemplatePermutation + - name: "AppKitCreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "AppKit" + - "Nodes" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func loadView() {\n view = NSView()\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n update(with: initialState)\n}\n\noverride internal func viewWillAppear() {\n super.viewWillAppear()\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear() {\n super.viewWillDisappear()\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 4 elements + - "" + - "" + - "" + - "" + - viewControllerType: "NSViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "AppKit" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "AppKit" + - "Nodes" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func loadView() {\n view = NSView()\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n update(with: initialState)\n}\n\noverride internal func viewWillAppear() {\n super.viewWillAppear()\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear() {\n super.viewWillDisappear()\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 4 elements + - "" + - "" + - "" + - "" + - viewControllerType: "NSViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "AppKit (SwiftUI)CreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - viewControllerType: "NSHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "AppKit (SwiftUI)" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - viewControllerType: "NSHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKitCreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - "UIKit" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n update(with: initialState)\n}\n\noverride internal func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 4 elements + - "" + - "" + - "" + - "" + - viewControllerType: "UIViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKit" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - "UIKit" + - viewControllerMethods: "@available(*, unavailable)\ninternal required init?(coder: NSCoder) {\n preconditionFailure(\"init(coder:) has not been implemented\")\n}\n\noverride internal func viewDidLoad() {\n super.viewDidLoad()\n view.backgroundColor = .systemBackground\n update(with: initialState)\n}\n\noverride internal func viewWillAppear(_ animated: Bool) {\n super.viewWillAppear(animated)\n observe(statePublisher).store(in: &cancellables)\n}\n\noverride internal func viewWillDisappear(_ animated: Bool) {\n super.viewWillDisappear(animated)\n cancellables.cancelAll()\n}" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "nibName: nil, bundle: nil" + ▿ viewControllerTestsImports: 4 elements + - "" + - "" + - "" + - "" + - viewControllerType: "UIViewController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKit (SwiftUI)CreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - viewControllerType: "UIHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "UIKit (SwiftUI)" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - "SwiftUI" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - viewControllerType: "UIHostingController" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.swiftUI + - Context + - Flow + ▿ Interface + - interface: Variation.swiftUI + - State + ▿ ViewController + - viewController: Variation.swiftUI + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.swiftUI + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "CustomCreatedForPluginList" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "___VARIABLE_PluginListName___" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 4 elements + - "" + - "" + - "" + - "" + - viewControllerType: "" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ NodeXcodeTemplatePermutation + - name: "Custom" + ▿ stencilContext: NodeStencilContext + ▿ analyticsImports: 2 elements + - "" + - "" + ▿ analyticsProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ analyticsTestsImports: 2 elements + - "" + - "" + ▿ builderImports: 9 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + ▿ builderTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - componentDependencies: "" + ▿ contextGenericTypes: 1 element + - "" + ▿ contextImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ contextTestsImports: 4 elements + - "" + - "" + - "Nodes" + - "NodesTesting" + ▿ dependencies: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + - fileHeader: "___FILEHEADER___" + ▿ flowImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ flowProperties: 2 elements + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ 2 key/value pairs + ▿ (2 elements) + - key: "name" + - value: "" + ▿ (2 elements) + - key: "type" + - value: "" + ▿ flowTestsImports: 2 elements + - "" + - "" + ▿ interfaceImports: 3 elements + - "" + - "" + - "Nodes" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + - isPreviewProviderEnabled: true + - nodeName: "___VARIABLE_productName___" + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginListName: "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - publisherFailureType: "" + - publisherType: "" + ▿ stateImports: 2 elements + - "" + - "" + - storePrefix: "" + - storePropertyWrapper: "" + - viewControllableFlowType: "" + - viewControllableMockContents: "" + - viewControllableType: "" + ▿ viewControllerImports: 8 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - viewControllerMethods: "" + - viewControllerStaticContent: "" + - viewControllerSubscriptionsProperty: "" + - viewControllerSuperParameters: "" + ▿ viewControllerTestsImports: 4 elements + - "" + - "" + - "" + - "" + - viewControllerType: "" + - viewControllerUpdateComment: "" + - viewStateEmptyFactory: "" + ▿ viewStateFactoryTestsImports: 2 elements + - "" + - "" + ▿ viewStateImports: 3 elements + - "" + - "" + - "Nodes" + - viewStateOperators: "" + - viewStatePropertyComment: "" + - viewStatePropertyName: "" + - viewStateTransform: "" + ▿ workerGenericTypes: 1 element + - "" + ▿ stencils: 17 elements + - Analytics + ▿ Builder + - builder: Variation.regular + - Context + - Flow + ▿ Interface + - interface: Variation.regular + - State + ▿ ViewController + - viewController: Variation.regular + - ViewState + - Plugin + - PluginInterface + - AnalyticsTests + - BuilderTests + - ContextTests + - FlowTests + ▿ ViewControllerTests + - viewControllerTests: Variation.regular + - ViewStateFactoryTests + - PluginTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 4 elements + ▿ Option + ▿ default: Optional + - some: "MyFeatureV1" + - description: "The name of the node." + - identifier: "productName" + - name: "Node Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + ▿ Option + ▿ default: Optional + - some: "AppKit" + - description: "The UI framework of the node." + - identifier: "UIFramework" + - name: "UI Framework:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "popup" + ▿ values: 5 elements + - "AppKit" + - "AppKit (SwiftUI)" + - "UIKit" + - "UIKit (SwiftUI)" + - "Custom" + ▿ Option + ▿ default: Optional + - some: "true" + - description: "Whether the node is created for use in an existing Plugin List." + - identifier: "CreatedForPluginList" + - name: "Created for existing Plugin List" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "checkbox" + - values: 0 elements + ▿ Option + ▿ default: Optional + - some: "MyFeature" + - description: "The name of an existing Plugin List." + - identifier: "PluginListName" + - name: "Existing Plugin List:" + - notPersisted: true + - required: true + ▿ requiredOptions: 1 key/value pair + ▿ (2 elements) + - key: "CreatedForPluginList" + ▿ value: 1 element + - "true" + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 1 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.1.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.1.txt index 18a033305..37ae558b6 100644 --- a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.1.txt +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.1.txt @@ -7,14 +7,10 @@ - fileHeader: "___FILEHEADER___" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - ▿ pluginListImports: 4 elements - - "" - - "" - - "" + ▿ pluginListImports: 1 element - "Nodes" - pluginListName: "___VARIABLE_productName___" - ▿ pluginListTestsImports: 2 elements - - "" + ▿ pluginListTestsImports: 1 element - "NodesTesting" - viewControllableFlowType: "" ▿ stencils: 2 elements diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.2.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.2.txt new file mode 100644 index 000000000..18a033305 --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.2.txt @@ -0,0 +1,42 @@ +▿ PluginListXcodeTemplate + - name: "Plugin List" + ▿ permutations: 1 element + ▿ PluginListXcodeTemplatePermutation + - name: "Plugin List" + ▿ stencilContext: PluginListStencilContext + - fileHeader: "___FILEHEADER___" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + ▿ pluginListImports: 4 elements + - "" + - "" + - "" + - "Nodes" + - pluginListName: "___VARIABLE_productName___" + ▿ pluginListTestsImports: 2 elements + - "" + - "NodesTesting" + - viewControllableFlowType: "" + ▿ stencils: 2 elements + - PluginList + - PluginListTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + ▿ default: Optional + - some: "MyFeature" + - description: "The name of the Plugin List." + - identifier: "productName" + - name: "Plugin List Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 3 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.3.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.3.txt new file mode 100644 index 000000000..5a873f0ca --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginListXcodeTemplate.3.txt @@ -0,0 +1,46 @@ +▿ PluginListXcodeTemplate + - name: "Plugin List" + ▿ permutations: 1 element + ▿ PluginListXcodeTemplatePermutation + - name: "Plugin List" + ▿ stencilContext: PluginListStencilContext + - fileHeader: "___FILEHEADER___" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + ▿ pluginListImports: 7 elements + - "" + - "" + - "" + - "" + - "" + - "" + - "Nodes" + - pluginListName: "___VARIABLE_productName___" + ▿ pluginListTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + - viewControllableFlowType: "" + ▿ stencils: 2 elements + - PluginList + - PluginListTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + ▿ default: Optional + - some: "MyFeature" + - description: "The name of the Plugin List." + - identifier: "productName" + - name: "Plugin List Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 3 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.1.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.1.txt index cab6574f7..2bb238e32 100644 --- a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.1.txt +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.1.txt @@ -7,15 +7,11 @@ - fileHeader: "___FILEHEADER___" - isNimbleEnabled: false - isPeripheryCommentEnabled: true - ▿ pluginImports: 3 elements - - "" - - "" + ▿ pluginImports: 1 element - "Nodes" - ▿ pluginInterfaceImports: 1 element - - "" + - pluginInterfaceImports: 0 elements - pluginName: "___VARIABLE_productName___" - ▿ pluginTestsImports: 2 elements - - "" + ▿ pluginTestsImports: 1 element - "NodesTesting" ▿ stencils: 3 elements - Plugin diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.2.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.2.txt new file mode 100644 index 000000000..cab6574f7 --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.2.txt @@ -0,0 +1,42 @@ +▿ PluginXcodeTemplate + - name: "Plugin" + ▿ permutations: 1 element + ▿ PluginXcodeTemplatePermutation + - name: "Plugin" + ▿ stencilContext: PluginStencilContext + - fileHeader: "___FILEHEADER___" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + ▿ pluginImports: 3 elements + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 1 element + - "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 2 elements + - "" + - "NodesTesting" + ▿ stencils: 3 elements + - Plugin + - PluginInterface + - PluginTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + - default: Optional.none + - description: "The name of the node for the Plugin." + - identifier: "productName" + - name: "Node Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 4 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.3.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.3.txt new file mode 100644 index 000000000..382fb991c --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testPluginXcodeTemplate.3.txt @@ -0,0 +1,46 @@ +▿ PluginXcodeTemplate + - name: "Plugin" + ▿ permutations: 1 element + ▿ PluginXcodeTemplatePermutation + - name: "Plugin" + ▿ stencilContext: PluginStencilContext + - fileHeader: "___FILEHEADER___" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + ▿ pluginImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + ▿ pluginInterfaceImports: 2 elements + - "" + - "" + - pluginName: "___VARIABLE_productName___" + ▿ pluginTestsImports: 3 elements + - "" + - "" + - "NodesTesting" + ▿ stencils: 3 elements + - Plugin + - PluginInterface + - PluginTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + - default: Optional.none + - description: "The name of the node for the Plugin." + - identifier: "productName" + - name: "Node Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 4 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.1.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.1.txt index bf13ca494..e54b6cda1 100644 --- a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.1.txt +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.1.txt @@ -9,13 +9,10 @@ - isPeripheryCommentEnabled: true ▿ workerGenericTypes: 1 element - "" - ▿ workerImports: 3 elements - - "" - - "" + ▿ workerImports: 1 element - "Nodes" - workerName: "___VARIABLE_productName___" - ▿ workerTestsImports: 1 element - - "" + - workerTestsImports: 0 elements ▿ stencils: 2 elements - Worker - WorkerTests diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.2.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.2.txt new file mode 100644 index 000000000..bf13ca494 --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.2.txt @@ -0,0 +1,40 @@ +▿ WorkerXcodeTemplate + - name: "Worker" + ▿ permutations: 1 element + ▿ WorkerXcodeTemplatePermutation + - name: "Worker" + ▿ stencilContext: WorkerStencilContext + - fileHeader: "___FILEHEADER___" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + ▿ workerGenericTypes: 1 element + - "" + ▿ workerImports: 3 elements + - "" + - "" + - "Nodes" + - workerName: "___VARIABLE_productName___" + ▿ workerTestsImports: 1 element + - "" + ▿ stencils: 2 elements + - Worker + - WorkerTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + - default: Optional.none + - description: "The name of the Worker." + - identifier: "productName" + - name: "Worker Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 5 + - supportsSwiftPackage: true diff --git a/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.3.txt b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.3.txt new file mode 100644 index 000000000..42c47cd4e --- /dev/null +++ b/Tests/NodesGeneratorTests/__Snapshots__/XcodeTemplateTests/testWorkerXcodeTemplate.3.txt @@ -0,0 +1,43 @@ +▿ WorkerXcodeTemplate + - name: "Worker" + ▿ permutations: 1 element + ▿ WorkerXcodeTemplatePermutation + - name: "Worker" + ▿ stencilContext: WorkerStencilContext + - fileHeader: "___FILEHEADER___" + - isNimbleEnabled: false + - isPeripheryCommentEnabled: true + ▿ workerGenericTypes: 1 element + - "" + ▿ workerImports: 5 elements + - "" + - "" + - "" + - "" + - "Nodes" + - workerName: "___VARIABLE_productName___" + ▿ workerTestsImports: 2 elements + - "" + - "" + ▿ stencils: 2 elements + - Worker + - WorkerTests + ▿ propertyList: XcodeTemplatePropertyList + ▿ allowedTypes: 1 element + - "public.swift-source" + - kind: "Xcode.IDEFoundation.TextSubstitutionFileTemplateKind" + - mainTemplateFile: "___FILEBASENAME___.swift" + ▿ options: 1 element + ▿ Option + - default: Optional.none + - description: "The name of the Worker." + - identifier: "productName" + - name: "Worker Name:" + - notPersisted: true + - required: true + - requiredOptions: 0 key/value pairs + - type: "text" + - values: 0 elements + - platforms: 0 elements + - sortOrder: 5 + - supportsSwiftPackage: true