summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfeildmaster <admin@feildmaster.com>2012-04-13 10:19:45 -0500
committerfeildmaster <admin@feildmaster.com>2012-04-14 00:59:22 -0500
commit3fb02d56b31e2aab413e481fbdb2649a8e5e5f99 (patch)
tree5be6682b1238c93048131d1329feab21987ed0bc
parent6788c550f4d3004651dbc35ae37f6d170a6360b2 (diff)
downloadbukkit-3fb02d56b31e2aab413e481fbdb2649a8e5e5f99.tar
bukkit-3fb02d56b31e2aab413e481fbdb2649a8e5e5f99.tar.gz
bukkit-3fb02d56b31e2aab413e481fbdb2649a8e5e5f99.tar.lz
bukkit-3fb02d56b31e2aab413e481fbdb2649a8e5e5f99.tar.xz
bukkit-3fb02d56b31e2aab413e481fbdb2649a8e5e5f99.zip
Fix createSection getting sections from itself. Fixes BUKKIT-1513
-rw-r--r--src/main/java/org/bukkit/configuration/MemorySection.java2
-rw-r--r--src/test/java/org/bukkit/configuration/ConfigurationTest.java21
2 files changed, 22 insertions, 1 deletions
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.*;
@@ -121,6 +123,25 @@ public abstract class ConfigurationTest {
}
/**
+ * Test creation of ConfigurationSection
+ */
+ @Test
+ public void testCreateSection() {
+ Configuration config = getConfig();
+
+ Set<String> set = new HashSet<String>();
+ 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.
*/
@Test