From 2f40ba6d1cbb640ea2888fe89e4d7d9e35880e00 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sat, 6 Jun 2020 19:54:52 -0700 Subject: [PATCH] Add (passing) test for #148 --- .../xml/lists/ListSerializationTest.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/fasterxml/jackson/dataformat/xml/lists/ListSerializationTest.java b/src/test/java/com/fasterxml/jackson/dataformat/xml/lists/ListSerializationTest.java index ade6fa04c..f755b437d 100644 --- a/src/test/java/com/fasterxml/jackson/dataformat/xml/lists/ListSerializationTest.java +++ b/src/test/java/com/fasterxml/jackson/dataformat/xml/lists/ListSerializationTest.java @@ -2,8 +2,10 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.XmlTestBase; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; @@ -44,13 +46,35 @@ public StringListBean(String... texts) } } + // [dataformat-xml#148] + static class Bean148 { + @JsonProperty("item") + @JacksonXmlElementWrapper(localName = "list") + public Iterator items() { + return new Iterator() { + int item = 3; + + @Override + public boolean hasNext() { + return item > 0; + } + + @Override + public String next() { + item--; + return Integer.toString(item); + } + }; + } + } + /* /********************************************************** /* Unit tests /********************************************************** */ - private final XmlMapper MAPPER = new XmlMapper(); + private final XmlMapper MAPPER = newMapper(); public void testSimpleWrappedList() throws IOException { @@ -70,4 +94,11 @@ public void testStringList() throws IOException +"c" +"", xml); } + + // [dataformat-xml#148] + public void testIteratorSerialization() throws Exception + { + assertEquals("210", + MAPPER.writeValueAsString(new Bean148()).trim()); + } }