User-extensible escaping rules (not just HTML or no escaping)

This commit is contained in:
Nat Pryce
2013-07-22 22:36:51 +01:00
parent 9441d062a6
commit 4ae290fdaa
6 changed files with 89 additions and 34 deletions
@@ -13,6 +13,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import com.samskivert.mustache.formats.SimpleEscaping;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -295,6 +296,16 @@ public class MustacheTest
execute(context("a", "<b>")));
}
@Test public void testUserDefinedEscaping() {
Escaping escaping = new SimpleEscaping(new String[][] {
{"[", ":BEGIN:"},
{"]", ":END:"}
});
assertEquals(":BEGIN:b:END:", Mustache.compiler().escaping(escaping).compile("{{a}}").
execute(context("a", "[b]")));
}
@Test public void testPartialDelimiterMatch () {
assertEquals("{bob}", Mustache.compiler().compile("{bob}").execute(context()));
assertEquals("bar", Mustache.compiler().compile("{{bob}bob}}").execute(