diff --git a/src/main/java/com/samskivert/mustache/Mustache.java b/src/main/java/com/samskivert/mustache/Mustache.java index 6ebec9d..0bf3b7b 100644 --- a/src/main/java/com/samskivert/mustache/Mustache.java +++ b/src/main/java/com/samskivert/mustache/Mustache.java @@ -113,6 +113,7 @@ public class Mustache } else { text.append(start1); if (c != start1) { + text.append(c); state = TEXT; } } @@ -146,6 +147,7 @@ public class Mustache } else { text.append(end1); if (c != end1) { + text.append(c); state = TAG; } } diff --git a/src/test/java/com/samskivert/mustache/MustacheTest.java b/src/test/java/com/samskivert/mustache/MustacheTest.java index 2183052..b2258c4 100644 --- a/src/test/java/com/samskivert/mustache/MustacheTest.java +++ b/src/test/java/com/samskivert/mustache/MustacheTest.java @@ -120,6 +120,12 @@ public class MustacheTest execute(context("a", ""))); } + @Test public void testPartialDelimiterMatch () { + assertEquals("{bob}", Mustache.compiler().compile("{bob}").execute(context())); + assertEquals("bar", Mustache.compiler().compile("{{bob}bob}}").execute( + context("bob}bob", "bar"))); + } + protected void test (String expected, String template, Object ctx) { assertEquals(expected, Mustache.compiler().compile(template).execute(ctx));