diff --git a/paper-api/src/main/java/org/bukkit/configuration/MemorySection.java b/paper-api/src/main/java/org/bukkit/configuration/MemorySection.java index 3382b66d7c..eb1a387f71 100644 --- a/paper-api/src/main/java/org/bukkit/configuration/MemorySection.java +++ b/paper-api/src/main/java/org/bukkit/configuration/MemorySection.java @@ -243,7 +243,7 @@ public class MemorySection implements ConfigurationSection { for (int i = 0; i < split.length - 1; i++) { ConfigurationSection last = section; - section = getConfigurationSection(split[i]); + section = last.getConfigurationSection(split[i]); if (section == null) { section = last.createSection(split[i]); diff --git a/paper-api/src/test/java/org/bukkit/configuration/ConfigurationTest.java b/paper-api/src/test/java/org/bukkit/configuration/ConfigurationTest.java index a1671d35eb..e187d15000 100644 --- a/paper-api/src/test/java/org/bukkit/configuration/ConfigurationTest.java +++ b/paper-api/src/test/java/org/bukkit/configuration/ConfigurationTest.java @@ -3,7 +3,9 @@ package org.bukkit.configuration; import java.util.LinkedHashMap; import java.util.Arrays; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; +import java.util.Set; import org.bukkit.util.Vector; import org.junit.Test; import static org.junit.Assert.*; @@ -120,6 +122,25 @@ public abstract class ConfigurationTest { } } + /** + * Test creation of ConfigurationSection + */ + @Test + public void testCreateSection() { + Configuration config = getConfig(); + + Set set = new HashSet(); + set.add("this"); + set.add("this.test.sub"); + set.add("this.test"); + set.add("this.test.other"); + + config.createSection("this.test.sub"); + config.createSection("this.test.other"); + + assertEquals(set, config.getKeys(true)); + } + /** * Test of getDefaults method, of class Configuration. */