I'm just barely starting to dig into this library, but i'm attempting to simulate the helpers that mandrill uses. Specifically, wanting to support their if expressions.
But haven't been able to get too far yet because I blow up with syntax errors with the backticks. I haven't written a helper yet since I need to get past the syntax piece first.
Here's my simple test.
assertEquals("Foo: is bar", handlebars.compileInline("Foo: {{#if `foo == "bar"`}}is bar{{/if}}").apply(new HashMap<String, String>(){{
put("foo", "bar");
}}));
Which yields this stack trace...
com.github.jknack.handlebars.HandlebarsException: inline@33185c00:1:11: found: '`'
Foo: {{#if `foo == "bar"`}}is bar{{/if}}
^
at com.github.jknack.handlebars.internal.HbsErrorReporter.syntaxError(HbsErrorReporter.java:93)
at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:65)
at com.github.jknack.handlebars.internal.HbsParserFactory$2.notifyListeners(HbsParserFactory.java:148)
at org.antlr.v4.runtime.Lexer.nextToken(Lexer.java:168)
at org.antlr.v4.runtime.BufferedTokenStream.fetch(BufferedTokenStream.java:185)
at org.antlr.v4.runtime.BufferedTokenStream.sync(BufferedTokenStream.java:168)
at org.antlr.v4.runtime.BufferedTokenStream.consume(BufferedTokenStream.java:152)
at org.antlr.v4.runtime.Parser.consume(Parser.java:593)
at org.antlr.v4.runtime.Parser.match(Parser.java:226)
at com.github.jknack.handlebars.internal.HbsParser.sexpr(HbsParser.java:884)
at com.github.jknack.handlebars.internal.HbsParser.block(HbsParser.java:657)
at com.github.jknack.handlebars.internal.HbsParser.statement(HbsParser.java:336)
at com.github.jknack.handlebars.internal.HbsParser.body(HbsParser.java:222)
at com.github.jknack.handlebars.internal.HbsParser.template(HbsParser.java:165)
at com.github.jknack.handlebars.internal.HbsParserFactory$1.parse(HbsParserFactory.java:84)
at com.github.jknack.handlebars.cache.NullTemplateCache.get(NullTemplateCache.java:54)
at com.github.jknack.handlebars.Handlebars.compile(Handlebars.java:414)
at com.github.jknack.handlebars.Handlebars.compileInline(Handlebars.java:384)
at com.github.jknack.handlebars.Handlebars.compileInline(Handlebars.java:368)
at com.example.handlebars.HandlebarsImplTest.testIfExpression(HandlebarsImplTest.java:39)
I'm just barely starting to dig into this library, but i'm attempting to simulate the helpers that mandrill uses. Specifically, wanting to support their
ifexpressions.But haven't been able to get too far yet because I blow up with syntax errors with the backticks. I haven't written a helper yet since I need to get past the syntax piece first.
Here's my simple test.
Which yields this stack trace...