diff --git a/composer.json b/composer.json index c8d46114f8e6..cef5e7035d07 100644 --- a/composer.json +++ b/composer.json @@ -42,7 +42,7 @@ "symfony/http-foundation": "self.version", "symfony/http-kernel": "self.version", "symfony/locale": "self.version", - "symfony/options-parser": "self.version", + "symfony/options-resolver": "self.version", "symfony/process": "self.version", "symfony/routing": "self.version", "symfony/security": "self.version", diff --git a/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php b/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php index 96582e66c417..c4b6b8a518cc 100644 --- a/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php +++ b/src/Symfony/Bridge/Doctrine/Form/Type/DoctrineType.php @@ -19,7 +19,7 @@ use Symfony\Bridge\Doctrine\Form\EventListener\MergeDoctrineCollectionListener; use Symfony\Bridge\Doctrine\Form\DataTransformer\CollectionToArrayTransformer; use Symfony\Component\Form\AbstractType; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; abstract class DoctrineType extends AbstractType { diff --git a/src/Symfony/Bridge/Propel1/Form/Type/ModelType.php b/src/Symfony/Bridge/Propel1/Form/Type/ModelType.php index 4c57c42b5535..3e2c7b4f7835 100644 --- a/src/Symfony/Bridge/Propel1/Form/Type/ModelType.php +++ b/src/Symfony/Bridge/Propel1/Form/Type/ModelType.php @@ -15,7 +15,7 @@ use Symfony\Bridge\Propel1\Form\DataTransformer\CollectionToArrayTransformer; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; /** * ModelType class. diff --git a/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php b/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php index 6bfc8cbbcd6a..f5991a9bbcc2 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php @@ -26,7 +26,7 @@ use Symfony\Component\Form\Extension\Core\DataTransformer\ChoiceToBooleanArrayTransformer; use Symfony\Component\Form\Extension\Core\DataTransformer\ChoicesToValuesTransformer; use Symfony\Component\Form\Extension\Core\DataTransformer\ChoicesToBooleanArrayTransformer; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; class ChoiceType extends AbstractType { diff --git a/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php b/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php index 1d8387d54b3b..d3d37fa44280 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php @@ -21,7 +21,7 @@ use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToStringTransformer; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToTimestampTransformer; use Symfony\Component\Form\Extension\Core\DataTransformer\ArrayToPartsTransformer; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; class DateTimeType extends AbstractType { diff --git a/src/Symfony/Component/Form/Extension/Core/Type/DateType.php b/src/Symfony/Component/Form/Extension/Core/Type/DateType.php index 91dfa3c3d4ee..dbc63b1c287b 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/DateType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/DateType.php @@ -22,7 +22,7 @@ use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToStringTransformer; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToTimestampTransformer; use Symfony\Component\Form\ReversedTransformer; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; class DateType extends AbstractType { diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php index c9936e2f7115..a00524af19b1 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php @@ -22,7 +22,7 @@ use Symfony\Component\Form\Extension\Core\DataMapper\PropertyPathMapper; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\Form\Exception\FormException; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; class FormType extends AbstractType { diff --git a/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php b/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php index 5d1fef8a3e23..1d263c3850c5 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php @@ -20,7 +20,7 @@ use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToTimestampTransformer; use Symfony\Component\Form\Extension\Core\DataTransformer\DateTimeToArrayTransformer; use Symfony\Component\Form\FormView; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; class TimeType extends AbstractType { diff --git a/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php b/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php index c3eb421e44fa..61e7afdaf8ae 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/TimezoneType.php @@ -13,7 +13,7 @@ use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceList; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; class TimezoneType extends AbstractType { diff --git a/src/Symfony/Component/Form/FormFactory.php b/src/Symfony/Component/Form/FormFactory.php index ee7ddb917051..5b75795e78da 100644 --- a/src/Symfony/Component/Form/FormFactory.php +++ b/src/Symfony/Component/Form/FormFactory.php @@ -14,7 +14,7 @@ use Symfony\Component\Form\Exception\FormException; use Symfony\Component\Form\Exception\UnexpectedTypeException; use Symfony\Component\Form\Exception\TypeDefinitionException; -use Symfony\Component\OptionsParser\OptionsParser; +use Symfony\Component\OptionsResolver\OptionsResolver; class FormFactory implements FormFactoryInterface { @@ -221,7 +221,7 @@ public function createNamedBuilder($type, $name, $data = null, array $options = $types = array(); $optionValues = array(); $knownOptions = array(); - $optionsParser = new OptionsParser(); + $optionsResolver = new OptionsResolver(); // Bottom-up determination of the type hierarchy // Start with the actual type and look for the parent type @@ -255,14 +255,14 @@ public function createNamedBuilder($type, $name, $data = null, array $options = // options. Default options of children override default options // of parents. $typeOptions = $type->getDefaultOptions(); - $optionsParser->setDefaults($typeOptions); - $optionsParser->addAllowedValues($type->getAllowedOptionValues()); + $optionsResolver->setDefaults($typeOptions); + $optionsResolver->addAllowedValues($type->getAllowedOptionValues()); $knownOptions = array_merge($knownOptions, array_keys($typeOptions)); foreach ($type->getExtensions() as $typeExtension) { $extensionOptions = $typeExtension->getDefaultOptions(); - $optionsParser->setDefaults($extensionOptions); - $optionsParser->addAllowedValues($typeExtension->getAllowedOptionValues()); + $optionsResolver->setDefaults($extensionOptions); + $optionsResolver->addAllowedValues($typeExtension->getAllowedOptionValues()); $knownOptions = array_merge($knownOptions, array_keys($extensionOptions)); } } @@ -278,7 +278,7 @@ public function createNamedBuilder($type, $name, $data = null, array $options = } // Resolve options - $options = $optionsParser->parse($options); + $options = $optionsResolver->resolve($options); for ($i = 0, $l = count($types); $i < $l && !$builder; ++$i) { $builder = $types[$i]->createBuilder($name, $this, $options); diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php index a371099eb802..41aaf6b953ae 100644 --- a/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php +++ b/src/Symfony/Component/Form/Tests/Extension/Core/Type/DateTypeTest.php @@ -23,7 +23,7 @@ protected function setUp() } /** - * @expectedException Symfony\Component\OptionsParser\Exception\InvalidOptionsException + * @expectedException Symfony\Component\OptionsResolver\Exception\InvalidOptionsException */ public function testInvalidWidgetOption() { @@ -33,7 +33,7 @@ public function testInvalidWidgetOption() } /** - * @expectedException Symfony\Component\OptionsParser\Exception\InvalidOptionsException + * @expectedException Symfony\Component\OptionsResolver\Exception\InvalidOptionsException */ public function testInvalidInputOption() { diff --git a/src/Symfony/Component/Form/Tests/FormFactoryTest.php b/src/Symfony/Component/Form/Tests/FormFactoryTest.php index 742a940d4bd6..40c5137df456 100644 --- a/src/Symfony/Component/Form/Tests/FormFactoryTest.php +++ b/src/Symfony/Component/Form/Tests/FormFactoryTest.php @@ -279,7 +279,7 @@ public function testCreateNamedBuilderExpectsBuilderToBeReturned() } /** - * @expectedException Symfony\Component\OptionsParser\Exception\InvalidOptionsException + * @expectedException Symfony\Component\OptionsResolver\Exception\InvalidOptionsException */ public function testCreateNamedBuilderExpectsOptionsToExist() { @@ -292,7 +292,7 @@ public function testCreateNamedBuilderExpectsOptionsToExist() } /** - * @expectedException Symfony\Component\OptionsParser\Exception\InvalidOptionsException + * @expectedException Symfony\Component\OptionsResolver\Exception\InvalidOptionsException */ public function testCreateNamedBuilderExpectsOptionsToBeInValidRange() { diff --git a/src/Symfony/Component/Form/composer.json b/src/Symfony/Component/Form/composer.json index 888eef4ec4c7..d02b335fa98f 100644 --- a/src/Symfony/Component/Form/composer.json +++ b/src/Symfony/Component/Form/composer.json @@ -19,7 +19,7 @@ "php": ">=5.3.3", "symfony/event-dispatcher": "2.1.*", "symfony/locale": "2.1.*", - "symfony/options-parser": "2.1.*" + "symfony/options-resolver": "2.1.*" }, "require-dev": { "symfony/validator": "2.1.*", diff --git a/src/Symfony/Component/OptionsParser/Exception/ExceptionInterface.php b/src/Symfony/Component/OptionsResolver/Exception/ExceptionInterface.php similarity index 87% rename from src/Symfony/Component/OptionsParser/Exception/ExceptionInterface.php rename to src/Symfony/Component/OptionsResolver/Exception/ExceptionInterface.php index 79bc34fde7a7..4224f4e3e99c 100755 --- a/src/Symfony/Component/OptionsParser/Exception/ExceptionInterface.php +++ b/src/Symfony/Component/OptionsResolver/Exception/ExceptionInterface.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser\Exception; +namespace Symfony\Component\OptionsResolver\Exception; /** * Marker interface for the Options component. diff --git a/src/Symfony/Component/OptionsParser/Exception/InvalidOptionsException.php b/src/Symfony/Component/OptionsResolver/Exception/InvalidOptionsException.php similarity index 89% rename from src/Symfony/Component/OptionsParser/Exception/InvalidOptionsException.php rename to src/Symfony/Component/OptionsResolver/Exception/InvalidOptionsException.php index 24454d8c778d..2e7ea1bc0c41 100644 --- a/src/Symfony/Component/OptionsParser/Exception/InvalidOptionsException.php +++ b/src/Symfony/Component/OptionsResolver/Exception/InvalidOptionsException.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser\Exception; +namespace Symfony\Component\OptionsResolver\Exception; /** * Exception thrown when an invalid option is passed. diff --git a/src/Symfony/Component/OptionsParser/Exception/MissingOptionsException.php b/src/Symfony/Component/OptionsResolver/Exception/MissingOptionsException.php similarity index 89% rename from src/Symfony/Component/OptionsParser/Exception/MissingOptionsException.php rename to src/Symfony/Component/OptionsResolver/Exception/MissingOptionsException.php index 3afb54dfc260..8544dfb2ee25 100644 --- a/src/Symfony/Component/OptionsParser/Exception/MissingOptionsException.php +++ b/src/Symfony/Component/OptionsResolver/Exception/MissingOptionsException.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser\Exception; +namespace Symfony\Component\OptionsResolver\Exception; /** * Exception thrown when a required option is missing. diff --git a/src/Symfony/Component/OptionsParser/Exception/OptionDefinitionException.php b/src/Symfony/Component/OptionsResolver/Exception/OptionDefinitionException.php similarity index 88% rename from src/Symfony/Component/OptionsParser/Exception/OptionDefinitionException.php rename to src/Symfony/Component/OptionsResolver/Exception/OptionDefinitionException.php index 34d317f7205f..11617fe1a165 100644 --- a/src/Symfony/Component/OptionsParser/Exception/OptionDefinitionException.php +++ b/src/Symfony/Component/OptionsResolver/Exception/OptionDefinitionException.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser\Exception; +namespace Symfony\Component\OptionsResolver\Exception; /** * Thrown when an option definition is invalid. diff --git a/src/Symfony/Component/OptionsParser/LICENSE b/src/Symfony/Component/OptionsResolver/LICENSE similarity index 100% rename from src/Symfony/Component/OptionsParser/LICENSE rename to src/Symfony/Component/OptionsResolver/LICENSE diff --git a/src/Symfony/Component/OptionsParser/LazyOption.php b/src/Symfony/Component/OptionsResolver/LazyOption.php similarity index 97% rename from src/Symfony/Component/OptionsParser/LazyOption.php rename to src/Symfony/Component/OptionsResolver/LazyOption.php index 8d935fdf0a64..ba1fd8219c16 100644 --- a/src/Symfony/Component/OptionsParser/LazyOption.php +++ b/src/Symfony/Component/OptionsResolver/LazyOption.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser; +namespace Symfony\Component\OptionsResolver; use Closure; diff --git a/src/Symfony/Component/OptionsParser/Options.php b/src/Symfony/Component/OptionsResolver/Options.php similarity index 97% rename from src/Symfony/Component/OptionsParser/Options.php rename to src/Symfony/Component/OptionsResolver/Options.php index 956616e34e67..78ebf30535e3 100644 --- a/src/Symfony/Component/OptionsParser/Options.php +++ b/src/Symfony/Component/OptionsResolver/Options.php @@ -9,12 +9,12 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser; +namespace Symfony\Component\OptionsResolver; use ArrayAccess; use Iterator; use OutOfBoundsException; -use Symfony\Component\OptionsParser\Exception\OptionDefinitionException; +use Symfony\Component\OptionsResolver\Exception\OptionDefinitionException; /** * Container for resolving inter-dependent options. diff --git a/src/Symfony/Component/OptionsParser/OptionsParser.php b/src/Symfony/Component/OptionsResolver/OptionsResolver.php similarity index 93% rename from src/Symfony/Component/OptionsParser/OptionsParser.php rename to src/Symfony/Component/OptionsResolver/OptionsResolver.php index 444994ee1bb6..2f4d8d203173 100644 --- a/src/Symfony/Component/OptionsParser/OptionsParser.php +++ b/src/Symfony/Component/OptionsResolver/OptionsResolver.php @@ -9,18 +9,18 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser; +namespace Symfony\Component\OptionsResolver; -use Symfony\Component\OptionsParser\Exception\OptionDefinitionException; -use Symfony\Component\OptionsParser\Exception\InvalidOptionsException; -use Symfony\Component\OptionsParser\Exception\MissingOptionsException; +use Symfony\Component\OptionsResolver\Exception\OptionDefinitionException; +use Symfony\Component\OptionsResolver\Exception\InvalidOptionsException; +use Symfony\Component\OptionsResolver\Exception\MissingOptionsException; /** * Helper for merging default and concrete option values. * * @author Bernhard Schussek */ -class OptionsParser +class OptionsResolver { /** * The default option values. @@ -29,13 +29,13 @@ class OptionsParser private $defaultOptions; /** - * The options known by the parser. + * The options known by the resolver. * @var array */ private $knownOptions = array(); /** - * The options required to be passed to parse(). + * The options required to be passed to resolve(). * @var array */ private $requiredOptions = array(); @@ -100,7 +100,7 @@ public function replaceDefaults(array $defaultValues) * * This method is identical to `setDefaults`, only that no default values * are configured for the options. If these options are not passed to - * parse(), they will be missing in the final options array. This can be + * resolve(), they will be missing in the final options array. This can be * helpful if you want to determine whether an option has been set or not. * * @param array $optionNames A list of option names. @@ -121,7 +121,7 @@ public function setOptional(array $optionNames) /** * Sets required options. * - * If these options are not passed to parse(), an exception will be thrown. + * If these options are not passed to resolve(), an exception will be thrown. * * @param array $optionNames A list of option names. * @@ -189,7 +189,7 @@ public function addAllowedValues(array $allowedValues) * @throws OptionDefinitionException If a cyclic dependency is detected * between two lazy options. */ - public function parse(array $options) + public function resolve(array $options) { $this->validateOptionNames(array_keys($options)); diff --git a/src/Symfony/Component/OptionsParser/README.md b/src/Symfony/Component/OptionsResolver/README.md similarity index 61% rename from src/Symfony/Component/OptionsParser/README.md rename to src/Symfony/Component/OptionsResolver/README.md index 6ae6920bb087..5e0f08ce4529 100644 --- a/src/Symfony/Component/OptionsParser/README.md +++ b/src/Symfony/Component/OptionsResolver/README.md @@ -1,19 +1,19 @@ -OptionsParser Component +OptionsResolver Component ====================== -OptionsParser helps to configure objects with option arrays. +OptionsResolver helps at configuring objects with option arrays. It supports default values on different levels of your class hierarchy, -required options and lazy options where the default value depends on the -concrete value of a different option. +option constraints (required vs. optional, allowed values) and lazy options +whose default value depends on the value of another option. The following example demonstrates a Person class with two required options "firstName" and "lastName" and two optional options "age" and "gender", where the default value of "gender" is derived from the passed first name, if -possible. +possible, and may only be one of "male" and "female". - use Symfony\Component\OptionsParser\OptionsParser; - use Symfony\Component\OptionsParser\Options; + use Symfony\Component\OptionsResolver\OptionsResolver; + use Symfony\Component\OptionsResolver\Options; class Person { @@ -21,21 +21,20 @@ possible. public function __construct(array $options = array()) { - $parser = new OptionsParser(); - $this->setOptions($parser); + $resolver = new OptionsResolver(); + $this->configureOptions($resolver); - $this->options = $parser->parse($options); + $this->options = $resolver->resolve($options); } - protected function setOptions(OptionsParser $parser) + protected function configure(OptionsResolver $resolver) { - $parser->setRequired(array( + $resolver->setRequired(array( 'firstName', 'lastName', - 'age', )); - $parser->setDefaults(array( + $resolver->setDefaults(array( 'age' => null, 'gender' => function (Options $options) { if (self::isKnownMaleName($options['firstName'])) { @@ -46,7 +45,7 @@ possible. }, )); - $parser->setAllowedValues(array( + $resolver->setAllowedValues(array( 'gender' => array('male', 'female'), )); } @@ -69,35 +68,37 @@ We can also override the default values of the optional options: 'age' => 30, )); -Options can be added or changed in subclasses by overriding the `setOptions` +Options can be added or changed in subclasses by overriding the `configure` method: - use Symfony\Component\OptionsParser\OptionsParser; - use Symfony\Component\OptionsParser\Options; + use Symfony\Component\OptionsResolver\OptionsResolver; + use Symfony\Component\OptionsResolver\Options; class Employee extends Person { - protected function setOptions(OptionsParser $parser) + protected function configure(OptionsResolver $resolver) { - parent::setOptions($parser); + parent::configure($resolver); - $parser->setRequired(array( + $resolver->setRequired(array( 'birthDate', )); - $parser->setDefaults(array( + $resolver->setDefaults(array( // $previousValue contains the default value configured in the // parent class 'age' => function (Options $options, $previousValue) { - return self::configureAgeFromBirthDate($options['birthDate']); + return self::calculateAge($options['birthDate']); } )); } } + + Resources --------- You can run the unit tests with the following command: - phpunit -c src/Symfony/Component/OptionsParser/ \ No newline at end of file + phpunit diff --git a/src/Symfony/Component/OptionsParser/Tests/OptionParserTest.php b/src/Symfony/Component/OptionsResolver/Tests/OptionResolverTest.php similarity index 55% rename from src/Symfony/Component/OptionsParser/Tests/OptionParserTest.php rename to src/Symfony/Component/OptionsResolver/Tests/OptionResolverTest.php index 70740e629fcb..c3acc6ceb397 100644 --- a/src/Symfony/Component/OptionsParser/Tests/OptionParserTest.php +++ b/src/Symfony/Component/OptionsResolver/Tests/OptionResolverTest.php @@ -9,23 +9,23 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser\Tests; +namespace Symfony\Component\OptionsResolver\Tests; -use Symfony\Component\OptionsParser\OptionsParser; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\OptionsResolver; +use Symfony\Component\OptionsResolver\Options; -class OptionsParserTest extends \PHPUnit_Framework_TestCase +class OptionsResolverTest extends \PHPUnit_Framework_TestCase { private $options; protected function setUp() { - $this->parser = new OptionsParser(); + $this->resolver = new OptionsResolver(); } - public function testParse() + public function testResolve() { - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => '1', 'two' => '2', )); @@ -37,12 +37,12 @@ public function testParse() $this->assertEquals(array( 'one' => '1', 'two' => '20', - ), $this->parser->parse($options)); + ), $this->resolver->resolve($options)); } - public function testParseLazy() + public function testResolveLazy() { - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => '1', 'two' => function (Options $options) { return '20'; @@ -52,12 +52,12 @@ public function testParseLazy() $this->assertEquals(array( 'one' => '1', 'two' => '20', - ), $this->parser->parse(array())); + ), $this->resolver->resolve(array())); } - public function testParseLazyDependencyOnOptional() + public function testResolveLazyDependencyOnOptional() { - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => '1', 'two' => function (Options $options) { return $options['one'] . '2'; @@ -71,18 +71,18 @@ public function testParseLazyDependencyOnOptional() $this->assertEquals(array( 'one' => '10', 'two' => '102', - ), $this->parser->parse($options)); + ), $this->resolver->resolve($options)); } - public function testParseLazyDependencyOnMissingOptionalWithoutDefault() + public function testResolveLazyDependencyOnMissingOptionalWithoutDefault() { $test = $this; - $this->parser->setOptional(array( + $this->resolver->setOptional(array( 'one', )); - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'two' => function (Options $options) use ($test) { $test->assertFalse(isset($options['one'])); @@ -95,18 +95,18 @@ public function testParseLazyDependencyOnMissingOptionalWithoutDefault() $this->assertEquals(array( 'two' => '2', - ), $this->parser->parse($options)); + ), $this->resolver->resolve($options)); } - public function testParseLazyDependencyOnOptionalWithoutDefault() + public function testResolveLazyDependencyOnOptionalWithoutDefault() { $test = $this; - $this->parser->setOptional(array( + $this->resolver->setOptional(array( 'one', )); - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'two' => function (Options $options) use ($test) { $test->assertTrue(isset($options['one'])); @@ -121,15 +121,15 @@ public function testParseLazyDependencyOnOptionalWithoutDefault() $this->assertEquals(array( 'one' => '10', 'two' => '102', - ), $this->parser->parse($options)); + ), $this->resolver->resolve($options)); } - public function testParseLazyDependencyOnRequired() + public function testResolveLazyDependencyOnRequired() { - $this->parser->setRequired(array( + $this->resolver->setRequired(array( 'one', )); - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'two' => function (Options $options) { return $options['one'] . '2'; }, @@ -142,20 +142,20 @@ public function testParseLazyDependencyOnRequired() $this->assertEquals(array( 'one' => '10', 'two' => '102', - ), $this->parser->parse($options)); + ), $this->resolver->resolve($options)); } - public function testParseLazyReplaceDefaults() + public function testResolveLazyReplaceDefaults() { $test = $this; - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => function (Options $options) use ($test) { $test->fail('Previous closure should not be executed'); }, )); - $this->parser->replaceDefaults(array( + $this->resolver->replaceDefaults(array( 'one' => function (Options $options, $previousValue) { return '1'; }, @@ -163,56 +163,56 @@ public function testParseLazyReplaceDefaults() $this->assertEquals(array( 'one' => '1', - ), $this->parser->parse(array())); + ), $this->resolver->resolve(array())); } /** - * @expectedException Symfony\Component\OptionsParser\Exception\InvalidOptionsException + * @expectedException Symfony\Component\OptionsResolver\Exception\InvalidOptionsException */ - public function testParseFailsIfNonExistingOption() + public function testResolveFailsIfNonExistingOption() { - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => '1', )); - $this->parser->setRequired(array( + $this->resolver->setRequired(array( 'two', )); - $this->parser->setOptional(array( + $this->resolver->setOptional(array( 'three', )); - $this->parser->parse(array( + $this->resolver->resolve(array( 'foo' => 'bar', )); } /** - * @expectedException Symfony\Component\OptionsParser\Exception\MissingOptionsException + * @expectedException Symfony\Component\OptionsResolver\Exception\MissingOptionsException */ - public function testParseFailsIfMissingRequiredOption() + public function testResolveFailsIfMissingRequiredOption() { - $this->parser->setRequired(array( + $this->resolver->setRequired(array( 'one', )); - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'two' => '2', )); - $this->parser->parse(array( + $this->resolver->resolve(array( 'two' => '20', )); } - public function testParseSucceedsIfOptionValueAllowed() + public function testResolveSucceedsIfOptionValueAllowed() { - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => '1', )); - $this->parser->setAllowedValues(array( + $this->resolver->setAllowedValues(array( 'one' => array('1', 'one'), )); @@ -222,21 +222,21 @@ public function testParseSucceedsIfOptionValueAllowed() $this->assertEquals(array( 'one' => 'one', - ), $this->parser->parse($options)); + ), $this->resolver->resolve($options)); } - public function testParseSucceedsIfOptionValueAllowed2() + public function testResolveSucceedsIfOptionValueAllowed2() { - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => '1', 'two' => '2', )); - $this->parser->addAllowedValues(array( + $this->resolver->addAllowedValues(array( 'one' => array('1'), 'two' => array('2'), )); - $this->parser->addAllowedValues(array( + $this->resolver->addAllowedValues(array( 'one' => array('one'), 'two' => array('two'), )); @@ -249,43 +249,43 @@ public function testParseSucceedsIfOptionValueAllowed2() $this->assertEquals(array( 'one' => '1', 'two' => 'two', - ), $this->parser->parse($options)); + ), $this->resolver->resolve($options)); } /** - * @expectedException Symfony\Component\OptionsParser\Exception\InvalidOptionsException + * @expectedException Symfony\Component\OptionsResolver\Exception\InvalidOptionsException */ - public function testParseFailsIfOptionValueNotAllowed() + public function testResolveFailsIfOptionValueNotAllowed() { - $this->parser->setDefaults(array( + $this->resolver->setDefaults(array( 'one' => '1', )); - $this->parser->setAllowedValues(array( + $this->resolver->setAllowedValues(array( 'one' => array('1', 'one'), )); - $this->parser->parse(array( + $this->resolver->resolve(array( 'one' => '2', )); } /** - * @expectedException Symfony\Component\OptionsParser\Exception\OptionDefinitionException + * @expectedException Symfony\Component\OptionsResolver\Exception\OptionDefinitionException */ public function testSetRequiredFailsIfDefaultIsPassed() { - $this->parser->setRequired(array( + $this->resolver->setRequired(array( 'one' => '1', )); } /** - * @expectedException Symfony\Component\OptionsParser\Exception\OptionDefinitionException + * @expectedException Symfony\Component\OptionsResolver\Exception\OptionDefinitionException */ public function testSetOptionalFailsIfDefaultIsPassed() { - $this->parser->setOptional(array( + $this->resolver->setOptional(array( 'one' => '1', )); } diff --git a/src/Symfony/Component/OptionsParser/Tests/OptionsTest.php b/src/Symfony/Component/OptionsResolver/Tests/OptionsTest.php similarity index 91% rename from src/Symfony/Component/OptionsParser/Tests/OptionsTest.php rename to src/Symfony/Component/OptionsResolver/Tests/OptionsTest.php index 058a73836967..f1c70acc0f21 100644 --- a/src/Symfony/Component/OptionsParser/Tests/OptionsTest.php +++ b/src/Symfony/Component/OptionsResolver/Tests/OptionsTest.php @@ -9,9 +9,9 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\OptionsParser\Tests; +namespace Symfony\Component\OptionsResolver\Tests; -use Symfony\Component\OptionsParser\Options; +use Symfony\Component\OptionsResolver\Options; class OptionsTest extends \PHPUnit_Framework_TestCase { @@ -50,7 +50,7 @@ public function testGetNonExisting() } /** - * @expectedException Symfony\Component\OptionsParser\Exception\OptionDefinitionException + * @expectedException Symfony\Component\OptionsResolver\Exception\OptionDefinitionException */ public function testSetNotSupportedAfterGet() { @@ -60,7 +60,7 @@ public function testSetNotSupportedAfterGet() } /** - * @expectedException Symfony\Component\OptionsParser\Exception\OptionDefinitionException + * @expectedException Symfony\Component\OptionsResolver\Exception\OptionDefinitionException */ public function testUnsetNotSupportedAfterGet() { @@ -151,7 +151,7 @@ public function testLazyOptionWithLazyDependency() } /** - * @expectedException Symfony\Component\OptionsParser\Exception\OptionDefinitionException + * @expectedException Symfony\Component\OptionsResolver\Exception\OptionDefinitionException */ public function testLazyOptionDisallowCyclicDependencies() { diff --git a/src/Symfony/Component/OptionsParser/Tests/bootstrap.php b/src/Symfony/Component/OptionsResolver/Tests/bootstrap.php similarity index 82% rename from src/Symfony/Component/OptionsParser/Tests/bootstrap.php rename to src/Symfony/Component/OptionsResolver/Tests/bootstrap.php index 547252172dbe..328ecb2d1e4f 100644 --- a/src/Symfony/Component/OptionsParser/Tests/bootstrap.php +++ b/src/Symfony/Component/OptionsResolver/Tests/bootstrap.php @@ -10,8 +10,8 @@ */ spl_autoload_register(function ($class) { - if (0 === strpos(ltrim($class, '/'), 'Symfony\Component\OptionsParser')) { - if (file_exists($file = __DIR__.'/../'.substr(str_replace('\\', '/', $class), strlen('Symfony\Component\OptionsParser')).'.php')) { + if (0 === strpos(ltrim($class, '/'), 'Symfony\Component\OptionsResolver')) { + if (file_exists($file = __DIR__.'/../'.substr(str_replace('\\', '/', $class), strlen('Symfony\Component\OptionsResolver')).'.php')) { require_once $file; } } diff --git a/src/Symfony/Component/OptionsParser/composer.json b/src/Symfony/Component/OptionsResolver/composer.json similarity index 70% rename from src/Symfony/Component/OptionsParser/composer.json rename to src/Symfony/Component/OptionsResolver/composer.json index 6ea87546f9e4..bd74964548b7 100644 --- a/src/Symfony/Component/OptionsParser/composer.json +++ b/src/Symfony/Component/OptionsResolver/composer.json @@ -1,7 +1,7 @@ { - "name": "symfony/options-parser", + "name": "symfony/options-resolver", "type": "library", - "description": "Symfony OptionsParser Component", + "description": "Symfony OptionsResolver Component", "keywords": [], "homepage": "http://symfony.com", "license": "MIT", @@ -19,9 +19,9 @@ "php": ">=5.3.2" }, "autoload": { - "psr-0": { "Symfony\\Component\\OptionsParser": "" } + "psr-0": { "Symfony\\Component\\OptionsResolver": "" } }, - "target-dir": "Symfony/Component/OptionsParser", + "target-dir": "Symfony/Component/OptionsResolver", "extra": { "branch-alias": { "dev-master": "2.1-dev" diff --git a/src/Symfony/Component/OptionsParser/phpunit.xml.dist b/src/Symfony/Component/OptionsResolver/phpunit.xml.dist similarity index 91% rename from src/Symfony/Component/OptionsParser/phpunit.xml.dist rename to src/Symfony/Component/OptionsResolver/phpunit.xml.dist index a10fc7a8df57..639bb3fbc605 100644 --- a/src/Symfony/Component/OptionsParser/phpunit.xml.dist +++ b/src/Symfony/Component/OptionsResolver/phpunit.xml.dist @@ -12,7 +12,7 @@ bootstrap="Tests/bootstrap.php" > - + ./Tests/