Skip to content

Commit ab82426

Browse files
authored
Merge pull request #1233 from ccutrer/py-map-get-with-default
Implement PyMap.get with the optional default.
2 parents 0dc554b + 9c60bf5 commit ab82426

File tree

2 files changed

+16
-0
lines changed
  • src
    • main/java/com/hubspot/jinjava/objects/collections
    • test/java/com/hubspot/jinjava/objects/collections

2 files changed

+16
-0
lines changed

src/main/java/com/hubspot/jinjava/objects/collections/PyMap.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ protected Map<String, Object> delegate() {
2121
return map;
2222
}
2323

24+
public Object get(String key, Object defaultValue) {
25+
return getOrDefault(key, defaultValue);
26+
}
27+
2428
@Override
2529
public Object put(String s, Object o) {
2630
if (o == this) {

src/test/java/com/hubspot/jinjava/objects/collections/PyMapTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,18 @@ public void itGetsKeysWithVariableName() {
322322
.isEqualTo("value1");
323323
}
324324

325+
@Test
326+
public void itSupportsGetWithOptionalDefault() {
327+
assertThat(
328+
jinjava.render(
329+
"{% set test = {\"key1\": \"value1\"} %}" +
330+
"{{ test.get(\"key2\", \"default\") }}",
331+
Collections.emptyMap()
332+
)
333+
)
334+
.isEqualTo("default");
335+
}
336+
325337
@Test
326338
public void itFallsBackUnknownVariableNameToString() {
327339
assertThat(

0 commit comments

Comments
 (0)