X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Ftemplate%2FTestTemplate.java;fp=tests%2Forg%2Fcacert%2Fgigi%2Ftemplate%2FTestTemplate.java;h=0000000000000000000000000000000000000000;hp=82aad9316ee8850e6167e0ec13eab36573900cff;hb=bccd4cc0dba0f89aa045b113bac46eb8cc1dab4e;hpb=c9ed09f0007fc2c813815be927a5a24b23dab83c diff --git a/tests/org/cacert/gigi/template/TestTemplate.java b/tests/org/cacert/gigi/template/TestTemplate.java deleted file mode 100644 index 82aad931..00000000 --- a/tests/org/cacert/gigi/template/TestTemplate.java +++ /dev/null @@ -1,149 +0,0 @@ -package org.cacert.gigi.template; - -import static org.junit.Assert.*; - -import java.io.CharArrayWriter; -import java.io.PrintWriter; -import java.io.StringReader; -import java.util.HashMap; -import java.util.Locale; -import java.util.Map; - -import org.cacert.gigi.dbObjects.Digest; -import org.cacert.gigi.localisation.Language; -import org.cacert.gigi.output.HashAlgorithms; -import org.cacert.gigi.output.template.IterableDataset; -import org.cacert.gigi.output.template.Outputable; -import org.cacert.gigi.output.template.OutputableArrayIterable; -import org.cacert.gigi.output.template.Template; -import org.junit.Test; - -public class TestTemplate { - - private String testExecute(Language l, HashMap vars, String input) { - Template t = new Template(new StringReader(input)); - CharArrayWriter caw = new CharArrayWriter(); - PrintWriter pw = new PrintWriter(caw); - t.output(pw, l, vars); - pw.flush(); - return new String(caw.toCharArray()); - } - - HashMap vars = new HashMap<>(); - - @Test - public void testVarEscape() { - vars.put("var", "val"); - assertEquals("vall", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - vars.put("var", "val<"); - assertEquals("val<l", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - assertEquals("vall")); - vars.put("var", "val\">"); - assertEquals("val">l", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - assertEquals("val\">l", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - - } - - @Test - public void testVarSprintf() { - vars.put("var", "val\">"); - vars.put("var2", "val3<\""); - vars.put("var3", "val4>"); - assertEquals("This val"> textl", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - assertEquals("This val\"> textl", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - - assertEquals("This val"> val3<" the val4> textl", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - assertEquals("This val\"> val3<\" the val4> textl", testExecute(Language.getInstance(Locale.ENGLISH), vars, "l")); - - assertEquals("This blargh<>!, <>! textl", testExecute(Language.getInstance(Locale.ENGLISH), vars, "! 'text?>l")); - assertEquals("This blargh<>!, <>!l", testExecute(Language.getInstance(Locale.ENGLISH), vars, "!'?>l")); - } - - @Test - public void testIf() { - vars.put("existent", "val"); - assertEquals(">existent<", testExecute(Language.getInstance(Locale.ENGLISH), vars, ">existent<nonexistent")); - } - - @Test - public void testForeach() { - vars.put("it", new IterableDataset() { - - int i = 0; - - @Override - public boolean next(Language l, Map vars) { - vars.put("e", Integer.toString(i++)); - return i < 10; - } - }); - assertEquals("012345678<", testExecute(Language.getInstance(Locale.ENGLISH), vars, "<nonexistent")); - } - - @Test - public void testNullContent() { - assertEquals("", testExecute(Language.getInstance(Locale.ENGLISH), vars, "<>")); - - } - - @Test - public void testTranslate() { - assertEquals("<null>", testExecute(Language.getInstance(Locale.ENGLISH), vars, "?>")); - - } - - @Test - public void testOutputable() { - Outputable o = new Outputable() { - - @Override - public void output(PrintWriter out, Language l, Map vars) { - out.print("bl"); - } - }; - vars.put("v", new OutputableArrayIterable(new Object[] { - o, o, o, o, o - }, "e")); - assertEquals("[0]bl[1]bl[2]bl[3]bl[4]bl", testExecute(Language.getInstance(Locale.ENGLISH), vars, "[]")); - - } - - @Test - public void testHashalgs() { - vars.put("v", new HashAlgorithms(Digest.SHA256)); - assertEquals("SHA256[ checked='checked']SHA384[]SHA512[]", testExecute(Language.getInstance(Locale.ENGLISH), vars, "[]")); - - } - - @Test - public void testInvalidBracketContent() { - try { - assertEquals("", testExecute(Language.getInstance(Locale.ENGLISH), vars, "")); - fail("should throw an error"); - } catch (Error e) { - - } - } - - @Test - public void testIfElse() { - vars.put("b", Boolean.TRUE); - assertEquals("true", testExecute(Language.getInstance(Locale.ENGLISH), vars, "truefalse")); - vars.put("b", Boolean.FALSE); - assertEquals("false", testExecute(Language.getInstance(Locale.ENGLISH), vars, "truefalse")); - - vars.put("b", new Object()); - assertEquals("true", testExecute(Language.getInstance(Locale.ENGLISH), vars, "truefalse")); - vars.put("b", null); - assertEquals("false", testExecute(Language.getInstance(Locale.ENGLISH), vars, "truefalse")); - } - - @Test - public void testIgnoredNewline() { - assertEquals("\\ab\\\\n\n\\c", testExecute(Language.getInstance(Locale.ENGLISH), vars, "\\a\\\nb\\\\n\n\\\\\nc")); - assertEquals("a\\b\\c", testExecute(Language.getInstance(Locale.ENGLISH), vars, "a\\b\\\n\\c")); - // \r's are now valid. - assertEquals("ab", testExecute(Language.getInstance(Locale.ENGLISH), vars, "a\\\r\nb")); - } - -}