]> WPIA git - gigi.git/blob - tests/club/wpia/gigi/template/TestTemplateUnescaped.java
upd: rename package name and all references to it
[gigi.git] / tests / club / wpia / gigi / template / TestTemplateUnescaped.java
1 package club.wpia.gigi.template;
2
3 import static org.junit.Assert.*;
4
5 import java.io.PrintWriter;
6 import java.io.StringReader;
7 import java.io.StringWriter;
8 import java.util.Collections;
9 import java.util.HashMap;
10 import java.util.Locale;
11
12 import org.junit.Test;
13
14 import club.wpia.gigi.localisation.Language;
15 import club.wpia.gigi.output.template.Outputable;
16 import club.wpia.gigi.output.template.Template;
17
18 public class TestTemplateUnescaped {
19
20     private String testExecute(HashMap<String, Object> vars, String input) {
21         Template t = new Template(new StringReader(input));
22         StringWriter str = new StringWriter();
23         PrintWriter pw = new PrintWriter(str);
24         t.output(pw, Language.getInstance(Locale.ENGLISH), vars);
25         pw.flush();
26         return str.toString();
27     }
28
29     HashMap<String, Object> vars = new HashMap<>(Collections.<String, Object>singletonMap(Outputable.OUT_KEY_PLAIN, "yes"));
30
31     @Test
32     public void testVarNoEscape() {
33         vars.put("var", "val");
34         assertEquals("vall", testExecute(vars, "<?=$var?>l"));
35         vars.put("var", "val<");
36         assertEquals("val<l", testExecute(vars, "<?=$var?>l"));
37         assertEquals("val<l", testExecute(vars, "<?=$!var?>l"));
38         vars.put("var", "val\">");
39         assertEquals("val\">l", testExecute(vars, "<?=$var?>l"));
40         assertEquals("val\">l", testExecute(vars, "<?=$!var?>l"));
41     }
42
43     @Test
44     public void testTranslateNoEscape() {
45         assertEquals("\"tex<>l", testExecute(vars, "<?=_\"tex<>?>l"));
46     }
47 }