Skip to content

Commit 14ac5b2

Browse files
committed
Add failing tests for FasterXML#188
1 parent 3487af1 commit 14ac5b2

File tree

2 files changed

+80
-1
lines changed

2 files changed

+80
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package com.fasterxml.jackson.dataformat.cbor.failing;
2+
3+
import java.util.*;
4+
5+
import com.fasterxml.jackson.databind.ObjectMapper;
6+
import com.fasterxml.jackson.dataformat.cbor.CBORTestBase;
7+
8+
// Tests for [dataformat-binary#188], lacking coercions for Binary->String wrt containers
9+
public class BinaryToStringCoercionTest extends CBORTestBase
10+
{
11+
static class BinaryListWrapper {
12+
public List<byte[]> data = Collections.singletonList(
13+
new byte[] { 1, 2, 3, 4});
14+
}
15+
16+
static class StringListWrapper {
17+
public List<String> data;
18+
}
19+
20+
static class BinarySetWrapper {
21+
public Set<byte[]> data = Collections.singleton(new byte[] { 1, 2, 3, 4});
22+
}
23+
24+
static class StringSetWrapper {
25+
public Set<String> data;
26+
}
27+
28+
static class BinaryArrayWrapper {
29+
public byte[][] data = new byte[][] { new byte[] { 1, 2, 3, 4} };
30+
}
31+
32+
static class StringArrayWrapper {
33+
public String[] data;
34+
}
35+
36+
static class BinaryMapWrapper {
37+
public Map<String, byte[]> data = Collections.singletonMap("key",
38+
new byte[] { 1, 2, 3, 4});
39+
}
40+
41+
static class StringMapWrapper {
42+
public Map<String, String> data;
43+
}
44+
45+
private final ObjectMapper CBOR_MAPPER = cborMapper();
46+
47+
public void testWithList() throws Exception
48+
{
49+
byte[] doc = CBOR_MAPPER.writeValueAsBytes(new BinaryListWrapper());
50+
StringListWrapper result = CBOR_MAPPER.readValue(doc, StringListWrapper.class);
51+
assertEquals(1, result.data.size());
52+
assertEquals(String.class, result.data.get(0).getClass());
53+
}
54+
55+
public void testWithSet() throws Exception
56+
{
57+
byte[] doc = CBOR_MAPPER.writeValueAsBytes(new BinarySetWrapper());
58+
StringSetWrapper result = CBOR_MAPPER.readValue(doc, StringSetWrapper.class);
59+
assertEquals(1, result.data.size());
60+
assertEquals(String.class, result.data.iterator().next().getClass());
61+
}
62+
63+
public void testWithMap() throws Exception
64+
{
65+
byte[] doc = CBOR_MAPPER.writeValueAsBytes(new BinaryMapWrapper());
66+
StringMapWrapper result = CBOR_MAPPER.readValue(doc, StringMapWrapper.class);
67+
assertEquals(1, result.data.size());
68+
assertEquals(String.class, result.data.get("key").getClass());
69+
}
70+
71+
public void testWithArray() throws Exception
72+
{
73+
byte[] doc = CBOR_MAPPER.writeValueAsBytes(new BinaryArrayWrapper());
74+
StringArrayWrapper result = CBOR_MAPPER.readValue(doc, StringArrayWrapper.class);
75+
assertEquals(1, result.data.length);
76+
assertEquals(String.class, result.data[0].getClass());
77+
}
78+
}
79+

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>com.fasterxml.jackson</groupId>
55
<artifactId>jackson-base</artifactId>
6-
<version>2.10.0</version>
6+
<version>2.10.1-SNAPSHOT</version>
77
</parent>
88
<groupId>com.fasterxml.jackson.dataformat</groupId>
99
<artifactId>jackson-dataformats-binary</artifactId>

0 commit comments

Comments
 (0)