diff --git a/src/main/java/net/elytrium/serializer/language/reader/YamlReader.java b/src/main/java/net/elytrium/serializer/language/reader/YamlReader.java index a81f6da..483036d 100644 --- a/src/main/java/net/elytrium/serializer/language/reader/YamlReader.java +++ b/src/main/java/net/elytrium/serializer/language/reader/YamlReader.java @@ -84,6 +84,7 @@ public YamlReader(BufferedReader reader) { @SuppressFBWarnings("SA_FIELD_SELF_COMPARISON") public void readSerializableObject(@Nullable Field owner, Object holder, Class clazz) { synchronized (this) { + this.unsetTempRestoreNewLine(); this.readBeginSerializableObject(owner); Field[] nodes = clazz.getDeclaredFields(); if (nodes.length != 0) { @@ -531,6 +532,7 @@ private > C readCollectionFromMarker(@Nullable Fiel marker = AbstractReader.NEW_LINE; } + this.unsetTempRestoreNewLine(); switch (marker) { case '[': { char nextMarker = this.readRawIgnoreEmptyAndNewLines(); diff --git a/src/test/java/net/elytrium/serializer/SerializerTest.java b/src/test/java/net/elytrium/serializer/SerializerTest.java index 19d43a6..641316c 100644 --- a/src/test/java/net/elytrium/serializer/SerializerTest.java +++ b/src/test/java/net/elytrium/serializer/SerializerTest.java @@ -147,6 +147,7 @@ void testConfig() throws IOException { Assertions.assertEquals(3, settings.listOfString2ObjectMap.size()); Assertions.assertEquals(3, settings.chaosMapList.size()); Assertions.assertEquals(2, settings.chaosMap.size()); + Assertions.assertEquals(1, settings.listSerializableMap.size()); Assertions.assertEquals(HashMap.class, settings.int2StringMap.getClass()); Assertions.assertEquals(Int2ObjectLinkedOpenHashMap.class, settings.int2StringMapFastUtil.getClass()); Assertions.assertEquals(Int2ObjectLinkedOpenHashMap.class, settings.int2StringMapFastUtil2.getClass()); @@ -383,6 +384,8 @@ public String deserialize(String from) { "test-2", SerializerTest.map("test-2-1", Arrays.asList("element")) ); + public List listSerializableMap = Arrays.asList(new CustomSection()); + @Comment({ @CommentValue("PREPEND comment Line 1"), @CommentValue("PREPEND comment Line 2") @@ -572,6 +575,15 @@ public ExternalNestedClass(String name) { } } + public static class CustomSection { + + public Map stringStringMap = new LinkedHashMap<>(); + + public CustomSection() { + this.stringStringMap.put("key1", "value1"); + } + } + public static class ExternalClassSerializer extends ClassSerializer> { @SuppressWarnings("unchecked") diff --git a/src/test/resources/config.yml b/src/test/resources/config.yml index 85f5f78..cf680ad 100644 --- a/src/test/resources/config.yml +++ b/src/test/resources/config.yml @@ -115,6 +115,9 @@ chaos-map: test-2: test-2-1: - "element" +list-serializable-map: + - string-string-map: + key1: "value1" # PREPEND class comment # PREPEND comment Line 1 # PREPEND comment Line 2