Implicitly convert Map to Configuration
This commit is contained in:
parent
6563a9241b
commit
98e3c70460
@ -108,6 +108,11 @@ public final class Configuration
|
||||
|
||||
public void set(String path, Object value)
|
||||
{
|
||||
if ( value instanceof Map )
|
||||
{
|
||||
value = new Configuration( (Map) value, ( defaults == null ) ? null : defaults.getSection( path ) );
|
||||
}
|
||||
|
||||
Configuration section = getSectionFor( path );
|
||||
if ( section == this )
|
||||
{
|
||||
|
@ -2,6 +2,7 @@ package net.md_5.bungee.config;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.junit.Assert;
|
||||
@ -125,4 +126,18 @@ public class YamlConfigurationTest
|
||||
Assert.assertEquals( null, conf.get( "null.object" ) );
|
||||
Assert.assertEquals( "", conf.getString( "null.object" ) );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMapAddition()
|
||||
{
|
||||
Configuration conf = ConfigurationProvider.getProvider( YamlConfiguration.class ).load( TEST_DOCUMENT );
|
||||
|
||||
conf.set( "addition", Collections.singletonMap( "foo", "bar" ) );
|
||||
|
||||
// Order matters
|
||||
Assert.assertEquals( "bar", conf.getSection( "addition" ).getString( "foo" ) );
|
||||
Assert.assertEquals( "bar", conf.getString( "addition.foo" ) );
|
||||
|
||||
Assert.assertTrue( conf.get( "addition" ) instanceof Configuration );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user