Skip to content

Commit 3482354

Browse files
committed
...
1 parent 32eee1b commit 3482354

File tree

1 file changed

+41
-2
lines changed

1 file changed

+41
-2
lines changed

src/test/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializerTest.java

Lines changed: 41 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,55 @@
11
package com.fasterxml.jackson.databind.deser.std;
22

3+
import java.io.IOException;
4+
import java.util.Locale;
5+
import java.util.Map;
6+
7+
import com.fasterxml.jackson.core.type.TypeReference;
38
import com.fasterxml.jackson.databind.BaseMapTest;
49
import com.fasterxml.jackson.databind.ObjectMapper;
510

6-
import java.util.Locale;
7-
811
public class FromStringDeserializerTest extends BaseMapTest
912
{
1013
private final Locale[] LOCALES = new Locale[]
1114
{Locale.CANADA, Locale.ROOT, Locale.GERMAN, Locale.CHINESE, Locale.KOREA, Locale.TAIWAN};
15+
16+
/*
17+
/**********************************************************************
18+
/* Test methods, old, from Jackson pre-2.13
19+
/**********************************************************************
20+
*/
21+
1222
private final ObjectMapper MAPPER = newJsonMapper();
1323

24+
public void testLocale() throws IOException
25+
{
26+
assertEquals(new Locale("en"), MAPPER.readValue(q("en"), Locale.class));
27+
assertEquals(new Locale("es", "ES"), MAPPER.readValue(q("es_ES"), Locale.class));
28+
assertEquals(new Locale("FI", "fi", "savo"),
29+
MAPPER.readValue(q("fi_FI_savo"), Locale.class));
30+
assertEquals(new Locale("en", "US"),
31+
MAPPER.readValue(q("en-US"), Locale.class));
32+
}
33+
34+
public void testLocaleKeyMap() throws Exception {
35+
Locale key = Locale.CHINA;
36+
String JSON = "{ \"" + key + "\":4}";
37+
Map<Locale, Object> result = MAPPER.readValue(JSON, new TypeReference<Map<Locale, Object>>() {
38+
});
39+
assertNotNull(result);
40+
assertEquals(1, result.size());
41+
Object ob = result.keySet().iterator().next();
42+
assertNotNull(ob);
43+
assertEquals(Locale.class, ob.getClass());
44+
assertEquals(key, ob);
45+
}
46+
47+
/*
48+
/**********************************************************************
49+
/* Test methods, advanced (2.13+) -- [databind#3259]
50+
/**********************************************************************
51+
*/
52+
1453
public void testLocaleDeserializeNonBCPFormat() throws Exception {
1554
Locale locale = new Locale("en", "US");
1655
Locale deSerializedLocale = MAPPER.readValue(MAPPER.writeValueAsString(locale), Locale.class);

0 commit comments

Comments
 (0)