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 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()));
}
}

View file

@ -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 + "<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;
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, "<a test &>");
t.setAttribute(TestCase.FOO, "<a test &>");
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
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 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/}}
<!--v render:rife.render.Year/--><br>{{v render:rife.render.Year/}}