Skip to content

Commit 88c2880

Browse files
committed
Add failing test for #232
1 parent 777c93c commit 88c2880

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
package com.fasterxml.jackson.dataformat.yaml.failing;
2+
3+
import java.util.List;
4+
5+
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
6+
import com.fasterxml.jackson.annotation.JsonProperty;
7+
import com.fasterxml.jackson.annotation.JsonSubTypes;
8+
import com.fasterxml.jackson.annotation.JsonTypeInfo;
9+
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
10+
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
11+
import com.fasterxml.jackson.databind.ObjectMapper;
12+
13+
import com.fasterxml.jackson.dataformat.yaml.ModuleTestBase;
14+
15+
public class ObjectAndTypeId232Test extends ModuleTestBase
16+
{
17+
// [dataformats-text#232]
18+
static class Container232 {
19+
@JsonProperty
20+
List<Base232> list;
21+
}
22+
23+
@JsonTypeInfo(use = Id.NAME)
24+
@JsonSubTypes({@JsonSubTypes.Type(name="Derived", value=Derived232.class)})
25+
@JsonIdentityInfo(generator = ObjectIdGenerators.StringIdGenerator.class)
26+
static class Base232 { }
27+
28+
static class Derived232 extends Base232 {
29+
@JsonProperty
30+
String a;
31+
}
32+
33+
/*
34+
/**********************************************************
35+
/* Test methods
36+
/**********************************************************
37+
*/
38+
39+
private final ObjectMapper MAPPER = newObjectMapper();
40+
41+
// [dataformats-text#232]
42+
public void testTypedYAML232() throws Exception
43+
{
44+
String yaml = "list:\n" +
45+
" - !Derived\n" +
46+
" a: foo";
47+
Container232 container = MAPPER.readValue(yaml, Container232.class);
48+
assertNotNull(container);
49+
assertNotNull(container.list);
50+
assertEquals(1, container.list.size());
51+
assertNotNull(container.list.get(0));
52+
assertEquals(Derived232.class, container.list.get(0).getClass());
53+
}
54+
}

0 commit comments

Comments
 (0)