EncodeUrl failure for testing

This commit is contained in:
Erik C. Thauvin 2023-03-15 09:32:34 -07:00
parent 5d598a99c5
commit 0da0e43aa5
3 changed files with 9 additions and 5 deletions

View file

@ -41,10 +41,14 @@ public class EncodeUrl implements ValueRenderer {
*/ */
@Override @Override
public String render(Template template, String valueId, String differentiator) { public String render(Template template, String valueId, String differentiator) {
String value;
if (template.hasValueId(differentiator)) { if (template.hasValueId(differentiator)) {
return StringUtils.encodeUrl(template.getValue(differentiator)); value = template.getValue(differentiator);
} else if (template.hasAttribute(differentiator)) {
value = template.getAttribute(differentiator).toString();
} else { } else {
return ""; return "";
} }
return StringUtils.encodeUrl(value);
} }
} }

View file

@ -23,11 +23,10 @@ import rife.template.TemplateFactory;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
class TestEncode { class TestEncode {
@Disabled("Until renderer can access beans")
@Test @Test
void testEncodeUrl() { void testEncodeUrl() {
var t = TemplateFactory.HTML.get("encodeUrl"); var t = TemplateFactory.HTML.get("encodeUrl");
t.setBean(new ValueBean("a test &")); t.setAttribute("foo", "a test &");
var encodedValue = "a%20test%20%26"; var encodedValue = "a%20test%20%26";
assertThat(t.getContent()).isEqualTo(encodedValue + "<br>\n" + encodedValue); assertThat(t.getContent()).isEqualTo(encodedValue + "<br>\n" + encodedValue);
} }

View file

@ -1,2 +1,3 @@
<!--v render:rife.render.EncodeUrl:value/--><br> <!--v render:rife.render.EncodeUrl:foo/--><br>
{{v render:rife.render.EncodeUrl:value/}} {{v render:rife.render.EncodeUrl:foo/}}
{{v foo/}}