Finished tests

This commit is contained in:
Erik C. Thauvin 2023-03-15 21:13:15 -07:00
parent 4b96a64c3c
commit 94939ac6cd
19 changed files with 98 additions and 21 deletions

View file

@ -19,22 +19,54 @@ package rife.render;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import rife.template.TemplateFactory; import rife.template.TemplateFactory;
import rife.tools.Localization;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
class TestCase { class TestCase {
static final String FOO = "foo";
static final String SAMPLE_TEXT = "This is a test.";
@Test @Test
void testCapitalize() { void testCapitalize() {
var t = TemplateFactory.TXT.get("capitalize"); var t = TemplateFactory.TXT.get("capitalize");
t.setAttribute("foo", "this is a test"); t.setAttribute(FOO, SAMPLE_TEXT.toLowerCase(Localization.getLocale()));
assertThat(t.getContent()).isEqualTo("This is a test"); assertThat(t.getContent()).isEqualTo(SAMPLE_TEXT);
} }
@Test @Test
void testLowercase() { void testLowercase() {
var t = TemplateFactory.TXT.get("lowercase"); 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); 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()));
} }
} }

View file

@ -58,6 +58,6 @@ class TestDateTime {
void testYear() { void testYear() {
var t = TemplateFactory.HTML.get("year"); var t = TemplateFactory.HTML.get("year");
var year = java.time.Year.now().toString(); var year = java.time.Year.now().toString();
assertThat(t.getContent()).isEqualTo(year + "<br>\n" + year); assertThat(t.getContent()).isEqualTo(year + "<br>" + year);
} }
} }

View file

@ -23,27 +23,46 @@ import rife.template.TemplateFactory;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
class TestEncode { class TestEncode {
public static final String FOO = "foo";
@Test @Test
void testEncodeBase64() { void testEncodeBase64() {
var t = TemplateFactory.TXT.get("base64"); var t = TemplateFactory.TXT.get("encodeBase64");
t.setValue(FOO, "This is a test"); t.setValue(TestCase.FOO, TestCase.SAMPLE_TEXT);
assertThat(t.getContent()).isEqualTo(t.getValue(FOO) + ": VGhpcyBpcyBhIHRlc3Q="); assertThat(t.getContent()).isEqualTo(t.getValue(TestCase.FOO) + ": VGhpcyBpcyBhIHRlc3Qu");
} }
@Test @Test
void testEncodeHtml() { void testEncodeHtml() {
var t = TemplateFactory.HTML.get("encodeHtml"); var t = TemplateFactory.HTML.get("encodeHtml");
t.setAttribute(FOO, "<a test &>"); t.setAttribute(TestCase.FOO, "<a test &>");
assertThat(t.getContent()).isEqualTo("&lt;a test &amp;&gt;"); assertThat(t.getContent()).isEqualTo("&lt;a test &amp;&gt;");
} }
@Test
void testEncodeHtmlEntities() {
var t = TemplateFactory.HTML.get("encodeHtmlEntities");
t.setAttribute(TestCase.FOO, "john@doe.com");
assertThat(t.getContent()).isEqualTo("<a href=\"mailto:&#106;&#111;&#104;&#110;&#64;&#100;&#111;&#101;&#46;&#99;&#111;&#109;\">Email</a>");
}
@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 @Test
void testEncodeRot13() { void testEncodeRot13() {
var t = TemplateFactory.TXT.get("rot13"); var t = TemplateFactory.TXT.get("rot13");
var value = "This is a test"; var value = TestCase.SAMPLE_TEXT;
var rot13 = "Guvf vf n grfg"; var rot13 = "Guvf vf n grfg.";
// Encode // Encode
var bean = new ValueBean(value); var bean = new ValueBean(value);
@ -55,10 +74,24 @@ class TestEncode {
assertThat(t.getContent()).isEqualTo(rot13 + ": " + value); 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 @Test
void testEncodeUrl() { void testEncodeUrl() {
var t = TemplateFactory.HTML.get("encodeUrl"); var t = TemplateFactory.HTML.get("encodeUrl");
t.setAttribute(FOO, "a test &"); t.setAttribute(TestCase.FOO, "a test &");
assertThat(t.getContent()).isEqualTo("<a href=\"https://example.com/a%20test%20%26\">a test &amp;</a>"); assertThat(t.getContent()).isEqualTo("<a href=\"https://example.com/a%20test%20%26\">a test &amp;</a>");
} }
@Test
void testEncodeXml() {
var t = TemplateFactory.XML.get("encodeXml");
t.setAttribute(TestCase.FOO, "a test &");
assertThat(t.getContent()).isEqualTo("<test>\n <foo>a test &amp;</foo>\n</test>");
}
} }

View file

@ -1 +1 @@
{{v render:rife.render.DateIso/}} <!--v render:rife.render.DateIso/-->

View file

@ -1 +1 @@
{{v render:rife.render.DateTimeIso/}} <!--v render:rife.render.DateTimeIso/-->

View file

@ -1 +1 @@
{{v render:rife.render.DateTimeRfc2822/}} <!--v render:rife.render.DateTimeRfc2822/-->

View file

@ -1 +1 @@
{{v render:rife.render.DateTimeUtc/}} <!--v render:rife.render.DateTimeUtc/-->

View file

@ -0,0 +1 @@
<a href="mailto:{{v render:rife.render.EncodeHtmlEntities:foo/}}">Email</a>

View file

@ -0,0 +1,3 @@
{
"foo": "{{v render:rife.render.EncodeJson:foo/}}"
}

View file

@ -0,0 +1 @@
{{v render:rife.render.EncodeQp:foo/}}

View file

@ -0,0 +1 @@
{{v render:rife.render.EncodeUnicode:foo/}}

View file

@ -0,0 +1,3 @@
<test>
<foo>{{v render:rife.render.EncodeXml:foo/}}</foo>
</test>

View file

@ -0,0 +1 @@
{{v render:rife.render.SwapCase:foo/}}

View file

@ -1 +1 @@
{{v render:rife.render.TimeIso/}} <!--v render:rife.render.TimeIso/-->

View file

@ -0,0 +1 @@
{{v render:rife.render.Trim:foo/}}

View file

@ -0,0 +1 @@
{{v render:rife.render.Uncapitalize:foo/}}

View file

@ -0,0 +1 @@
{{v render:rife.render.Uppercase:bar/}}

View file

@ -1,2 +1 @@
<!--v render:rife.render.Year/--><br> <!--v render:rife.render.Year/--><br>{{v render:rife.render.Year/}}
{{v render:rife.render.Year/}}