diff --git a/lib/src/test/java/rife/render/TestCase.java b/lib/src/test/java/rife/render/TestCase.java
index 07fc9f1..cebd066 100644
--- a/lib/src/test/java/rife/render/TestCase.java
+++ b/lib/src/test/java/rife/render/TestCase.java
@@ -19,22 +19,54 @@ package rife.render;
import org.junit.jupiter.api.Test;
import rife.template.TemplateFactory;
+import rife.tools.Localization;
import static org.assertj.core.api.Assertions.assertThat;
class TestCase {
+ static final String FOO = "foo";
+ static final String SAMPLE_TEXT = "This is a test.";
+
@Test
void testCapitalize() {
var t = TemplateFactory.TXT.get("capitalize");
- t.setAttribute("foo", "this is a test");
- assertThat(t.getContent()).isEqualTo("This is a test");
+ t.setAttribute(FOO, SAMPLE_TEXT.toLowerCase(Localization.getLocale()));
+ assertThat(t.getContent()).isEqualTo(SAMPLE_TEXT);
}
@Test
void testLowercase() {
var t = TemplateFactory.TXT.get("lowercase");
- var bean = new ValueBean("this IS a TEST");
+ var bean = new ValueBean("this IS a TEST.");
t.setBean(bean);
- assertThat(t.getContent()).isEqualTo(bean.getValue() + ": this is a test");
+ assertThat(t.getContent()).isEqualTo(bean.getValue() + ": this is a test.");
+ }
+
+ @Test
+ void testSwapCase() {
+ var t = TemplateFactory.TXT.get("swapCase");
+ t.setAttribute(FOO, "tHiS iS a TeSt");
+ assertThat(t.getContent()).isEqualTo("ThIs Is A tEsT");
+ }
+
+ @Test
+ void testTrim() {
+ var t = TemplateFactory.TXT.get("trim");
+ t.setAttribute(FOO, "\t" + SAMPLE_TEXT + " \n");
+ assertThat(t.getContent()).isEqualTo(SAMPLE_TEXT);
+ }
+
+ @Test
+ void testUncapitalize() {
+ var t = TemplateFactory.TXT.get("uncapitalize");
+ t.setAttribute(FOO, SAMPLE_TEXT);
+ assertThat(t.getContent()).isEqualTo(SAMPLE_TEXT.toLowerCase(Localization.getLocale()));
+ }
+
+ @Test
+ void testUppercase() {
+ var t = TemplateFactory.TXT.get("uppercase");
+ t.setAttribute("bar", SAMPLE_TEXT);
+ assertThat(t.getContent()).isEqualTo(SAMPLE_TEXT.toUpperCase(Localization.getLocale()));
}
}
\ No newline at end of file
diff --git a/lib/src/test/java/rife/render/TestDateTime.java b/lib/src/test/java/rife/render/TestDateTime.java
index 7e70cc0..36ef326 100644
--- a/lib/src/test/java/rife/render/TestDateTime.java
+++ b/lib/src/test/java/rife/render/TestDateTime.java
@@ -58,6 +58,6 @@ class TestDateTime {
void testYear() {
var t = TemplateFactory.HTML.get("year");
var year = java.time.Year.now().toString();
- assertThat(t.getContent()).isEqualTo(year + "
\n" + year);
+ assertThat(t.getContent()).isEqualTo(year + "
" + year);
}
}
diff --git a/lib/src/test/java/rife/render/TestEncode.java b/lib/src/test/java/rife/render/TestEncode.java
index 6234532..8d35e09 100644
--- a/lib/src/test/java/rife/render/TestEncode.java
+++ b/lib/src/test/java/rife/render/TestEncode.java
@@ -23,27 +23,46 @@ import rife.template.TemplateFactory;
import static org.assertj.core.api.Assertions.assertThat;
class TestEncode {
- public static final String FOO = "foo";
-
@Test
void testEncodeBase64() {
- var t = TemplateFactory.TXT.get("base64");
- t.setValue(FOO, "This is a test");
- assertThat(t.getContent()).isEqualTo(t.getValue(FOO) + ": VGhpcyBpcyBhIHRlc3Q=");
+ var t = TemplateFactory.TXT.get("encodeBase64");
+ t.setValue(TestCase.FOO, TestCase.SAMPLE_TEXT);
+ assertThat(t.getContent()).isEqualTo(t.getValue(TestCase.FOO) + ": VGhpcyBpcyBhIHRlc3Qu");
}
@Test
void testEncodeHtml() {
var t = TemplateFactory.HTML.get("encodeHtml");
- t.setAttribute(FOO, "");
+ t.setAttribute(TestCase.FOO, "");
assertThat(t.getContent()).isEqualTo("<a test &>");
}
+ @Test
+ void testEncodeHtmlEntities() {
+ var t = TemplateFactory.HTML.get("encodeHtmlEntities");
+ t.setAttribute(TestCase.FOO, "john@doe.com");
+ assertThat(t.getContent()).isEqualTo("Email");
+ }
+
+ @Test
+ void testEncodeJson() {
+ var t = TemplateFactory.JSON.get("encodeJson");
+ t.setAttribute(TestCase.FOO, "fde\fde\rjk\tos\\u218Foi");
+ assertThat(t.getContent()).isEqualTo("{\n \"foo\": \"fde\\fde\\rjk\\tos\\\\u218Foi\"\n}");
+ }
+
+ @Test
+ void testEncodeQp() {
+ var t = TemplateFactory.TXT.get("encodeQp");
+ t.setAttribute(TestCase.FOO, TestCase.SAMPLE_TEXT + "\nAnd one more test for =A0.");
+ assertThat(t.getContent()).isEqualTo("This=20is=20a=20test=2E=0AAnd=20one=20more=20test=20for=20=3DA0=2E");
+ }
+
@Test
void testEncodeRot13() {
var t = TemplateFactory.TXT.get("rot13");
- var value = "This is a test";
- var rot13 = "Guvf vf n grfg";
+ var value = TestCase.SAMPLE_TEXT;
+ var rot13 = "Guvf vf n grfg.";
// Encode
var bean = new ValueBean(value);
@@ -55,10 +74,24 @@ class TestEncode {
assertThat(t.getContent()).isEqualTo(rot13 + ": " + value);
}
+ @Test
+ void testEncodeUnicode() {
+ var t = TemplateFactory.TXT.get("encodeUnicode");
+ t.setAttribute(TestCase.FOO, TestCase.SAMPLE_TEXT);
+ assertThat(t.getContent()).isEqualTo("\\u0054\\u0068\\u0069\\u0073\\u0020\\u0069\\u0073\\u0020\\u0061\\u0020\\u0074\\u0065\\u0073\\u0074\\u002E");
+ }
+
@Test
void testEncodeUrl() {
var t = TemplateFactory.HTML.get("encodeUrl");
- t.setAttribute(FOO, "a test &");
+ t.setAttribute(TestCase.FOO, "a test &");
assertThat(t.getContent()).isEqualTo("a test &");
}
+
+ @Test
+ void testEncodeXml() {
+ var t = TemplateFactory.XML.get("encodeXml");
+ t.setAttribute(TestCase.FOO, "a test &");
+ assertThat(t.getContent()).isEqualTo("\n a test &\n");
+ }
}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/dateIso.html b/lib/src/test/resources/templates/dateIso.html
index 754a329..600bfa0 100644
--- a/lib/src/test/resources/templates/dateIso.html
+++ b/lib/src/test/resources/templates/dateIso.html
@@ -1 +1 @@
-{{v render:rife.render.DateIso/}}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/dateTimeIso.html b/lib/src/test/resources/templates/dateTimeIso.html
index b4f05a1..6d14708 100644
--- a/lib/src/test/resources/templates/dateTimeIso.html
+++ b/lib/src/test/resources/templates/dateTimeIso.html
@@ -1 +1 @@
-{{v render:rife.render.DateTimeIso/}}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/dateTimeRfc2822.html b/lib/src/test/resources/templates/dateTimeRfc2822.html
index c2ec0de..3af7597 100644
--- a/lib/src/test/resources/templates/dateTimeRfc2822.html
+++ b/lib/src/test/resources/templates/dateTimeRfc2822.html
@@ -1 +1 @@
-{{v render:rife.render.DateTimeRfc2822/}}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/dateTimeUtc.html b/lib/src/test/resources/templates/dateTimeUtc.html
index 450d166..fa7ce31 100644
--- a/lib/src/test/resources/templates/dateTimeUtc.html
+++ b/lib/src/test/resources/templates/dateTimeUtc.html
@@ -1 +1 @@
-{{v render:rife.render.DateTimeUtc/}}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/base64.txt b/lib/src/test/resources/templates/encodeBase64.txt
similarity index 100%
rename from lib/src/test/resources/templates/base64.txt
rename to lib/src/test/resources/templates/encodeBase64.txt
diff --git a/lib/src/test/resources/templates/encodeHtmlEntities.html b/lib/src/test/resources/templates/encodeHtmlEntities.html
new file mode 100644
index 0000000..8c53b2f
--- /dev/null
+++ b/lib/src/test/resources/templates/encodeHtmlEntities.html
@@ -0,0 +1 @@
+Email
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/encodeJson.json b/lib/src/test/resources/templates/encodeJson.json
new file mode 100644
index 0000000..ac55bf1
--- /dev/null
+++ b/lib/src/test/resources/templates/encodeJson.json
@@ -0,0 +1,3 @@
+{
+ "foo": "{{v render:rife.render.EncodeJson:foo/}}"
+}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/encodeQp.txt b/lib/src/test/resources/templates/encodeQp.txt
new file mode 100644
index 0000000..b3350d2
--- /dev/null
+++ b/lib/src/test/resources/templates/encodeQp.txt
@@ -0,0 +1 @@
+{{v render:rife.render.EncodeQp:foo/}}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/encodeUnicode.txt b/lib/src/test/resources/templates/encodeUnicode.txt
new file mode 100644
index 0000000..53912be
--- /dev/null
+++ b/lib/src/test/resources/templates/encodeUnicode.txt
@@ -0,0 +1 @@
+{{v render:rife.render.EncodeUnicode:foo/}}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/encodeXml.xml b/lib/src/test/resources/templates/encodeXml.xml
new file mode 100644
index 0000000..03f866a
--- /dev/null
+++ b/lib/src/test/resources/templates/encodeXml.xml
@@ -0,0 +1,3 @@
+
+ {{v render:rife.render.EncodeXml:foo/}}
+
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/swapCase.txt b/lib/src/test/resources/templates/swapCase.txt
new file mode 100644
index 0000000..55473bf
--- /dev/null
+++ b/lib/src/test/resources/templates/swapCase.txt
@@ -0,0 +1 @@
+{{v render:rife.render.SwapCase:foo/}}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/timeIso.html b/lib/src/test/resources/templates/timeIso.html
index 08c13b5..cd991fa 100644
--- a/lib/src/test/resources/templates/timeIso.html
+++ b/lib/src/test/resources/templates/timeIso.html
@@ -1 +1 @@
-{{v render:rife.render.TimeIso/}}
\ No newline at end of file
+
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/trim.txt b/lib/src/test/resources/templates/trim.txt
new file mode 100644
index 0000000..2e27e11
--- /dev/null
+++ b/lib/src/test/resources/templates/trim.txt
@@ -0,0 +1 @@
+{{v render:rife.render.Trim:foo/}}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/uncapitalize.txt b/lib/src/test/resources/templates/uncapitalize.txt
new file mode 100644
index 0000000..b8298a5
--- /dev/null
+++ b/lib/src/test/resources/templates/uncapitalize.txt
@@ -0,0 +1 @@
+{{v render:rife.render.Uncapitalize:foo/}}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/uppercase.txt b/lib/src/test/resources/templates/uppercase.txt
new file mode 100644
index 0000000..b28878b
--- /dev/null
+++ b/lib/src/test/resources/templates/uppercase.txt
@@ -0,0 +1 @@
+{{v render:rife.render.Uppercase:bar/}}
\ No newline at end of file
diff --git a/lib/src/test/resources/templates/year.html b/lib/src/test/resources/templates/year.html
index 15637e5..deb9c19 100644
--- a/lib/src/test/resources/templates/year.html
+++ b/lib/src/test/resources/templates/year.html
@@ -1,2 +1 @@
-
-{{v render:rife.render.Year/}}
\ No newline at end of file
+
{{v render:rife.render.Year/}}
\ No newline at end of file