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
public String render(Template template, String valueId, String differentiator) {
String value;
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 {
return "";
}
return StringUtils.encodeUrl(value);
}
}

View file

@ -23,11 +23,10 @@ import rife.template.TemplateFactory;
import static org.assertj.core.api.Assertions.assertThat;
class TestEncode {
@Disabled("Until renderer can access beans")
@Test
void testEncodeUrl() {
var t = TemplateFactory.HTML.get("encodeUrl");
t.setBean(new ValueBean("a test &"));
t.setAttribute("foo", "a test &");
var encodedValue = "a%20test%20%26";
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:value/}}
<!--v render:rife.render.EncodeUrl:foo/--><br>
{{v render:rife.render.EncodeUrl:foo/}}
{{v foo/}}