Skip to content

Commit 16fb43f

Browse files
committed
Added back closehtml filter and test case that demonstrates it
1 parent 630768f commit 16fb43f

2 files changed

Lines changed: 37 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.hubspot.jinjava.lib.filter;
2+
3+
import com.hubspot.jinjava.doc.annotations.JinjavaDoc;
4+
import com.hubspot.jinjava.doc.annotations.JinjavaParam;
5+
import com.hubspot.jinjava.doc.annotations.JinjavaSnippet;
6+
import com.hubspot.jinjava.interpret.JinjavaInterpreter;
7+
8+
@JinjavaDoc(
9+
value = "Closes open HTML tags in a string",
10+
input = @JinjavaParam(value = "s", desc = "String to close", required = true),
11+
snippets = { @JinjavaSnippet(code = "{{ \"<p> Hello, world\"|closehtml }}") }
12+
)
13+
public class CloseHtmlFilter implements Filter {
14+
15+
@Override
16+
public String getName() {
17+
return "closehtml";
18+
}
19+
20+
@Override
21+
public Object filter(Object var, JinjavaInterpreter interpreter, String... args) {
22+
/*
23+
Closes open HTML tags.
24+
*/
25+
26+
return null;
27+
}
28+
}

src/test/java/com/hubspot/jinjava/lib/filter/RenderFilterTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,13 @@ public void itCountsHtmlTags() {
4949
assertThat(filter.filter(stringToRender, interpreter, "15"))
5050
.isEqualTo("<p>Hello</p>");
5151
}
52+
53+
@Test
54+
public void itDoesNotAlwaysCompleteHtmlTags() {
55+
String stringToRender =
56+
"<p> Hello, {% if null %}world{% else %}world!{% endif %} </p>";
57+
58+
assertThat(filter.filter(stringToRender, interpreter, "17"))
59+
.isEqualTo("<p> Hello, world!");
60+
}
5261
}

0 commit comments

Comments
 (0)