diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 9b2bc89..275b23d 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -96,7 +96,7 @@ class Configuration implements ConfigurationInterface ->children() ->scalarNode('url') ->validate() - ->ifTrue(function($url) { return substr($url, -1) !== '/'; }) + ->ifTrue(function($url) { return $url && substr($url, -1) !== '/'; }) ->then(function($url) { return $url.'/'; }) ->end() ->end() diff --git a/Tests/DependencyInjection/ConfigurationTest.php b/Tests/DependencyInjection/ConfigurationTest.php index e2fba93..bddd62e 100644 --- a/Tests/DependencyInjection/ConfigurationTest.php +++ b/Tests/DependencyInjection/ConfigurationTest.php @@ -219,4 +219,18 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase $this->assertArrayHasKey('properties', $mapping['children']['properties']['tags']); $this->assertArrayNotHasKey('properties', $mapping['children']['properties']['tags']['properties']['tag']); } + + public function testClientConfigurationNoUrl() + { + $configuration = $this->getConfigs(array( + 'clients' => array( + 'default' => array( + 'host' => 'localhost', + 'port' => 9200, + ), + ) + )); + + $this->assertTrue(empty($configuration['clients']['default']['servers'][0]['url'])); + } }