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 + + """) + } + + }