Parse variables as expressions

removed static boolean expressions
added test for rendering template with boolean expression
This commit is contained in:
Ilya Puchka
2017-12-23 22:01:04 +01:00
committed by David Jennes
parent 242bea54c3
commit 6649b7e716
5 changed files with 54 additions and 24 deletions

View File

@@ -90,4 +90,22 @@ final class NodeTests: XCTestCase {
try expect(try renderNodes(nodes, self.context)).toThrow(TemplateSyntaxError("Custom Error"))
}
}
func testRenderingBooleans() {
it("can render true & false") {
try expect(Template(templateString: "{{ true }}").render()) == "true"
try expect(Template(templateString: "{{ false }}").render()) == "false"
}
it("can resolve variable") {
let template = Template(templateString: "{{ value == \"known\" }}")
try expect(template.render(["value": "known"])) == "true"
try expect(template.render(["value": "unknown"])) == "false"
}
it("can render a boolean expression") {
try expect(Template(templateString: "{{ 1 > 0 }}").render()) == "true"
try expect(Template(templateString: "{{ 1 == 2 }}").render()) == "false"
}
}
}