From 60c32f1f29111f0cc9e1fe031aa8b1e73dad3640 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sun, 31 May 2020 19:15:26 +0100 Subject: [PATCH 1/3] Add prettyPrintIndentation property on XMLEncoder --- .vscode/tasks.json | 2 +- .../Auxiliaries/XMLCoderElement.swift | 48 ++++++++---- Sources/XMLCoder/Encoder/XMLEncoder.swift | 16 +++- .../AttributedEnumIntrinsicTest.swift | 0 .../AttributedIntrinsicTest.swift | 0 .../CompositeChoiceTests.swift | 0 .../DynamicNodeDecodingTest.swift | 0 .../DynamicNodeEncodingTest.swift | 0 .../ErrorContextTest.swift | 0 .../MixedChoiceAndNonChoiceTests.swift | 0 .../NestedAttributeChoiceTests.swift | 0 .../NestedChoiceArrayTest.swift | 0 .../NestedChoiceTests.swift | 0 .../SimpleChoiceTests.swift | 0 .../{ => EndToEnd}/BooksTest.swift | 0 .../{ => EndToEnd}/BorderTest.swift | 0 .../{ => EndToEnd}/BreakfastTest.swift | 0 .../{ => EndToEnd}/CDCatalog.swift | 0 .../XMLCoderTests/{ => EndToEnd}/CDTest.swift | 0 .../{ => EndToEnd}/NoteTest.swift | 0 .../{ => EndToEnd}/PlantCatalog.swift | 0 .../{ => EndToEnd}/PlantTest.swift | 0 .../{ => EndToEnd}/RJISample.swift | 0 .../{ => EndToEnd}/RJITest.swift | 0 .../{ => EndToEnd}/RelationshipsTest.swift | 0 Tests/XMLCoderTests/PrettyPrintTest.swift | 78 +++++++++++++++++++ Tests/XMLCoderTests/XCTestManifests.swift | 25 ++++++ 27 files changed, 150 insertions(+), 19 deletions(-) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/AttributedEnumIntrinsicTest.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/AttributedIntrinsicTest.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/CompositeChoiceTests.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/DynamicNodeDecodingTest.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/DynamicNodeEncodingTest.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/ErrorContextTest.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/MixedChoiceAndNonChoiceTests.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/NestedAttributeChoiceTests.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/NestedChoiceArrayTest.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/NestedChoiceTests.swift (100%) rename Tests/XMLCoderTests/{ => AdvancedFeatures}/SimpleChoiceTests.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/BooksTest.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/BorderTest.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/BreakfastTest.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/CDCatalog.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/CDTest.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/NoteTest.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/PlantCatalog.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/PlantTest.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/RJISample.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/RJITest.swift (100%) rename Tests/XMLCoderTests/{ => EndToEnd}/RelationshipsTest.swift (100%) create mode 100644 Tests/XMLCoderTests/PrettyPrintTest.swift diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 1535bca6..1df85c24 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,7 +6,7 @@ { "label": "swift test", "type": "shell", - "command": "swift test" + "command": "swift test --parallel" } ] } diff --git a/Sources/XMLCoder/Auxiliaries/XMLCoderElement.swift b/Sources/XMLCoder/Auxiliaries/XMLCoderElement.swift index 146b3906..0b6fe835 100644 --- a/Sources/XMLCoder/Auxiliaries/XMLCoderElement.swift +++ b/Sources/XMLCoder/Auxiliaries/XMLCoderElement.swift @@ -122,18 +122,22 @@ struct XMLCoderElement: Equatable { return KeyedBox(elements: elements, attributes: attributes) } - func toXMLString(with header: XMLHeader? = nil, - formatting: XMLEncoder.OutputFormatting) -> String { + func toXMLString( + with header: XMLHeader? = nil, + formatting: XMLEncoder.OutputFormatting, + indentation: XMLEncoder.PrettyPrintIndentation + ) -> String { if let header = header, let headerXML = header.toXML() { - return headerXML + _toXMLString(formatting: formatting) + return headerXML + _toXMLString(formatting, indentation) } - return _toXMLString(formatting: formatting) + return _toXMLString(formatting, indentation) } private func formatUnsortedXMLElements( _ string: inout String, _ level: Int, _ formatting: XMLEncoder.OutputFormatting, + _ indentation: XMLEncoder.PrettyPrintIndentation, _ prettyPrinted: Bool ) { formatXMLElements( @@ -141,6 +145,7 @@ struct XMLCoderElement: Equatable { into: &string, at: level, formatting: formatting, + indentation: indentation, prettyPrinted: prettyPrinted ) } @@ -149,6 +154,7 @@ struct XMLCoderElement: Equatable { for element: XMLCoderElement, at level: Int, formatting: XMLEncoder.OutputFormatting, + indentation: XMLEncoder.PrettyPrintIndentation, prettyPrinted: Bool ) -> String { if let stringValue = element.stringValue { @@ -160,9 +166,7 @@ struct XMLCoderElement: Equatable { } var string = "" - string += element._toXMLString( - indented: level + 1, formatting: formatting - ) + string += element._toXMLString(indented: level + 1, formatting, indentation) string += prettyPrinted ? "\n" : "" return string } @@ -171,12 +175,14 @@ struct XMLCoderElement: Equatable { _ string: inout String, _ level: Int, _ formatting: XMLEncoder.OutputFormatting, + _ indentation: XMLEncoder.PrettyPrintIndentation, _ prettyPrinted: Bool ) { formatXMLElements(from: elements.sorted { $0.key < $1.key }, into: &string, at: level, formatting: formatting, + indentation: indentation, prettyPrinted: prettyPrinted) } @@ -198,12 +204,14 @@ struct XMLCoderElement: Equatable { into string: inout String, at level: Int, formatting: XMLEncoder.OutputFormatting, + indentation: XMLEncoder.PrettyPrintIndentation, prettyPrinted: Bool ) { for element in elements { string += elementString(for: element, at: level, formatting: formatting, + indentation: indentation, prettyPrinted: prettyPrinted && !containsTextNodes) } } @@ -231,30 +239,38 @@ struct XMLCoderElement: Equatable { private func formatXMLElements( _ formatting: XMLEncoder.OutputFormatting, + _ indentation: XMLEncoder.PrettyPrintIndentation, _ string: inout String, _ level: Int, _ prettyPrinted: Bool ) { if formatting.contains(.sortedKeys) { formatSortedXMLElements( - &string, level, formatting, prettyPrinted + &string, level, formatting, indentation, prettyPrinted ) return } formatUnsortedXMLElements( - &string, level, formatting, prettyPrinted + &string, level, formatting, indentation, prettyPrinted ) } private func _toXMLString( indented level: Int = 0, - formatting: XMLEncoder.OutputFormatting + _ formatting: XMLEncoder.OutputFormatting, + _ indentation: XMLEncoder.PrettyPrintIndentation ) -> String { let prettyPrinted = formatting.contains(.prettyPrinted) - let indentation = String( - repeating: " ", count: (prettyPrinted ? level : 0) * 4 - ) - var string = indentation + let prefix: String + switch indentation { + case let .spaces(count) where prettyPrinted: + prefix = String(repeating: " ", count: level * count) + case let .tabs(count) where prettyPrinted: + prefix = String(repeating: "\t", count: level * count) + default: + prefix = "" + } + var string = prefix if !key.isEmpty { string += "<\(key)" @@ -267,9 +283,9 @@ struct XMLCoderElement: Equatable { if !key.isEmpty { string += prettyPrintElements ? ">\n" : ">" } - formatXMLElements(formatting, &string, level, prettyPrintElements) + formatXMLElements(formatting, indentation, &string, level, prettyPrintElements) - if prettyPrintElements { string += indentation } + if prettyPrintElements { string += prefix } if !key.isEmpty { string += "" } diff --git a/Sources/XMLCoder/Encoder/XMLEncoder.swift b/Sources/XMLCoder/Encoder/XMLEncoder.swift index ca32c333..acdd1fe9 100644 --- a/Sources/XMLCoder/Encoder/XMLEncoder.swift +++ b/Sources/XMLCoder/Encoder/XMLEncoder.swift @@ -33,6 +33,12 @@ open class XMLEncoder { public static let sortedKeys = OutputFormatting(rawValue: 1 << 1) } + /// The identation to use when XML is pretty-printed. + public enum PrettyPrintIndentation { + case spaces(Int) + case tabs(Int) + } + /// A node's encoding type public enum NodeEncoding { case attribute @@ -264,6 +270,9 @@ open class XMLEncoder { /// The output format to produce. Defaults to `[]`. open var outputFormatting: OutputFormatting = [] + /// The indentation to use when XML is printed. Defaults to `.spaces(4)`. + open var prettyPrintIndentation: PrettyPrintIndentation = .spaces(4) + /// The strategy to use in encoding dates. Defaults to `.deferredToDate`. open var dateEncodingStrategy: DateEncodingStrategy = .deferredToDate @@ -373,8 +382,11 @@ open class XMLEncoder { )) } - return element.toXMLString(with: header, formatting: outputFormatting) - .data(using: .utf8, allowLossyConversion: true)! + return element.toXMLString( + with: header, + formatting: outputFormatting, + indentation: prettyPrintIndentation + ).data(using: .utf8, allowLossyConversion: true)! } // MARK: - TopLevelEncoder diff --git a/Tests/XMLCoderTests/AttributedEnumIntrinsicTest.swift b/Tests/XMLCoderTests/AdvancedFeatures/AttributedEnumIntrinsicTest.swift similarity index 100% rename from Tests/XMLCoderTests/AttributedEnumIntrinsicTest.swift rename to Tests/XMLCoderTests/AdvancedFeatures/AttributedEnumIntrinsicTest.swift diff --git a/Tests/XMLCoderTests/AttributedIntrinsicTest.swift b/Tests/XMLCoderTests/AdvancedFeatures/AttributedIntrinsicTest.swift similarity index 100% rename from Tests/XMLCoderTests/AttributedIntrinsicTest.swift rename to Tests/XMLCoderTests/AdvancedFeatures/AttributedIntrinsicTest.swift diff --git a/Tests/XMLCoderTests/CompositeChoiceTests.swift b/Tests/XMLCoderTests/AdvancedFeatures/CompositeChoiceTests.swift similarity index 100% rename from Tests/XMLCoderTests/CompositeChoiceTests.swift rename to Tests/XMLCoderTests/AdvancedFeatures/CompositeChoiceTests.swift diff --git a/Tests/XMLCoderTests/DynamicNodeDecodingTest.swift b/Tests/XMLCoderTests/AdvancedFeatures/DynamicNodeDecodingTest.swift similarity index 100% rename from Tests/XMLCoderTests/DynamicNodeDecodingTest.swift rename to Tests/XMLCoderTests/AdvancedFeatures/DynamicNodeDecodingTest.swift diff --git a/Tests/XMLCoderTests/DynamicNodeEncodingTest.swift b/Tests/XMLCoderTests/AdvancedFeatures/DynamicNodeEncodingTest.swift similarity index 100% rename from Tests/XMLCoderTests/DynamicNodeEncodingTest.swift rename to Tests/XMLCoderTests/AdvancedFeatures/DynamicNodeEncodingTest.swift diff --git a/Tests/XMLCoderTests/ErrorContextTest.swift b/Tests/XMLCoderTests/AdvancedFeatures/ErrorContextTest.swift similarity index 100% rename from Tests/XMLCoderTests/ErrorContextTest.swift rename to Tests/XMLCoderTests/AdvancedFeatures/ErrorContextTest.swift diff --git a/Tests/XMLCoderTests/MixedChoiceAndNonChoiceTests.swift b/Tests/XMLCoderTests/AdvancedFeatures/MixedChoiceAndNonChoiceTests.swift similarity index 100% rename from Tests/XMLCoderTests/MixedChoiceAndNonChoiceTests.swift rename to Tests/XMLCoderTests/AdvancedFeatures/MixedChoiceAndNonChoiceTests.swift diff --git a/Tests/XMLCoderTests/NestedAttributeChoiceTests.swift b/Tests/XMLCoderTests/AdvancedFeatures/NestedAttributeChoiceTests.swift similarity index 100% rename from Tests/XMLCoderTests/NestedAttributeChoiceTests.swift rename to Tests/XMLCoderTests/AdvancedFeatures/NestedAttributeChoiceTests.swift diff --git a/Tests/XMLCoderTests/NestedChoiceArrayTest.swift b/Tests/XMLCoderTests/AdvancedFeatures/NestedChoiceArrayTest.swift similarity index 100% rename from Tests/XMLCoderTests/NestedChoiceArrayTest.swift rename to Tests/XMLCoderTests/AdvancedFeatures/NestedChoiceArrayTest.swift diff --git a/Tests/XMLCoderTests/NestedChoiceTests.swift b/Tests/XMLCoderTests/AdvancedFeatures/NestedChoiceTests.swift similarity index 100% rename from Tests/XMLCoderTests/NestedChoiceTests.swift rename to Tests/XMLCoderTests/AdvancedFeatures/NestedChoiceTests.swift diff --git a/Tests/XMLCoderTests/SimpleChoiceTests.swift b/Tests/XMLCoderTests/AdvancedFeatures/SimpleChoiceTests.swift similarity index 100% rename from Tests/XMLCoderTests/SimpleChoiceTests.swift rename to Tests/XMLCoderTests/AdvancedFeatures/SimpleChoiceTests.swift diff --git a/Tests/XMLCoderTests/BooksTest.swift b/Tests/XMLCoderTests/EndToEnd/BooksTest.swift similarity index 100% rename from Tests/XMLCoderTests/BooksTest.swift rename to Tests/XMLCoderTests/EndToEnd/BooksTest.swift diff --git a/Tests/XMLCoderTests/BorderTest.swift b/Tests/XMLCoderTests/EndToEnd/BorderTest.swift similarity index 100% rename from Tests/XMLCoderTests/BorderTest.swift rename to Tests/XMLCoderTests/EndToEnd/BorderTest.swift diff --git a/Tests/XMLCoderTests/BreakfastTest.swift b/Tests/XMLCoderTests/EndToEnd/BreakfastTest.swift similarity index 100% rename from Tests/XMLCoderTests/BreakfastTest.swift rename to Tests/XMLCoderTests/EndToEnd/BreakfastTest.swift diff --git a/Tests/XMLCoderTests/CDCatalog.swift b/Tests/XMLCoderTests/EndToEnd/CDCatalog.swift similarity index 100% rename from Tests/XMLCoderTests/CDCatalog.swift rename to Tests/XMLCoderTests/EndToEnd/CDCatalog.swift diff --git a/Tests/XMLCoderTests/CDTest.swift b/Tests/XMLCoderTests/EndToEnd/CDTest.swift similarity index 100% rename from Tests/XMLCoderTests/CDTest.swift rename to Tests/XMLCoderTests/EndToEnd/CDTest.swift diff --git a/Tests/XMLCoderTests/NoteTest.swift b/Tests/XMLCoderTests/EndToEnd/NoteTest.swift similarity index 100% rename from Tests/XMLCoderTests/NoteTest.swift rename to Tests/XMLCoderTests/EndToEnd/NoteTest.swift diff --git a/Tests/XMLCoderTests/PlantCatalog.swift b/Tests/XMLCoderTests/EndToEnd/PlantCatalog.swift similarity index 100% rename from Tests/XMLCoderTests/PlantCatalog.swift rename to Tests/XMLCoderTests/EndToEnd/PlantCatalog.swift diff --git a/Tests/XMLCoderTests/PlantTest.swift b/Tests/XMLCoderTests/EndToEnd/PlantTest.swift similarity index 100% rename from Tests/XMLCoderTests/PlantTest.swift rename to Tests/XMLCoderTests/EndToEnd/PlantTest.swift diff --git a/Tests/XMLCoderTests/RJISample.swift b/Tests/XMLCoderTests/EndToEnd/RJISample.swift similarity index 100% rename from Tests/XMLCoderTests/RJISample.swift rename to Tests/XMLCoderTests/EndToEnd/RJISample.swift diff --git a/Tests/XMLCoderTests/RJITest.swift b/Tests/XMLCoderTests/EndToEnd/RJITest.swift similarity index 100% rename from Tests/XMLCoderTests/RJITest.swift rename to Tests/XMLCoderTests/EndToEnd/RJITest.swift diff --git a/Tests/XMLCoderTests/RelationshipsTest.swift b/Tests/XMLCoderTests/EndToEnd/RelationshipsTest.swift similarity index 100% rename from Tests/XMLCoderTests/RelationshipsTest.swift rename to Tests/XMLCoderTests/EndToEnd/RelationshipsTest.swift diff --git a/Tests/XMLCoderTests/PrettyPrintTest.swift b/Tests/XMLCoderTests/PrettyPrintTest.swift new file mode 100644 index 00000000..89f05fa7 --- /dev/null +++ b/Tests/XMLCoderTests/PrettyPrintTest.swift @@ -0,0 +1,78 @@ +// Copyright (c) 2020 XMLCoder contributors +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +import XCTest +import XMLCoder + +private struct TopContainer: Encodable { + let nested: NestedContainer +} + +private struct NestedContainer: Encodable { + let values: [String] +} + +final class PrettyPrintTest: XCTestCase { + private let testContainer = TopContainer(nested: NestedContainer(values: ["foor", "bar"])) + + func testDefaultIndentation() throws { + let encoder = XMLEncoder() + encoder.outputFormatting = [.prettyPrinted] + + let encoded = try encoder.encode(testContainer) + + XCTAssertEqual( + String(data: encoded, encoding: .utf8)!, + """ + + + foor + bar + + + """ + ) + } + + func testSpaces() throws { + let encoder = XMLEncoder() + encoder.outputFormatting = [.prettyPrinted] + encoder.prettyPrintIndentation = .spaces(3) + + let encoded = try encoder.encode(testContainer) + + XCTAssertEqual( + String(data: encoded, encoding: .utf8)!, + """ + + + foor + bar + + + """ + ) + } + + func testTabs() throws { + let encoder = XMLEncoder() + encoder.outputFormatting = [.prettyPrinted] + encoder.prettyPrintIndentation = .tabs(2) + + let encoded = try encoder.encode(testContainer) + + XCTAssertEqual( + String(data: encoded, encoding: .utf8)!, + """ + + \t\t + \t\t\t\tfoor + \t\t\t\tbar + \t\t + + """ + ) + } +} diff --git a/Tests/XMLCoderTests/XCTestManifests.swift b/Tests/XMLCoderTests/XCTestManifests.swift index 9162fa8d..7ca8f78d 100644 --- a/Tests/XMLCoderTests/XCTestManifests.swift +++ b/Tests/XMLCoderTests/XCTestManifests.swift @@ -125,6 +125,7 @@ extension CDATATest { // `swift test --generate-linuxmain` // to regenerate. static let __allTests__CDATATest = [ + ("testCDataTypes", testCDataTypes), ("testXML", testXML), ] } @@ -147,6 +148,17 @@ extension ClassTests { ] } +extension CombineTests { + // DO NOT MODIFY: This is autogenerated, use: + // `swift test --generate-linuxmain` + // to regenerate. + static let __allTests__CombineTests = [ + ("testCustomEncode", testCustomEncode), + ("testDecode", testDecode), + ("testEncode", testEncode), + ] +} + extension DataBoxTests { // DO NOT MODIFY: This is autogenerated, use: // `swift test --generate-linuxmain` @@ -585,6 +597,17 @@ extension PlantTest { ] } +extension PrettyPrintTest { + // DO NOT MODIFY: This is autogenerated, use: + // `swift test --generate-linuxmain` + // to regenerate. + static let __allTests__PrettyPrintTest = [ + ("testDefaultIndentation", testDefaultIndentation), + ("testSpaces", testSpaces), + ("testTabs", testTabs), + ] +} + extension QuoteDecodingTest { // DO NOT MODIFY: This is autogenerated, use: // `swift test --generate-linuxmain` @@ -862,6 +885,7 @@ public func __allTests() -> [XCTestCaseEntry] { testCase(CDATATest.__allTests__CDATATest), testCase(CDTest.__allTests__CDTest), testCase(ClassTests.__allTests__ClassTests), + testCase(CombineTests.__allTests__CombineTests), testCase(DataBoxTests.__allTests__DataBoxTests), testCase(DataTests.__allTests__DataTests), testCase(DateBoxTests.__allTests__DateBoxTests), @@ -898,6 +922,7 @@ public func __allTests() -> [XCTestCaseEntry] { testCase(NullTests.__allTests__NullTests), testCase(OptionalTests.__allTests__OptionalTests), testCase(PlantTest.__allTests__PlantTest), + testCase(PrettyPrintTest.__allTests__PrettyPrintTest), testCase(QuoteDecodingTest.__allTests__QuoteDecodingTest), testCase(RJITest.__allTests__RJITest), testCase(RelationshipsTest.__allTests__RelationshipsTest), From 78fc95cadfcaa25fd33ffdf7cf4b0c72d1ad773b Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sun, 31 May 2020 19:28:03 +0100 Subject: [PATCH 2/3] Fix Xcode project, run SwiftFormat within Danger --- Dangerfile.swift | 6 + XMLCoder.xcodeproj/project.pbxproj | 200 ++++++++++++++++------------- azure-pipelines.yml | 5 - lint.sh | 9 -- 4 files changed, 118 insertions(+), 102 deletions(-) delete mode 100755 lint.sh diff --git a/Dangerfile.swift b/Dangerfile.swift index 1f9e4348..aec0ea51 100644 --- a/Dangerfile.swift +++ b/Dangerfile.swift @@ -6,3 +6,9 @@ import Danger SwiftLint.lint(inline: true, configFile: ".swiftlint.yml", strict: true) + +let danger = Danger() + +print("Calling SwiftFormat...") + +danger.utils.exec("swiftformat", arguments: ["."]) diff --git a/XMLCoder.xcodeproj/project.pbxproj b/XMLCoder.xcodeproj/project.pbxproj index 0d988a94..44db9194 100644 --- a/XMLCoder.xcodeproj/project.pbxproj +++ b/XMLCoder.xcodeproj/project.pbxproj @@ -25,13 +25,35 @@ 4A062D4F2341924E009BCAC1 /* CombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4A062D4E2341924E009BCAC1 /* CombineTests.swift */; }; 970FA9DC2422EFAE0023C1EC /* RootLevetExtraAttributesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 970FA9DB2422EFAE0023C1EC /* RootLevetExtraAttributesTests.swift */; }; B54555BC2343F5C1000D4128 /* EmptyArrayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B54555BB2343F5C1000D4128 /* EmptyArrayTest.swift */; }; - B5E67533238B47E5006C8548 /* MixedChoiceAndNonChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E67532238B47E5006C8548 /* MixedChoiceAndNonChoiceTests.swift */; }; B5E67535238B4960006C8548 /* IntOrString.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5E67534238B4960006C8548 /* IntOrString.swift */; }; - B5EA3BB6230F237800D8D69B /* NestedChoiceArrayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5EA3BB4230F235C00D8D69B /* NestedChoiceArrayTest.swift */; }; B5F74472233F74E400BBDB15 /* RootLevelAttributeTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = B5F74471233F74E400BBDB15 /* RootLevelAttributeTest.swift */; }; D11E094623491BCE00C24DCB /* DoubleBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = D11E094523491BCE00C24DCB /* DoubleBox.swift */; }; D11E094A234924C500C24DCB /* ValueBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = D11E0949234924C500C24DCB /* ValueBox.swift */; }; D18FBFB82348FAE500FA4F65 /* QuoteDecodingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D18FBFB72348FAE500FA4F65 /* QuoteDecodingTest.swift */; }; + D1A1838524842C980058E66D /* PrettyPrintTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838024842C7D0058E66D /* PrettyPrintTest.swift */; }; + D1A1838624842C9E0058E66D /* CDATATest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838324842C920058E66D /* CDATATest.swift */; }; + D1A183B524842DE10058E66D /* CDCatalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839424842D710058E66D /* CDCatalog.swift */; }; + D1A183B624842DE20058E66D /* BooksTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839524842D710058E66D /* BooksTest.swift */; }; + D1A183B724842DE20058E66D /* NoteTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839624842D710058E66D /* NoteTest.swift */; }; + D1A183B824842DE20058E66D /* CDTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839724842D710058E66D /* CDTest.swift */; }; + D1A183B924842DE20058E66D /* RelationshipsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839824842D710058E66D /* RelationshipsTest.swift */; }; + D1A183BA24842DE20058E66D /* PlantTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839924842D710058E66D /* PlantTest.swift */; }; + D1A183BB24842DE20058E66D /* BreakfastTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839A24842D710058E66D /* BreakfastTest.swift */; }; + D1A183BC24842DE20058E66D /* RJISample.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839B24842D710058E66D /* RJISample.swift */; }; + D1A183BD24842DE20058E66D /* PlantCatalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839C24842D710058E66D /* PlantCatalog.swift */; }; + D1A183BE24842DE20058E66D /* RJITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839D24842D710058E66D /* RJITest.swift */; }; + D1A183BF24842DE20058E66D /* BorderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839E24842D710058E66D /* BorderTest.swift */; }; + D1A183C024842DE80058E66D /* DynamicNodeDecodingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838824842D710058E66D /* DynamicNodeDecodingTest.swift */; }; + D1A183C124842DE80058E66D /* AttributedEnumIntrinsicTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838924842D710058E66D /* AttributedEnumIntrinsicTest.swift */; }; + D1A183C224842DE80058E66D /* NestedChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838A24842D710058E66D /* NestedChoiceTests.swift */; }; + D1A183C324842DE80058E66D /* AttributedIntrinsicTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838B24842D710058E66D /* AttributedIntrinsicTest.swift */; }; + D1A183C424842DE80058E66D /* MixedChoiceAndNonChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838C24842D710058E66D /* MixedChoiceAndNonChoiceTests.swift */; }; + D1A183C524842DE80058E66D /* SimpleChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838D24842D710058E66D /* SimpleChoiceTests.swift */; }; + D1A183C624842DE80058E66D /* NestedAttributeChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838E24842D710058E66D /* NestedAttributeChoiceTests.swift */; }; + D1A183C724842DE80058E66D /* ErrorContextTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1838F24842D710058E66D /* ErrorContextTest.swift */; }; + D1A183C824842DE80058E66D /* DynamicNodeEncodingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839024842D710058E66D /* DynamicNodeEncodingTest.swift */; }; + D1A183C924842DE80058E66D /* CompositeChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839124842D710058E66D /* CompositeChoiceTests.swift */; }; + D1A183CA24842DE80058E66D /* NestedChoiceArrayTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A1839224842D710058E66D /* NestedChoiceArrayTest.swift */; }; OBJ_148 /* BoolBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* BoolBox.swift */; }; OBJ_149 /* Box.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* Box.swift */; }; OBJ_150 /* ChoiceBox.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* ChoiceBox.swift */; }; @@ -77,16 +99,12 @@ OBJ_190 /* XMLReferencingEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_56 /* XMLReferencingEncoder.swift */; }; OBJ_191 /* XMLUnkeyedEncodingContainer.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_57 /* XMLUnkeyedEncodingContainer.swift */; }; OBJ_198 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; }; - OBJ_209 /* AttributedEnumIntrinsicTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_60 /* AttributedEnumIntrinsicTest.swift */; }; - OBJ_210 /* AttributedIntrinsicTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_61 /* AttributedIntrinsicTest.swift */; }; OBJ_211 /* String+ExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_63 /* String+ExtensionsTests.swift */; }; OBJ_212 /* XMLElementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_64 /* XMLElementTests.swift */; }; OBJ_213 /* XMLHeaderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_65 /* XMLHeaderTests.swift */; }; OBJ_214 /* XMLKeyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_66 /* XMLKeyTests.swift */; }; OBJ_215 /* XMLStackParserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_67 /* XMLStackParserTests.swift */; }; OBJ_216 /* BenchmarkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_68 /* BenchmarkTests.swift */; }; - OBJ_217 /* BooksTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_69 /* BooksTest.swift */; }; - OBJ_218 /* BorderTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_70 /* BorderTest.swift */; }; OBJ_219 /* BoolBoxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_72 /* BoolBoxTests.swift */; }; OBJ_220 /* DataBoxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_73 /* DataBoxTests.swift */; }; OBJ_221 /* DateBoxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_74 /* DateBoxTests.swift */; }; @@ -100,15 +118,8 @@ OBJ_229 /* UIntBoxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_82 /* UIntBoxTests.swift */; }; OBJ_230 /* URLBoxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_83 /* URLBoxTests.swift */; }; OBJ_231 /* UnkeyedBoxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_84 /* UnkeyedBoxTests.swift */; }; - OBJ_232 /* BreakfastTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_85 /* BreakfastTest.swift */; }; - OBJ_233 /* CDCatalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_86 /* CDCatalog.swift */; }; - OBJ_234 /* CDTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_87 /* CDTest.swift */; }; OBJ_235 /* ClassTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_88 /* ClassTests.swift */; }; - OBJ_236 /* CompositeChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_89 /* CompositeChoiceTests.swift */; }; OBJ_237 /* DecodingContainerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_90 /* DecodingContainerTests.swift */; }; - OBJ_238 /* DynamicNodeDecodingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_91 /* DynamicNodeDecodingTest.swift */; }; - OBJ_239 /* DynamicNodeEncodingTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_92 /* DynamicNodeEncodingTest.swift */; }; - OBJ_240 /* ErrorContextTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_93 /* ErrorContextTest.swift */; }; OBJ_241 /* KeyDecodingAndEncodingStrategyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_94 /* KeyDecodingAndEncodingStrategyTests.swift */; }; OBJ_242 /* BoolTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_96 /* BoolTests.swift */; }; OBJ_243 /* BoxTreeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_97 /* BoxTreeTests.swift */; }; @@ -129,17 +140,8 @@ OBJ_258 /* UnkeyedTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_112 /* UnkeyedTests.swift */; }; OBJ_259 /* MixedContainerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_113 /* MixedContainerTest.swift */; }; OBJ_260 /* NamespaceTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_114 /* NamespaceTest.swift */; }; - OBJ_261 /* NestedAttributeChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_115 /* NestedAttributeChoiceTests.swift */; }; - OBJ_262 /* NestedChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_116 /* NestedChoiceTests.swift */; }; OBJ_263 /* NestingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_117 /* NestingTests.swift */; }; OBJ_264 /* NodeEncodingStrategyTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_118 /* NodeEncodingStrategyTests.swift */; }; - OBJ_265 /* NoteTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_119 /* NoteTest.swift */; }; - OBJ_266 /* PlantCatalog.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_120 /* PlantCatalog.swift */; }; - OBJ_267 /* PlantTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_121 /* PlantTest.swift */; }; - OBJ_268 /* RJISample.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_122 /* RJISample.swift */; }; - OBJ_269 /* RJITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_123 /* RJITest.swift */; }; - OBJ_270 /* RelationshipsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_124 /* RelationshipsTest.swift */; }; - OBJ_271 /* SimpleChoiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_125 /* SimpleChoiceTests.swift */; }; OBJ_272 /* SingleChildTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_126 /* SingleChildTests.swift */; }; OBJ_273 /* SpacePreserveTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_127 /* SpacePreserveTest.swift */; }; OBJ_275 /* XMLCoder.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "XMLCoder::XMLCoder::Product" /* XMLCoder.framework */; }; @@ -167,13 +169,35 @@ 4A062D4E2341924E009BCAC1 /* CombineTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CombineTests.swift; sourceTree = ""; }; 970FA9DB2422EFAE0023C1EC /* RootLevetExtraAttributesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootLevetExtraAttributesTests.swift; sourceTree = ""; }; B54555BB2343F5C1000D4128 /* EmptyArrayTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyArrayTest.swift; sourceTree = ""; }; - B5E67532238B47E5006C8548 /* MixedChoiceAndNonChoiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MixedChoiceAndNonChoiceTests.swift; sourceTree = ""; }; B5E67534238B4960006C8548 /* IntOrString.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IntOrString.swift; sourceTree = ""; }; - B5EA3BB4230F235C00D8D69B /* NestedChoiceArrayTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedChoiceArrayTest.swift; sourceTree = ""; }; B5F74471233F74E400BBDB15 /* RootLevelAttributeTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootLevelAttributeTest.swift; sourceTree = ""; }; D11E094523491BCE00C24DCB /* DoubleBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DoubleBox.swift; sourceTree = ""; }; D11E0949234924C500C24DCB /* ValueBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValueBox.swift; sourceTree = ""; }; D18FBFB72348FAE500FA4F65 /* QuoteDecodingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuoteDecodingTest.swift; sourceTree = ""; }; + D1A1838024842C7D0058E66D /* PrettyPrintTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PrettyPrintTest.swift; sourceTree = ""; }; + D1A1838324842C920058E66D /* CDATATest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CDATATest.swift; sourceTree = ""; }; + D1A1838824842D710058E66D /* DynamicNodeDecodingTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DynamicNodeDecodingTest.swift; sourceTree = ""; }; + D1A1838924842D710058E66D /* AttributedEnumIntrinsicTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AttributedEnumIntrinsicTest.swift; sourceTree = ""; }; + D1A1838A24842D710058E66D /* NestedChoiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NestedChoiceTests.swift; sourceTree = ""; }; + D1A1838B24842D710058E66D /* AttributedIntrinsicTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AttributedIntrinsicTest.swift; sourceTree = ""; }; + D1A1838C24842D710058E66D /* MixedChoiceAndNonChoiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MixedChoiceAndNonChoiceTests.swift; sourceTree = ""; }; + D1A1838D24842D710058E66D /* SimpleChoiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SimpleChoiceTests.swift; sourceTree = ""; }; + D1A1838E24842D710058E66D /* NestedAttributeChoiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NestedAttributeChoiceTests.swift; sourceTree = ""; }; + D1A1838F24842D710058E66D /* ErrorContextTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ErrorContextTest.swift; sourceTree = ""; }; + D1A1839024842D710058E66D /* DynamicNodeEncodingTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DynamicNodeEncodingTest.swift; sourceTree = ""; }; + D1A1839124842D710058E66D /* CompositeChoiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CompositeChoiceTests.swift; sourceTree = ""; }; + D1A1839224842D710058E66D /* NestedChoiceArrayTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NestedChoiceArrayTest.swift; sourceTree = ""; }; + D1A1839424842D710058E66D /* CDCatalog.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CDCatalog.swift; sourceTree = ""; }; + D1A1839524842D710058E66D /* BooksTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BooksTest.swift; sourceTree = ""; }; + D1A1839624842D710058E66D /* NoteTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NoteTest.swift; sourceTree = ""; }; + D1A1839724842D710058E66D /* CDTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CDTest.swift; sourceTree = ""; }; + D1A1839824842D710058E66D /* RelationshipsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RelationshipsTest.swift; sourceTree = ""; }; + D1A1839924842D710058E66D /* PlantTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlantTest.swift; sourceTree = ""; }; + D1A1839A24842D710058E66D /* BreakfastTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BreakfastTest.swift; sourceTree = ""; }; + D1A1839B24842D710058E66D /* RJISample.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RJISample.swift; sourceTree = ""; }; + D1A1839C24842D710058E66D /* PlantCatalog.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PlantCatalog.swift; sourceTree = ""; }; + D1A1839D24842D710058E66D /* RJITest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RJITest.swift; sourceTree = ""; }; + D1A1839E24842D710058E66D /* BorderTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BorderTest.swift; sourceTree = ""; }; OBJ_100 /* DecimalTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DecimalTests.swift; sourceTree = ""; }; OBJ_101 /* EmptyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmptyTests.swift; sourceTree = ""; }; OBJ_102 /* FloatTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatTests.swift; sourceTree = ""; }; @@ -189,18 +213,9 @@ OBJ_112 /* UnkeyedTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnkeyedTests.swift; sourceTree = ""; }; OBJ_113 /* MixedContainerTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MixedContainerTest.swift; sourceTree = ""; }; OBJ_114 /* NamespaceTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NamespaceTest.swift; sourceTree = ""; }; - OBJ_115 /* NestedAttributeChoiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedAttributeChoiceTests.swift; sourceTree = ""; }; - OBJ_116 /* NestedChoiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestedChoiceTests.swift; sourceTree = ""; }; OBJ_117 /* NestingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NestingTests.swift; sourceTree = ""; }; OBJ_118 /* NodeEncodingStrategyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NodeEncodingStrategyTests.swift; sourceTree = ""; }; - OBJ_119 /* NoteTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoteTest.swift; sourceTree = ""; }; OBJ_12 /* BoolBox.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoolBox.swift; sourceTree = ""; }; - OBJ_120 /* PlantCatalog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlantCatalog.swift; sourceTree = ""; }; - OBJ_121 /* PlantTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlantTest.swift; sourceTree = ""; }; - OBJ_122 /* RJISample.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RJISample.swift; sourceTree = ""; }; - OBJ_123 /* RJITest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RJITest.swift; sourceTree = ""; }; - OBJ_124 /* RelationshipsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RelationshipsTest.swift; sourceTree = ""; }; - OBJ_125 /* SimpleChoiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimpleChoiceTests.swift; sourceTree = ""; }; OBJ_126 /* SingleChildTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SingleChildTests.swift; sourceTree = ""; }; OBJ_127 /* SpacePreserveTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpacePreserveTest.swift; sourceTree = ""; }; OBJ_13 /* Box.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Box.swift; sourceTree = ""; }; @@ -259,16 +274,12 @@ OBJ_56 /* XMLReferencingEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XMLReferencingEncoder.swift; sourceTree = ""; }; OBJ_57 /* XMLUnkeyedEncodingContainer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XMLUnkeyedEncodingContainer.swift; sourceTree = ""; }; OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = ""; }; - OBJ_60 /* AttributedEnumIntrinsicTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttributedEnumIntrinsicTest.swift; sourceTree = ""; }; - OBJ_61 /* AttributedIntrinsicTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AttributedIntrinsicTest.swift; sourceTree = ""; }; OBJ_63 /* String+ExtensionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+ExtensionsTests.swift"; sourceTree = ""; }; OBJ_64 /* XMLElementTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XMLElementTests.swift; sourceTree = ""; }; OBJ_65 /* XMLHeaderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XMLHeaderTests.swift; sourceTree = ""; }; OBJ_66 /* XMLKeyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XMLKeyTests.swift; sourceTree = ""; }; OBJ_67 /* XMLStackParserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = XMLStackParserTests.swift; sourceTree = ""; }; OBJ_68 /* BenchmarkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BenchmarkTests.swift; sourceTree = ""; }; - OBJ_69 /* BooksTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BooksTest.swift; sourceTree = ""; }; - OBJ_70 /* BorderTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BorderTest.swift; sourceTree = ""; }; OBJ_72 /* BoolBoxTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoolBoxTests.swift; sourceTree = ""; }; OBJ_73 /* DataBoxTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataBoxTests.swift; sourceTree = ""; }; OBJ_74 /* DateBoxTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateBoxTests.swift; sourceTree = ""; }; @@ -282,16 +293,9 @@ OBJ_82 /* UIntBoxTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIntBoxTests.swift; sourceTree = ""; }; OBJ_83 /* URLBoxTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLBoxTests.swift; sourceTree = ""; }; OBJ_84 /* UnkeyedBoxTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UnkeyedBoxTests.swift; sourceTree = ""; }; - OBJ_85 /* BreakfastTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BreakfastTest.swift; sourceTree = ""; }; - OBJ_86 /* CDCatalog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CDCatalog.swift; sourceTree = ""; }; - OBJ_87 /* CDTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CDTest.swift; sourceTree = ""; }; OBJ_88 /* ClassTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClassTests.swift; sourceTree = ""; }; - OBJ_89 /* CompositeChoiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CompositeChoiceTests.swift; sourceTree = ""; }; OBJ_9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; OBJ_90 /* DecodingContainerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DecodingContainerTests.swift; sourceTree = ""; }; - OBJ_91 /* DynamicNodeDecodingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicNodeDecodingTest.swift; sourceTree = ""; }; - OBJ_92 /* DynamicNodeEncodingTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DynamicNodeEncodingTest.swift; sourceTree = ""; }; - OBJ_93 /* ErrorContextTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ErrorContextTest.swift; sourceTree = ""; }; OBJ_94 /* KeyDecodingAndEncodingStrategyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyDecodingAndEncodingStrategyTests.swift; sourceTree = ""; }; OBJ_96 /* BoolTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoolTests.swift; sourceTree = ""; }; OBJ_97 /* BoxTreeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BoxTreeTests.swift; sourceTree = ""; }; @@ -320,6 +324,42 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + D1A1838724842D710058E66D /* AdvancedFeatures */ = { + isa = PBXGroup; + children = ( + D1A1838824842D710058E66D /* DynamicNodeDecodingTest.swift */, + D1A1838924842D710058E66D /* AttributedEnumIntrinsicTest.swift */, + D1A1838A24842D710058E66D /* NestedChoiceTests.swift */, + D1A1838B24842D710058E66D /* AttributedIntrinsicTest.swift */, + D1A1838C24842D710058E66D /* MixedChoiceAndNonChoiceTests.swift */, + D1A1838D24842D710058E66D /* SimpleChoiceTests.swift */, + D1A1838E24842D710058E66D /* NestedAttributeChoiceTests.swift */, + D1A1838F24842D710058E66D /* ErrorContextTest.swift */, + D1A1839024842D710058E66D /* DynamicNodeEncodingTest.swift */, + D1A1839124842D710058E66D /* CompositeChoiceTests.swift */, + D1A1839224842D710058E66D /* NestedChoiceArrayTest.swift */, + ); + path = AdvancedFeatures; + sourceTree = ""; + }; + D1A1839324842D710058E66D /* EndToEnd */ = { + isa = PBXGroup; + children = ( + D1A1839424842D710058E66D /* CDCatalog.swift */, + D1A1839524842D710058E66D /* BooksTest.swift */, + D1A1839624842D710058E66D /* NoteTest.swift */, + D1A1839724842D710058E66D /* CDTest.swift */, + D1A1839824842D710058E66D /* RelationshipsTest.swift */, + D1A1839924842D710058E66D /* PlantTest.swift */, + D1A1839A24842D710058E66D /* BreakfastTest.swift */, + D1A1839B24842D710058E66D /* RJISample.swift */, + D1A1839C24842D710058E66D /* PlantCatalog.swift */, + D1A1839D24842D710058E66D /* RJITest.swift */, + D1A1839E24842D710058E66D /* BorderTest.swift */, + ); + path = EndToEnd; + sourceTree = ""; + }; OBJ_10 /* Auxiliaries */ = { isa = PBXGroup; children = ( @@ -440,43 +480,25 @@ OBJ_62 /* Auxiliary */, OBJ_71 /* Box */, OBJ_95 /* Minimal */, - OBJ_60 /* AttributedEnumIntrinsicTest.swift */, - OBJ_61 /* AttributedIntrinsicTest.swift */, + D1A1838724842D710058E66D /* AdvancedFeatures */, + D1A1839324842D710058E66D /* EndToEnd */, + D1A1838324842C920058E66D /* CDATATest.swift */, + D1A1838024842C7D0058E66D /* PrettyPrintTest.swift */, OBJ_68 /* BenchmarkTests.swift */, - OBJ_69 /* BooksTest.swift */, - OBJ_70 /* BorderTest.swift */, - OBJ_85 /* BreakfastTest.swift */, - OBJ_86 /* CDCatalog.swift */, - OBJ_87 /* CDTest.swift */, OBJ_88 /* ClassTests.swift */, 4A062D4E2341924E009BCAC1 /* CombineTests.swift */, - OBJ_89 /* CompositeChoiceTests.swift */, OBJ_90 /* DecodingContainerTests.swift */, - OBJ_91 /* DynamicNodeDecodingTest.swift */, - OBJ_92 /* DynamicNodeEncodingTest.swift */, B54555BB2343F5C1000D4128 /* EmptyArrayTest.swift */, 07E441B92340F14B00890F46 /* EmptyElementEmptyStringTests.swift */, - OBJ_93 /* ErrorContextTest.swift */, B5E67534238B4960006C8548 /* IntOrString.swift */, OBJ_94 /* KeyDecodingAndEncodingStrategyTests.swift */, - B5E67532238B47E5006C8548 /* MixedChoiceAndNonChoiceTests.swift */, OBJ_113 /* MixedContainerTest.swift */, OBJ_114 /* NamespaceTest.swift */, - OBJ_115 /* NestedAttributeChoiceTests.swift */, - B5EA3BB4230F235C00D8D69B /* NestedChoiceArrayTest.swift */, - OBJ_116 /* NestedChoiceTests.swift */, OBJ_117 /* NestingTests.swift */, OBJ_118 /* NodeEncodingStrategyTests.swift */, - OBJ_119 /* NoteTest.swift */, - OBJ_120 /* PlantCatalog.swift */, - OBJ_121 /* PlantTest.swift */, D18FBFB72348FAE500FA4F65 /* QuoteDecodingTest.swift */, - OBJ_124 /* RelationshipsTest.swift */, - OBJ_122 /* RJISample.swift */, - OBJ_123 /* RJITest.swift */, B5F74471233F74E400BBDB15 /* RootLevelAttributeTest.swift */, 970FA9DB2422EFAE0023C1EC /* RootLevetExtraAttributesTests.swift */, - OBJ_125 /* SimpleChoiceTests.swift */, OBJ_126 /* SingleChildTests.swift */, OBJ_127 /* SpacePreserveTest.swift */, ); @@ -727,18 +749,19 @@ isa = PBXSourcesBuildPhase; buildActionMask = 0; files = ( - OBJ_209 /* AttributedEnumIntrinsicTest.swift in Sources */, - OBJ_210 /* AttributedIntrinsicTest.swift in Sources */, OBJ_211 /* String+ExtensionsTests.swift in Sources */, OBJ_212 /* XMLElementTests.swift in Sources */, OBJ_213 /* XMLHeaderTests.swift in Sources */, + D1A1838624842C9E0058E66D /* CDATATest.swift in Sources */, + D1A183BD24842DE20058E66D /* PlantCatalog.swift in Sources */, OBJ_214 /* XMLKeyTests.swift in Sources */, + D1A183C824842DE80058E66D /* DynamicNodeEncodingTest.swift in Sources */, OBJ_215 /* XMLStackParserTests.swift in Sources */, D18FBFB82348FAE500FA4F65 /* QuoteDecodingTest.swift in Sources */, + D1A183C624842DE80058E66D /* NestedAttributeChoiceTests.swift in Sources */, OBJ_216 /* BenchmarkTests.swift in Sources */, - OBJ_217 /* BooksTest.swift in Sources */, + D1A183CA24842DE80058E66D /* NestedChoiceArrayTest.swift in Sources */, B54555BC2343F5C1000D4128 /* EmptyArrayTest.swift in Sources */, - OBJ_218 /* BorderTest.swift in Sources */, OBJ_219 /* BoolBoxTests.swift in Sources */, OBJ_220 /* DataBoxTests.swift in Sources */, OBJ_221 /* DateBoxTests.swift in Sources */, @@ -746,29 +769,33 @@ OBJ_223 /* FloatBoxTests.swift in Sources */, OBJ_224 /* IntBoxTests.swift in Sources */, OBJ_225 /* KeyedBoxTests.swift in Sources */, + D1A183BB24842DE20058E66D /* BreakfastTest.swift in Sources */, + D1A183B624842DE20058E66D /* BooksTest.swift in Sources */, + D1A183B724842DE20058E66D /* NoteTest.swift in Sources */, OBJ_226 /* NullBoxTests.swift in Sources */, OBJ_227 /* SharedBoxTests.swift in Sources */, + D1A183BC24842DE20058E66D /* RJISample.swift in Sources */, + D1A183C924842DE80058E66D /* CompositeChoiceTests.swift in Sources */, OBJ_228 /* StringBoxTests.swift in Sources */, OBJ_229 /* UIntBoxTests.swift in Sources */, - B5E67533238B47E5006C8548 /* MixedChoiceAndNonChoiceTests.swift in Sources */, + D1A183C724842DE80058E66D /* ErrorContextTest.swift in Sources */, OBJ_230 /* URLBoxTests.swift in Sources */, + D1A183B524842DE10058E66D /* CDCatalog.swift in Sources */, OBJ_231 /* UnkeyedBoxTests.swift in Sources */, - OBJ_232 /* BreakfastTest.swift in Sources */, - OBJ_233 /* CDCatalog.swift in Sources */, - OBJ_234 /* CDTest.swift in Sources */, + D1A183C024842DE80058E66D /* DynamicNodeDecodingTest.swift in Sources */, OBJ_235 /* ClassTests.swift in Sources */, - OBJ_236 /* CompositeChoiceTests.swift in Sources */, OBJ_237 /* DecodingContainerTests.swift in Sources */, - OBJ_238 /* DynamicNodeDecodingTest.swift in Sources */, - OBJ_239 /* DynamicNodeEncodingTest.swift in Sources */, - OBJ_240 /* ErrorContextTest.swift in Sources */, OBJ_241 /* KeyDecodingAndEncodingStrategyTests.swift in Sources */, OBJ_242 /* BoolTests.swift in Sources */, OBJ_243 /* BoxTreeTests.swift in Sources */, B5F74472233F74E400BBDB15 /* RootLevelAttributeTest.swift in Sources */, + D1A183C124842DE80058E66D /* AttributedEnumIntrinsicTest.swift in Sources */, OBJ_244 /* DataTests.swift in Sources */, OBJ_245 /* DateTests.swift in Sources */, OBJ_246 /* DecimalTests.swift in Sources */, + D1A183C224842DE80058E66D /* NestedChoiceTests.swift in Sources */, + D1A183B924842DE20058E66D /* RelationshipsTest.swift in Sources */, + D1A183C524842DE80058E66D /* SimpleChoiceTests.swift in Sources */, OBJ_247 /* EmptyTests.swift in Sources */, OBJ_248 /* FloatTests.swift in Sources */, OBJ_249 /* IntTests.swift in Sources */, @@ -776,29 +803,26 @@ OBJ_251 /* KeyedTests.swift in Sources */, OBJ_252 /* NullTests.swift in Sources */, OBJ_253 /* OptionalTests.swift in Sources */, + D1A183BE24842DE20058E66D /* RJITest.swift in Sources */, 07E441BA2340F14B00890F46 /* EmptyElementEmptyStringTests.swift in Sources */, OBJ_254 /* StringTests.swift in Sources */, - B5EA3BB6230F237800D8D69B /* NestedChoiceArrayTest.swift in Sources */, OBJ_255 /* UIntTests.swift in Sources */, + D1A183C324842DE80058E66D /* AttributedIntrinsicTest.swift in Sources */, + D1A183C424842DE80058E66D /* MixedChoiceAndNonChoiceTests.swift in Sources */, OBJ_256 /* URLTests.swift in Sources */, OBJ_257 /* UnkeyedIntTests.swift in Sources */, + D1A183B824842DE20058E66D /* CDTest.swift in Sources */, OBJ_258 /* UnkeyedTests.swift in Sources */, OBJ_259 /* MixedContainerTest.swift in Sources */, OBJ_260 /* NamespaceTest.swift in Sources */, - OBJ_261 /* NestedAttributeChoiceTests.swift in Sources */, - OBJ_262 /* NestedChoiceTests.swift in Sources */, OBJ_263 /* NestingTests.swift in Sources */, OBJ_264 /* NodeEncodingStrategyTests.swift in Sources */, - OBJ_265 /* NoteTest.swift in Sources */, - OBJ_266 /* PlantCatalog.swift in Sources */, - OBJ_267 /* PlantTest.swift in Sources */, - OBJ_268 /* RJISample.swift in Sources */, + D1A183BA24842DE20058E66D /* PlantTest.swift in Sources */, + D1A1838524842C980058E66D /* PrettyPrintTest.swift in Sources */, B5E67535238B4960006C8548 /* IntOrString.swift in Sources */, - OBJ_269 /* RJITest.swift in Sources */, 970FA9DC2422EFAE0023C1EC /* RootLevetExtraAttributesTests.swift in Sources */, - OBJ_270 /* RelationshipsTest.swift in Sources */, - OBJ_271 /* SimpleChoiceTests.swift in Sources */, 4A062D4F2341924E009BCAC1 /* CombineTests.swift in Sources */, + D1A183BF24842DE20058E66D /* BorderTest.swift in Sources */, OBJ_272 /* SingleChildTests.swift in Sources */, OBJ_273 /* SpacePreserveTest.swift in Sources */, ); diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8d0e730f..081e99c1 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -5,11 +5,6 @@ pr: - master jobs: -- job: lint - pool: - vmImage: 'macos-latest' - steps: - - bash: ./lint.sh - job: test_xcodebuild_10_0 pool: vmImage: 'macOS-10.14' diff --git a/lint.sh b/lint.sh deleted file mode 100755 index 8681785b..00000000 --- a/lint.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -set -e -set -o pipefail - -brew update -brew install swiftformat - -swiftformat --lint --verbose . From e9b2bdd1ab6db5e926902acc195e2d8e510e7402 Mon Sep 17 00:00:00 2001 From: Max Desiatov Date: Sun, 31 May 2020 19:34:25 +0100 Subject: [PATCH 3/3] Remove CombineTests from XCTestManifests --- Tests/XMLCoderTests/XCTestManifests.swift | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Tests/XMLCoderTests/XCTestManifests.swift b/Tests/XMLCoderTests/XCTestManifests.swift index 7ca8f78d..a642da53 100644 --- a/Tests/XMLCoderTests/XCTestManifests.swift +++ b/Tests/XMLCoderTests/XCTestManifests.swift @@ -148,17 +148,6 @@ extension ClassTests { ] } -extension CombineTests { - // DO NOT MODIFY: This is autogenerated, use: - // `swift test --generate-linuxmain` - // to regenerate. - static let __allTests__CombineTests = [ - ("testCustomEncode", testCustomEncode), - ("testDecode", testDecode), - ("testEncode", testEncode), - ] -} - extension DataBoxTests { // DO NOT MODIFY: This is autogenerated, use: // `swift test --generate-linuxmain` @@ -885,7 +874,6 @@ public func __allTests() -> [XCTestCaseEntry] { testCase(CDATATest.__allTests__CDATATest), testCase(CDTest.__allTests__CDTest), testCase(ClassTests.__allTests__ClassTests), - testCase(CombineTests.__allTests__CombineTests), testCase(DataBoxTests.__allTests__DataBoxTests), testCase(DataTests.__allTests__DataTests), testCase(DateBoxTests.__allTests__DateBoxTests),