#issue 95. Added dump/load without Tag test.
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 4e6a223..d498d2a 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -7,6 +7,9 @@
</properties>
<body>
<release version="1.8-SNAPSHOT" date="in Mercurial" description="Performance improvement">
+ <action dev="maslovalex" type="fix" issue="95">
+ Fix: Loading of generic collections with Array parameter(s). (2010-11-16)
+ </action>
<action dev="py4fun" type="update" issue="94">
Add ChangeRuntimeClassTest as an example how to change a class for a global tag (2010-11-05)
</action>
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue95/ArrayInGenericCollectionTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue95/ArrayInGenericCollectionTest.java
index c95a739..65599d1 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue95/ArrayInGenericCollectionTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue95/ArrayInGenericCollectionTest.java
@@ -20,16 +20,18 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Map.Entry;
import java.util.Set;
+import java.util.Map.Entry;
+
+import junit.framework.TestCase;
import org.junit.Assert;
+import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
import org.yaml.snakeyaml.introspector.BeanAccess;
-
-import junit.framework.TestCase;
+import org.yaml.snakeyaml.nodes.Tag;
public class ArrayInGenericCollectionTest extends TestCase {
@@ -60,7 +62,7 @@
yaml2dump.setBeanAccess(BeanAccess.FIELD);
A data = createA();
String dump = yaml2dump.dump(data);
- System.out.println(dump);
+ // System.out.println(dump);
Yaml yaml2load = new Yaml();
yaml2load.setBeanAccess(BeanAccess.FIELD);
@@ -79,7 +81,7 @@
yaml2dump.setBeanAccess(BeanAccess.FIELD);
A data = createA();
String dump = yaml2dump.dump(data);
- System.out.println(dump);
+ // System.out.println(dump);
TypeDescription aTypeDescr = new TypeDescription(A.class);
aTypeDescr.putMapPropertyType("meta", String.class, String[].class);
@@ -104,7 +106,7 @@
yaml2dump.setBeanAccess(BeanAccess.FIELD);
B data = createB();
String dump = yaml2dump.dump(data);
- System.out.println(dump);
+ // System.out.println(dump);
Yaml yaml2load = new Yaml();
yaml2load.setBeanAccess(BeanAccess.FIELD);
@@ -118,7 +120,7 @@
yaml2dump.setBeanAccess(BeanAccess.FIELD);
B data = createB();
String dump = yaml2dump.dump(data);
- System.out.println(dump);
+ // System.out.println(dump);
TypeDescription aTypeDescr = new TypeDescription(B.class);
aTypeDescr.putListPropertyType("meta", String[].class);
@@ -132,4 +134,22 @@
Assert.assertArrayEquals(data.meta.toArray(), loaded.meta.toArray());
}
+
+ public void testNoTags() {
+ DumperOptions options = new DumperOptions();
+ options.setExplicitRoot(Tag.MAP);
+ Yaml yaml2dump = new Yaml(options);
+ yaml2dump.setBeanAccess(BeanAccess.FIELD);
+ B data = createB();
+ String dump = yaml2dump.dump(data);
+ // System.out.println(dump);
+ assertEquals("meta:\n- [whatever]\n- [something, something else]\n", dump);
+ //
+ Constructor constr = new Constructor(B.class);
+ Yaml yaml2load = new Yaml(constr);
+ yaml2load.setBeanAccess(BeanAccess.FIELD);
+ B loaded = (B) yaml2load.load(dump);
+
+ Assert.assertArrayEquals(data.meta.toArray(), loaded.meta.toArray());
+ }
}