HBTemplate -> HBMustacheTemplate, escape characters
Add tests for mustache examples
This commit is contained in:
@@ -3,39 +3,39 @@ import XCTest
|
||||
|
||||
final class TemplateParserTests: XCTestCase {
|
||||
func testText() throws {
|
||||
let template = try HBTemplate("test template")
|
||||
let template = try HBMustacheTemplate(string: "test template")
|
||||
XCTAssertEqual(template.tokens, [.text("test template")])
|
||||
}
|
||||
|
||||
func testVariable() throws {
|
||||
let template = try HBTemplate("test {{variable}}")
|
||||
let template = try HBMustacheTemplate(string: "test {{variable}}")
|
||||
XCTAssertEqual(template.tokens, [.text("test "), .variable("variable")])
|
||||
}
|
||||
|
||||
func testSection() throws {
|
||||
let template = try HBTemplate("test {{#section}}text{{/section}}")
|
||||
let template = try HBMustacheTemplate(string: "test {{#section}}text{{/section}}")
|
||||
XCTAssertEqual(template.tokens, [.text("test "), .section("section", .init([.text("text")]))])
|
||||
}
|
||||
|
||||
func testInvertedSection() throws {
|
||||
let template = try HBTemplate("test {{^section}}text{{/section}}")
|
||||
let template = try HBMustacheTemplate(string: "test {{^section}}text{{/section}}")
|
||||
XCTAssertEqual(template.tokens, [.text("test "), .invertedSection("section", .init([.text("text")]))])
|
||||
}
|
||||
|
||||
func testComment() throws {
|
||||
let template = try HBTemplate("test {{!section}}")
|
||||
let template = try HBMustacheTemplate(string: "test {{!section}}")
|
||||
XCTAssertEqual(template.tokens, [.text("test ")])
|
||||
}
|
||||
}
|
||||
|
||||
extension HBTemplate: Equatable {
|
||||
public static func == (lhs: HBTemplate, rhs: HBTemplate) -> Bool {
|
||||
extension HBMustacheTemplate: Equatable {
|
||||
public static func == (lhs: HBMustacheTemplate, rhs: HBMustacheTemplate) -> Bool {
|
||||
lhs.tokens == rhs.tokens
|
||||
}
|
||||
}
|
||||
|
||||
extension HBTemplate.Token: Equatable {
|
||||
public static func == (lhs: HBTemplate.Token, rhs: HBTemplate.Token) -> Bool {
|
||||
extension HBMustacheTemplate.Token: Equatable {
|
||||
public static func == (lhs: HBMustacheTemplate.Token, rhs: HBMustacheTemplate.Token) -> Bool {
|
||||
switch (lhs, rhs) {
|
||||
case (.text(let lhs), .text(let rhs)):
|
||||
return lhs == rhs
|
||||
|
||||
Reference in New Issue
Block a user