fix for using {{.}} in non-standards mode
in non-standards mode (which is the default), {{.}} would be treated as a compound key, resulting in key not found exceptions.
This commit is contained in:
@@ -80,7 +80,8 @@ public class Template
|
||||
if (!_compiler.standardsMode) {
|
||||
// if we're dealing with a compound key, resolve each component and use the result to
|
||||
// resolve the subsequent component and so forth
|
||||
if (name.indexOf(".") != -1) {
|
||||
|
||||
if (name.indexOf(DOT_NAME) > 0) {
|
||||
String[] comps = name.split("\\.");
|
||||
// we want to allow the first component of a compound key to be located in a parent
|
||||
// context, but once we're selecting sub-components, they must only be resolved in the
|
||||
|
||||
@@ -169,11 +169,14 @@ public class MustacheTest
|
||||
|
||||
@Test public void testTopLevelThis () {
|
||||
assertEquals("bar", Mustache.compiler().compile("{{this}}").execute("bar"));
|
||||
assertEquals("bar", Mustache.compiler().compile("{{.}}").execute("bar"));
|
||||
}
|
||||
|
||||
@Test public void testNestedThis () {
|
||||
assertEquals("barbazbif", Mustache.compiler().compile("{{#things}}{{this}}{{/things}}").
|
||||
execute(context("things", Arrays.asList("bar", "baz", "bif"))));
|
||||
assertEquals("barbazbif", Mustache.compiler().compile("{{#things}}{{.}}{{/things}}").
|
||||
execute(context("things", Arrays.asList("bar", "baz", "bif"))));
|
||||
}
|
||||
|
||||
@Test public void testStructuredVariable () {
|
||||
|
||||
Reference in New Issue
Block a user