From 3fb02d56b31e2aab413e481fbdb2649a8e5e5f99 Mon Sep 17 00:00:00 2001 From: feildmaster Date: Fri, 13 Apr 2012 10:19:45 -0500 Subject: Fix createSection getting sections from itself. Fixes BUKKIT-1513 --- .../org/bukkit/configuration/MemorySection.java | 2 +- .../org/bukkit/configuration/ConfigurationTest.java | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/configuration/MemorySection.java b/src/main/java/org/bukkit/configuration/MemorySection.java index 3382b66d..eb1a387f 100644 --- a/src/main/java/org/bukkit/configuration/MemorySection.java +++ b/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/src/test/java/org/bukkit/configuration/ConfigurationTest.java b/src/test/java/org/bukkit/configuration/ConfigurationTest.java index a1671d35..e187d150 100644 --- a/src/test/java/org/bukkit/configuration/ConfigurationTest.java +++ b/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. */ -- cgit v1.2.3