From 01583519d963b52930508e8b99b05e85aeab1ca0 Mon Sep 17 00:00:00 2001 From: Tibor Bodecs Date: Thu, 24 Feb 2022 17:12:30 +0100 Subject: [PATCH] convenience child tag init --- Sources/SwiftSgml/Tag.swift | 7 ++++++- Tests/SwiftSgmlTests/TagTests.swift | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 Tests/SwiftSgmlTests/TagTests.swift diff --git a/Sources/SwiftSgml/Tag.swift b/Sources/SwiftSgml/Tag.swift index 8b1bf38..8cc6f5f 100644 --- a/Sources/SwiftSgml/Tag.swift +++ b/Sources/SwiftSgml/Tag.swift @@ -21,7 +21,12 @@ open class Tag { self.node = Self.createNode() self.children = children } - + + /// initialize a new Tag with a single child tag + public convenience init(_ child: Tag) { + self.init([child]) + } + /// initialize a new Tag with children using a builder public convenience init(@TagBuilder _ builder: () -> [Tag]) { self.init(builder()) diff --git a/Tests/SwiftSgmlTests/TagTests.swift b/Tests/SwiftSgmlTests/TagTests.swift new file mode 100644 index 0000000..15e1cb9 --- /dev/null +++ b/Tests/SwiftSgmlTests/TagTests.swift @@ -0,0 +1,26 @@ +// +// File.swift +// +// +// Created by Tibor Bodecs on 2022. 02. 24.. +// + +import XCTest +@testable import SwiftSgml + +final class TagTests: XCTestCase { + + func testConvenienceSingleTagInit() { + + let doc = Document { + Root(Leaf("hello")) + } + + XCTAssertEqual(DocumentRenderer().render(doc), """ + + hello + + """) + } + + }