Error for unknown blocks

This commit is contained in:
Kyle Fuller
2015-10-24 14:24:34 -07:00
parent 5883775f37
commit 1ea58b70f3
2 changed files with 14 additions and 2 deletions

View File

@@ -74,8 +74,12 @@ public class TokenParser {
return nodes return nodes
} }
if let tag = tag, let parser = self.tags[tag] { if let tag = tag {
nodes.append(try parser(self, token)) if let parser = self.tags[tag] {
nodes.append(try parser(self, token))
} else {
throw TemplateSyntaxError("Unknown template tag '\(tag)'")
}
} }
case .Comment: case .Comment:
continue continue

View File

@@ -44,4 +44,12 @@ describe("TokenParser") {
let nodes = try parser.parse() let nodes = try parser.parse()
try expect(nodes.count) == 1 try expect(nodes.count) == 1
} }
$0.it("errors when parsing an unknown tag") {
let parser = TokenParser(tokens: [
Token.Block(value: "unknown"),
])
try expect(try parser.parse()).toThrow(TemplateSyntaxError("Unknown template tag 'unknown'"))
}
} }