Skip to content

Commit b74c4e0

Browse files
committed
Update snippets for base64 filters
1 parent c6bb3d8 commit b74c4e0

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

src/main/java/com/hubspot/jinjava/lib/filter/Base64DecodeFilter.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,14 @@
2727
)
2828
},
2929
snippets = {
30-
@JinjavaSnippet(code = "{% set my_number = -53 %}\n" + "{{ my_number|abs }}")
30+
@JinjavaSnippet(
31+
desc = "Decode a Base 64-encoded ASCII string into a UTF-8 string",
32+
code = "{{ 'eydmb28nOiBbJ2JhciddfQ=='|b64decode }}"
33+
),
34+
@JinjavaSnippet(
35+
desc = "Decode a Base 64-encoded ASCII string into a UTF-16 Little Endian string",
36+
code = "{{ 'Adg33A=='|b64decode(encoding='utf-16le') }}"
37+
)
3138
}
3239
)
3340
public class Base64DecodeFilter implements Filter {

src/main/java/com/hubspot/jinjava/lib/filter/Base64EncodeFilter.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
value = "Encode the string input into base 64.",
2121
input = @JinjavaParam(
2222
value = "input",
23-
type = "string",
23+
type = "object",
2424
desc = "The string input to encode into base 64.",
2525
required = true
2626
),
@@ -33,7 +33,14 @@
3333
)
3434
},
3535
snippets = {
36-
@JinjavaSnippet(code = "{% set my_number = -53 %}\n" + "{{ my_number|abs }}")
36+
@JinjavaSnippet(
37+
desc = "Encode a value with UTF-8 encoding into a Base 64 ASCII string",
38+
code = "{{ 'abcd'|b64encode }}"
39+
),
40+
@JinjavaSnippet(
41+
desc = "Encode a value with UTF-16 Little Endian encoding into a Base 64 ASCII string",
42+
code = "{{ '\uD801\uDC37'|b64encode(encoding='utf-16le') }}"
43+
)
3744
}
3845
)
3946
public class Base64EncodeFilter implements Filter {

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,23 @@ public void itEncodesWithDefaultCharset() {
2020
@Test
2121
public void itEncodesWithUtf16Le() {
2222
assertThat(
23-
jinjava.render("{{ 'ß'|b64encode(encoding='utf-16le') }}", Collections.emptyMap())
23+
jinjava.render(
24+
"{{ '\uD801\uDC37'|b64encode(encoding='utf-16le') }}",
25+
Collections.emptyMap()
26+
)
2427
)
25-
.isEqualTo("3wA=");
28+
.isEqualTo("Adg33A==");
2629
}
2730

2831
@Test
2932
public void itDecodesWithUtf16Le() {
3033
assertThat(
3134
jinjava.render(
32-
"{{ '3wA='|b64decode(encoding='utf-16le') }}",
35+
"{{ 'Adg33A=='|b64decode(encoding='utf-16le') }}",
3336
Collections.emptyMap()
3437
)
3538
)
36-
.isEqualTo("ß");
39+
.isEqualTo("\uD801\uDC37");
3740
}
3841

3942
@Test

0 commit comments

Comments
 (0)