|
1 | 1 | package com.fasterxml.jackson.databind.ser;
|
2 | 2 |
|
3 |
| -import java.io.*; |
4 |
| -import java.util.*; |
| 3 | +import java.io.IOException; |
| 4 | +import java.io.StringWriter; |
| 5 | +import java.util.EnumMap; |
| 6 | +import java.util.EnumSet; |
| 7 | +import java.util.HashMap; |
| 8 | +import java.util.Map; |
| 9 | + |
| 10 | +import org.junit.Assert; |
5 | 11 |
|
6 | 12 | import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
7 | 13 | import com.fasterxml.jackson.annotation.JsonFormat;
|
8 | 14 | import com.fasterxml.jackson.annotation.JsonFormat.Shape;
|
9 | 15 | import com.fasterxml.jackson.annotation.JsonProperty;
|
10 | 16 | import com.fasterxml.jackson.annotation.JsonValue;
|
11 |
| -import com.fasterxml.jackson.core.*; |
12 |
| -import com.fasterxml.jackson.databind.*; |
| 17 | +import com.fasterxml.jackson.core.JsonGenerator; |
| 18 | +import com.fasterxml.jackson.core.JsonProcessingException; |
| 19 | +import com.fasterxml.jackson.databind.BaseMapTest; |
| 20 | +import com.fasterxml.jackson.databind.JsonSerializable; |
| 21 | +import com.fasterxml.jackson.databind.JsonSerializer; |
| 22 | +import com.fasterxml.jackson.databind.ObjectMapper; |
| 23 | +import com.fasterxml.jackson.databind.SerializationFeature; |
| 24 | +import com.fasterxml.jackson.databind.SerializerProvider; |
13 | 25 | import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
14 | 26 | import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
|
15 | 27 | import com.fasterxml.jackson.databind.module.SimpleModule;
|
@@ -371,6 +383,31 @@ public void testCustomEnumMapKeySerializer() throws Exception {
|
371 | 383 | String json = mapper.writeValueAsString(new MyBean661("abc"));
|
372 | 384 | assertEquals(aposToQuotes("{'X-FOO':'abc'}"), json);
|
373 | 385 | }
|
| 386 | + |
| 387 | + public void testEnumMapSerDefault() throws Exception { |
| 388 | + ObjectMapper mapper = new ObjectMapper(); |
| 389 | + EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class); |
| 390 | + m.put(LowerCaseEnum.A, "value"); |
| 391 | + Assert.assertEquals("{\"A\":\"value\"}", mapper.writeValueAsString(m)); |
| 392 | + } |
| 393 | + |
| 394 | + public void testEnumMapSerDisableToString() throws Exception { |
| 395 | + ObjectMapper mapper = new ObjectMapper(); |
| 396 | + mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, false); |
| 397 | + EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class); |
| 398 | + m.put(LowerCaseEnum.A, "value"); |
| 399 | + Assert.assertEquals("{\"A\":\"value\"}", mapper.writeValueAsString(m)); |
| 400 | + } |
| 401 | + |
| 402 | + public void testEnumMapSerEnableToString() throws Exception { |
| 403 | + ObjectMapper mapper = new ObjectMapper(); |
| 404 | + mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true); |
| 405 | + EnumMap<LowerCaseEnum, String> m = new EnumMap<LowerCaseEnum, String>(LowerCaseEnum.class); |
| 406 | + m.put(LowerCaseEnum.A, "value"); |
| 407 | + Assert.assertEquals("{\"a\":\"value\"}", mapper.writeValueAsString(m)); |
| 408 | + } |
| 409 | + |
| 410 | + |
374 | 411 | }
|
375 | 412 |
|
376 | 413 | // [JACKSON-757], non-inner enum
|
|
0 commit comments