Error for unknown blocks
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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'"))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user