Skip to content

Commit df523d6

Browse files
committed
Add unit test for #1124
1 parent 1317d3e commit df523d6

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
package com.fasterxml.jackson.failing;
2+
3+
import java.io.IOException;
4+
import java.util.*;
5+
6+
import com.fasterxml.jackson.annotation.*;
7+
import com.fasterxml.jackson.core.JsonGenerator;
8+
import com.fasterxml.jackson.databind.*;
9+
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
10+
import com.fasterxml.jackson.databind.ser.std.StdScalarSerializer;
11+
12+
// for [databind#1124]
13+
public class AnyGetter1124Test extends BaseMapTest
14+
{
15+
static class Bean1124
16+
{
17+
protected Map<String,String> additionalProperties;
18+
19+
public void addAdditionalProperty(String key, String value) {
20+
if (additionalProperties == null) {
21+
additionalProperties = new HashMap<>();
22+
}
23+
additionalProperties.put(key,value);
24+
}
25+
26+
public void setAdditionalProperties(Map<String, String> additionalProperties) {
27+
this.additionalProperties = additionalProperties;
28+
}
29+
30+
@JsonAnyGetter
31+
@JsonSerialize(contentUsing=MyUCSerializer.class)
32+
public Map<String,String> getAdditionalProperties() { return additionalProperties; }
33+
}
34+
35+
@SuppressWarnings("serial")
36+
static class MyUCSerializer extends StdScalarSerializer<String>
37+
{
38+
public MyUCSerializer() { super(String.class); }
39+
40+
@Override
41+
public void serialize(String value, JsonGenerator gen,
42+
SerializerProvider provider) throws IOException {
43+
gen.writeString(value.toUpperCase());
44+
}
45+
}
46+
47+
public void testAnyGetterWithValueSerializer() throws Exception
48+
{
49+
ObjectMapper mapper = new ObjectMapper();
50+
Bean1124 input = new Bean1124();
51+
input.addAdditionalProperty("key", "value");
52+
String json = mapper.writeValueAsString(input);
53+
assertEquals("{\"key\":\"VALUE\"}", json);
54+
}
55+
}

0 commit comments

Comments
 (0)