Added more tests

This commit is contained in:
Erik C. Thauvin 2023-08-12 11:06:23 -07:00
parent a57c5afd62
commit 079671626a
7 changed files with 58 additions and 5 deletions

4
.idea/misc.xml generated
View file

@ -1,5 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<pattern value="rife.render.TemplateRenderersBuild" method="jacoco" />
<pattern value="rife.render.TemplateRenderersBuild" method="pmd" />
</component>
<component name="PDMPlugin">
<option name="customRuleSets">
<list>

Binary file not shown.

View file

@ -1,6 +1,7 @@
bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.1-SNAPSHOT
bld.extension-pmd=com.uwyn.rife2:bld-pmd:0.9.2-SNAPSHOT
bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report:0.9.0-SNAPSHOT
bld.extension-tests=com.uwyn.rife2:bld-tests-badge:1.2.0
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.downloadLocation=

View file

@ -2,6 +2,7 @@ package rife.render;
import rife.bld.BuildCommand;
import rife.bld.Project;
import rife.bld.extension.JacocoReportOperation;
import rife.bld.extension.PmdOperation;
import rife.bld.extension.TestsBadgeOperation;
import rife.bld.publish.PublishDeveloper;
@ -9,6 +10,7 @@ import rife.bld.publish.PublishInfo;
import rife.bld.publish.PublishLicense;
import rife.bld.publish.PublishScm;
import java.io.IOException;
import java.util.List;
import static rife.bld.dependencies.Repository.*;
@ -60,8 +62,8 @@ public class TemplateRenderersBuild extends Project {
scope(compile)
.include(dependency("com.uwyn.rife2", "rife2", version(1, 7, 0)));
scope(test)
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 9, 3)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 9, 3)))
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 0)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 0)))
.include(dependency("org.assertj:assertj-core:3.24.2"));
}
@ -69,8 +71,15 @@ public class TemplateRenderersBuild extends Project {
new TemplateRenderersBuild().start(args);
}
@BuildCommand(summary = "Generates Jacoco Reports")
public void jacoco() throws IOException {
new JacocoReportOperation()
.fromProject(this)
.execute();
}
@BuildCommand(summary = "Runs PMD analysis")
public void pmd() throws Exception {
public void pmd() {
new PmdOperation()
.fromProject(this)
.failOnViolation(true)

View file

@ -40,6 +40,9 @@ class TestCase {
var bean = new ValueBean("this IS a TEST.");
t.setBean(bean);
assertThat(t.getContent()).isEqualTo(bean.getValue() + ": this is a test.");
bean = new ValueBean("");
t.setBean(bean);
assertThat(t.getContent()).isEqualTo(bean.getValue() + ": ");
}
@Test
@ -54,6 +57,8 @@ class TestCase {
var t = TemplateFactory.TXT.get("trim");
t.setAttribute(FOO, "\t" + SAMPLE_TEXT + " \n");
assertThat(t.getContent()).isEqualTo(SAMPLE_TEXT);
t.setAttribute(FOO, "");
assertThat(t.getContent()).isEmpty();
}
@Test
@ -68,5 +73,7 @@ class TestCase {
var t = TemplateFactory.TXT.get("uppercase");
t.setAttribute("bar", SAMPLE_TEXT);
assertThat(t.getContent()).isEqualTo(SAMPLE_TEXT.toUpperCase(Localization.getLocale()));
t.setAttribute("bar", "");
assertThat(t.getContent()).isEmpty();
}
}

View file

@ -44,7 +44,9 @@ class TestFormat {
t.setAttribute(TestCase.FOO, "374380141731053");
assertThat(t.getContent()).as("UK AMEX").isEqualTo("1053");
t.setAttribute(TestCase.FOO, "000000000000001");
assertThat(t.getContent()).isEmpty();
assertThat(t.getContent()).as("000000000000001").isEmpty();
t.setAttribute(TestCase.FOO, "");
assertThat(t.getContent()).as("").isEmpty();
}
@Test

View file

@ -35,11 +35,17 @@ class TestRenderUtils {
assertThat(RenderUtils.abbreviate(TestCase.SAMPLE_TEXT, -1, "")).as("max=-1")
.isEqualTo(TestCase.SAMPLE_TEXT);
assertThat(RenderUtils.abbreviate("", 10, "")).as("").isEmpty();
}
@Test
void testEncode() {
var p = new Properties();
p.put(RenderUtils.ENCODING_PROPERTY, "blah");
assertThat(RenderUtils.encode(TestCase.SAMPLE_TEXT, p)).as("invalid encoding").isEqualTo(TestCase.SAMPLE_TEXT);
p.put(RenderUtils.ENCODING_PROPERTY, "json");
assertThat(RenderUtils.encode("This is a \"•test\"", p)).as("json").isEqualTo("This is a \\\"\\u2022test\\\"");
p.put(RenderUtils.ENCODING_PROPERTY, "html");
assertThat(RenderUtils.encode("<a test &>", p)).as("html").isEqualTo("&lt;a test &amp;&gt;");
p.put(RenderUtils.ENCODING_PROPERTY, "js");
@ -52,8 +58,22 @@ class TestRenderUtils {
assertThat(RenderUtils.encode("Joe's Café & Bar", p)).as("xml").isEqualTo("Joe&apos;s Café &amp; Bar");
}
@Test
void testEncodeJs() {
assertThat(RenderUtils.encodeJs("")).isEmpty();
}
@Test
void testFetchUrl() {
var s = "default";
assertThat(RenderUtils.fetchUrl("blah", s)).isEqualTo(s);
assertThat(RenderUtils.fetchUrl("https://www.google.com/404", s)).isEqualTo(s);
assertThat(RenderUtils.fetchUrl("https://www.notreallythere.com/", s)).isEqualTo(s);
}
@Test
void testHtmlEntities() {
assertThat(RenderUtils.htmlEntities("")).isEmpty();
assertThat(RenderUtils.htmlEntities(SAMPLE_GERMAN))
.isEqualTo("&#77;&#246;&#99;&#104;&#116;&#101;&#110;&#32;&#83;&#105;&#101;&#32;&#101;&#105;&#110;&#32;&#112;&#97;&#97;&#114;&#32;&#196;&#112;&#102;&#101;&#108;&#63;");
}
@ -62,6 +82,8 @@ class TestRenderUtils {
void testMask() {
var foo = "4342256562440179";
assertThat(RenderUtils.mask("", " ", 2, false)).isEmpty();
assertThat(RenderUtils.mask(foo, "?", 4, false)).as("mask=?")
.isEqualTo("????????????0179");
@ -74,18 +96,26 @@ class TestRenderUtils {
@Test
void testNormalize() {
assertThat(RenderUtils.normalize("")).isEmpty();
assertThat(RenderUtils.normalize(SAMPLE_GERMAN)).isEqualTo("mochten-sie-ein-paar-apfel");
}
@Test
void testQrCode() {
assertThat(RenderUtils.qrCode("", "12")).isEmpty();
}
@Test
void testRot13() {
var encoded = "Zöpugra Fvr rva cnne Äcsry?";
assertThat(RenderUtils.rot13("")).isEmpty();
assertThat(RenderUtils.rot13(SAMPLE_GERMAN)).as("encode").isEqualTo(encoded);
assertThat(RenderUtils.rot13(encoded)).as("decode").isEqualTo(SAMPLE_GERMAN);
}
@Test
void testSwapCase() {
assertThat(RenderUtils.swapCase("")).isEmpty();
assertThat(RenderUtils.swapCase(SAMPLE_GERMAN)).isEqualTo("mÖCHTEN sIE EIN PAAR äPFEL?");
}