(template)
| 14 | } |
| 15 | |
| 16 | function tokenize(template) { |
| 17 | var parser = Handlebars.Parser, |
| 18 | lexer = parser.lexer; |
| 19 | |
| 20 | lexer.setInput(template); |
| 21 | var out = [], |
| 22 | token; |
| 23 | |
| 24 | while ((token = lexer.lex())) { |
| 25 | var result = parser.terminals_[token] || token; |
| 26 | if (!result || result === 'EOF' || result === 'INVALID') { |
| 27 | break; |
| 28 | } |
| 29 | out.push({ name: result, text: lexer.yytext }); |
| 30 | } |
| 31 | |
| 32 | return out; |
| 33 | } |
| 34 | |
| 35 | it('tokenizes a simple mustache as "OPEN ID CLOSE"', function() { |
| 36 | var result = tokenize('{{foo}}'); |