diff --git a/Sources/Lexer.swift b/Sources/Lexer.swift index e7fcd7c..8e3fa33 100644 --- a/Sources/Lexer.swift +++ b/Sources/Lexer.swift @@ -90,6 +90,7 @@ class Scanner { index = content.index(after: index) } + content = "" return "" } diff --git a/Tests/StencilTests/LexerSpec.swift b/Tests/StencilTests/LexerSpec.swift index 8cb83c0..66667ba 100644 --- a/Tests/StencilTests/LexerSpec.swift +++ b/Tests/StencilTests/LexerSpec.swift @@ -16,7 +16,7 @@ func testLexer() { let lexer = Lexer(templateString: "{# Comment #}") let tokens = lexer.tokenize() - try expect(tokens.count) == (1) + try expect(tokens.count) == 1 try expect(tokens.first) == .comment(value: "Comment") } @@ -28,6 +28,14 @@ func testLexer() { try expect(tokens.first) == .variable(value: "Variable") } + $0.it("can tokenize unclosed tag by ignoring it") { + let lexer = Lexer(templateString: "{{ thing") + let tokens = lexer.tokenize() + + try expect(tokens.count) == 1 + try expect(tokens.first) == .text(value: "") + } + $0.it("can tokenize a mixture of content") { let lexer = Lexer(templateString: "My name is {{ name }}.") let tokens = lexer.tokenize()