diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/GenericEntityChoiceListTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/GenericEntityChoiceListTest.php
index ebb7ed0e98..9aaf53cd6e 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/GenericEntityChoiceListTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/GenericEntityChoiceListTest.php
@@ -265,6 +265,23 @@ class GenericEntityChoiceListTest extends \PHPUnit_Framework_TestCase
);
$this->assertEquals(array(1, 2), $choiceList->getValuesForChoices(array($item1, $item2)));
+ }
+
+ public function testLegacyInitShorthandEntityName()
+ {
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
+ $item1 = new SingleIntIdEntity(1, 'Foo');
+ $item2 = new SingleIntIdEntity(2, 'Bar');
+
+ $this->em->persist($item1);
+ $this->em->persist($item2);
+
+ $choiceList = new EntityChoiceList(
+ $this->em,
+ 'SymfonyTestsDoctrine:SingleIntIdEntity'
+ );
+
$this->assertEquals(array(1, 2), $choiceList->getIndicesForChoices(array($item1, $item2)));
}
}
diff --git a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleIntIdTest.php b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleIntIdTest.php
index a876878415..3fdb978666 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleIntIdTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Form/ChoiceList/UnloadedEntityChoiceListSingleIntIdTest.php
@@ -20,4 +20,9 @@ class UnloadedEntityChoiceListSingleIntIdTest extends AbstractEntityChoiceListSi
{
$this->markTestSkipped('Non-existing values are not detected for unloaded choice lists.');
}
+
+ public function testLegacyGetIndicesForValuesIgnoresNonExistingValues()
+ {
+ $this->markTestSkipped('Non-existing values are not detected for unloaded choice lists.');
+ }
}
diff --git a/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php b/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php
index cfc56b9b4c..b3398f35dc 100644
--- a/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php
+++ b/src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php
@@ -23,7 +23,6 @@ use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntityValidator;
use Symfony\Component\Validator\Tests\Constraints\AbstractConstraintValidatorTest;
use Symfony\Component\Validator\Validation;
-use Symfony\Component\Validator\Validator;
use Doctrine\ORM\Tools\SchemaTool;
/**
diff --git a/src/Symfony/Bridge/Propel1/Tests/Form/ChoiceList/ModelChoiceListTest.php b/src/Symfony/Bridge/Propel1/Tests/Form/ChoiceList/ModelChoiceListTest.php
index 3b2ea0a8d2..53fb2c5d59 100644
--- a/src/Symfony/Bridge/Propel1/Tests/Form/ChoiceList/ModelChoiceListTest.php
+++ b/src/Symfony/Bridge/Propel1/Tests/Form/ChoiceList/ModelChoiceListTest.php
@@ -183,7 +183,6 @@ class ModelChoiceListTest extends Propel1TestCase
);
$this->assertEquals(array(1, 2), $choiceList->getValuesForChoices(array($item1, $item2)));
- $this->assertEquals(array(1, 2), $choiceList->getIndicesForChoices(array($item1, $item2)));
}
public function testDifferentEqualObjectsAreChoosen()
@@ -202,12 +201,58 @@ class ModelChoiceListTest extends Propel1TestCase
$choosenItem = new Item(1, 'Foo');
- $this->assertEquals(array(1), $choiceList->getIndicesForChoices(array($choosenItem)));
$this->assertEquals(array('1'), $choiceList->getValuesForChoices(array($choosenItem)));
}
- public function testGetIndicesForNullChoices()
+ public function testLegacygetIndicesForChoices()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
+ $item1 = new Item(1, 'Foo');
+ $item2 = new Item(2, 'Bar');
+
+ ItemQuery::$result = array(
+ $item1,
+ $item2,
+ );
+
+ $choiceList = new ModelChoiceList(
+ self::ITEM_CLASS,
+ 'value',
+ null,
+ null,
+ null,
+ null
+ );
+
+ $this->assertEquals(array(1, 2), $choiceList->getIndicesForChoices(array($item1, $item2)));
+ }
+
+ public function testLegacyDifferentEqualObjectsAreChoosen()
+ {
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
+ $item = new Item(1, 'Foo');
+
+ ItemQuery::$result = array(
+ $item,
+ );
+
+ $choiceList = new ModelChoiceList(
+ self::ITEM_CLASS,
+ 'value',
+ array($item)
+ );
+
+ $choosenItem = new Item(1, 'Foo');
+
+ $this->assertEquals(array(1), $choiceList->getIndicesForChoices(array($choosenItem)));
+ }
+
+ public function testLegacyGetIndicesForNullChoices()
+ {
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$item = new Item(1, 'Foo');
$choiceList = new ModelChoiceList(
self::ITEM_CLASS,
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php
index 2c5c7618a9..0c25ad44cd 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionDivLayoutTest.php
@@ -36,7 +36,7 @@ class FormExtensionDivLayoutTest extends AbstractDivLayoutTest
'form_div_layout.html.twig',
'custom_widgets.html.twig',
));
- $renderer = new TwigRenderer($rendererEngine, $this->getMock('Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderInterface'));
+ $renderer = new TwigRenderer($rendererEngine, $this->getMock('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface'));
$this->extension = new FormExtension($renderer);
diff --git a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php
index 22331781da..b2e21a3961 100644
--- a/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php
+++ b/src/Symfony/Bridge/Twig/Tests/Extension/FormExtensionTableLayoutTest.php
@@ -35,7 +35,7 @@ class FormExtensionTableLayoutTest extends AbstractTableLayoutTest
'form_table_layout.html.twig',
'custom_widgets.html.twig',
));
- $renderer = new TwigRenderer($rendererEngine, $this->getMock('Symfony\Component\Form\Extension\Csrf\CsrfProvider\CsrfProviderInterface'));
+ $renderer = new TwigRenderer($rendererEngine, $this->getMock('Symfony\Component\Security\Csrf\CsrfTokenManagerInterface'));
$this->extension = new FormExtension($renderer);
diff --git a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
index 146ea2979d..489b446512 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Console/Descriptor/XmlDescriptor.php
@@ -15,6 +15,7 @@ use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
+use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
@@ -340,6 +341,23 @@ class XmlDescriptor extends Descriptor
$serviceXML->setAttribute('factory-method', $definition->getFactoryMethod());
}
+ if ($factory = $definition->getFactory()) {
+ $serviceXML->appendChild($factoryXML = $dom->createElement('factory'));
+
+ if (is_array($factory)) {
+ if ($factory[0] instanceof Reference) {
+ $factoryXML->setAttribute('service', (string) $factory[0]);
+ } elseif ($factory[0] instanceof Definition) {
+ throw new \InvalidArgumentException('Factory is not describable.');
+ } else {
+ $factoryXML->setAttribute('class', $factory[0]);
+ }
+ $factoryXML->setAttribute('method', $factory[1]);
+ } else {
+ $factoryXML->setAttribute('function', $factory);
+ }
+ }
+
$serviceXML->setAttribute('scope', $definition->getScope());
$serviceXML->setAttribute('public', $definition->isPublic() ? 'true' : 'false');
$serviceXML->setAttribute('synthetic', $definition->isSynthetic() ? 'true' : 'false');
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
index e342544f0d..9bc81ca58b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Console/Descriptor/ObjectsProvider.php
@@ -15,6 +15,7 @@ use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
+use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
@@ -98,8 +99,7 @@ class ObjectsProvider
->setLazy(true)
->setSynchronized(true)
->setAbstract(true)
- ->setFactoryClass('Full\\Qualified\\FactoryClass')
- ->setFactoryMethod('get'),
+ ->setFactory(array('Full\\Qualified\\FactoryClass', 'get')),
'definition_2' => $definition2
->setPublic(false)
->setSynthetic(true)
@@ -110,8 +110,7 @@ class ObjectsProvider
->addTag('tag1', array('attr1' => 'val1', 'attr2' => 'val2'))
->addTag('tag1', array('attr3' => 'val3'))
->addTag('tag2')
- ->setFactoryService('factory.service')
- ->setFactoryMethod('get'),
+ ->setFactory(array(new Reference('factory.service'), 'get')),
);
}
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_public.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_public.xml
index 16df428799..235035c871 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_public.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_public.xml
@@ -2,6 +2,8 @@
-
+
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_services.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_services.xml
index 4636803bfb..31b457e370 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_services.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_services.xml
@@ -2,8 +2,11 @@
-
-
+
+
+
+
+
val1
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tag1.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tag1.xml
index c755e70ce7..d6ac0b750b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tag1.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tag1.xml
@@ -1,6 +1,7 @@
-
+
+
val1
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tags.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tags.xml
index b0f6244487..be9d2f015b 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tags.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/builder_1_tags.xml
@@ -1,9 +1,13 @@
-
+
+
+
-
+
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_1.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_1.xml
index 75d0820244..3aa8ca35e7 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_1.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_1.xml
@@ -1,2 +1,4 @@
-
+
+
+
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_2.xml b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_2.xml
index dd3e2e06d7..f128e522e5 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_2.xml
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Fixtures/Descriptor/definition_2.xml
@@ -1,5 +1,6 @@
-
+
+
val1
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/GlobalVariablesTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/GlobalVariablesTest.php
index 1aec1cc521..3d1aa90414 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/GlobalVariablesTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/GlobalVariablesTest.php
@@ -26,8 +26,10 @@ class GlobalVariablesTest extends TestCase
$this->globals = new GlobalVariables($this->container);
}
- public function testGetSecurity()
+ public function testLegacyGetSecurity()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$securityContext = $this->getMock('Symfony\Component\Security\Core\SecurityContextInterface');
$this->assertNull($this->globals->getSecurity());
diff --git a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php
index 4bd043ed59..5517afdb73 100644
--- a/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php
+++ b/src/Symfony/Bundle/FrameworkBundle/Tests/Templating/Helper/SessionHelperTest.php
@@ -12,33 +12,37 @@
namespace Symfony\Bundle\FrameworkBundle\Tests\Templating\Helper;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
use Symfony\Bundle\FrameworkBundle\Templating\Helper\SessionHelper;
class SessionHelperTest extends \PHPUnit_Framework_TestCase
{
- protected $request;
+ protected $requestStack;
protected function setUp()
{
- $this->request = new Request();
+ $request = new Request();
$session = new Session(new MockArraySessionStorage());
$session->set('foobar', 'bar');
$session->getFlashBag()->set('notice', 'bar');
- $this->request->setSession($session);
+ $request->setSession($session);
+
+ $this->requestStack = new RequestStack();
+ $this->requestStack->push($request);
}
protected function tearDown()
{
- $this->request = null;
+ $this->requestStack = null;
}
public function testFlash()
{
- $helper = new SessionHelper($this->request);
+ $helper = new SessionHelper($this->requestStack);
$this->assertTrue($helper->hasFlash('notice'));
@@ -47,13 +51,13 @@ class SessionHelperTest extends \PHPUnit_Framework_TestCase
public function testGetFlashes()
{
- $helper = new SessionHelper($this->request);
+ $helper = new SessionHelper($this->requestStack);
$this->assertEquals(array('notice' => array('bar')), $helper->getFlashes());
}
public function testGet()
{
- $helper = new SessionHelper($this->request);
+ $helper = new SessionHelper($this->requestStack);
$this->assertEquals('bar', $helper->get('foobar'));
$this->assertEquals('foo', $helper->get('bar', 'foo'));
@@ -63,7 +67,7 @@ class SessionHelperTest extends \PHPUnit_Framework_TestCase
public function testGetName()
{
- $helper = new SessionHelper($this->request);
+ $helper = new SessionHelper($this->requestStack);
$this->assertEquals('session', $helper->getName());
}
diff --git a/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/RenderTokenParserTest.php b/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php
similarity index 91%
rename from src/Symfony/Bundle/TwigBundle/Tests/TokenParser/RenderTokenParserTest.php
rename to src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php
index 55ebcd2566..3e415abf3e 100644
--- a/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/RenderTokenParserTest.php
+++ b/src/Symfony/Bundle/TwigBundle/Tests/TokenParser/LegacyRenderTokenParserTest.php
@@ -15,8 +15,13 @@ use Symfony\Bundle\TwigBundle\Tests\TestCase;
use Symfony\Bundle\TwigBundle\TokenParser\RenderTokenParser;
use Symfony\Bundle\TwigBundle\Node\RenderNode;
-class RenderTokenParserTest extends TestCase
+class LegacyRenderTokenParserTest extends TestCase
{
+ public function setUp()
+ {
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+ }
+
/**
* @dataProvider getTestsForRender
*/
diff --git a/src/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php b/src/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
similarity index 98%
rename from src/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
rename to src/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
index 9755256c79..8a1f203118 100644
--- a/src/Symfony/Component/ClassLoader/Tests/ApcUniversalClassLoaderTest.php
+++ b/src/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php
@@ -13,10 +13,12 @@ namespace Symfony\Component\ClassLoader\Tests;
use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
-class ApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
+class LegacyApcUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+
if (!extension_loaded('apc')) {
$this->markTestSkipped('The apc extension is not available.');
}
diff --git a/src/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php b/src/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php
similarity index 98%
rename from src/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
rename to src/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php
index 6bd7e43621..f654f792fb 100644
--- a/src/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
+++ b/src/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php
@@ -13,8 +13,13 @@ namespace Symfony\Component\ClassLoader\Tests;
use Symfony\Component\ClassLoader\UniversalClassLoader;
-class UniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
+class LegacyUniversalClassLoaderTest extends \PHPUnit_Framework_TestCase
{
+ public function setUp()
+ {
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+ }
+
/**
* @dataProvider getLoadClassTests
*/
diff --git a/src/Symfony/Component/Console/Tests/Helper/DialogHelperTest.php b/src/Symfony/Component/Console/Tests/Helper/LegacyDialogHelperTest.php
similarity index 98%
rename from src/Symfony/Component/Console/Tests/Helper/DialogHelperTest.php
rename to src/Symfony/Component/Console/Tests/Helper/LegacyDialogHelperTest.php
index 26383772b2..e58b8de708 100644
--- a/src/Symfony/Component/Console/Tests/Helper/DialogHelperTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/LegacyDialogHelperTest.php
@@ -17,8 +17,13 @@ use Symfony\Component\Console\Helper\HelperSet;
use Symfony\Component\Console\Helper\FormatterHelper;
use Symfony\Component\Console\Output\StreamOutput;
-class DialogHelperTest extends \PHPUnit_Framework_TestCase
+class LegacyDialogHelperTest extends \PHPUnit_Framework_TestCase
{
+ public function setUp()
+ {
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+ }
+
public function testSelect()
{
$dialog = new DialogHelper();
diff --git a/src/Symfony/Component/Console/Tests/Helper/ProgressHelperTest.php b/src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php
similarity index 97%
rename from src/Symfony/Component/Console/Tests/Helper/ProgressHelperTest.php
rename to src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php
index 7bc475fce0..5dee669f46 100644
--- a/src/Symfony/Component/Console/Tests/Helper/ProgressHelperTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php
@@ -14,8 +14,13 @@ namespace Symfony\Component\Console\Tests\Helper;
use Symfony\Component\Console\Helper\ProgressHelper;
use Symfony\Component\Console\Output\StreamOutput;
-class ProgressHelperTest extends \PHPUnit_Framework_TestCase
+class LegacyProgressHelperTest extends \PHPUnit_Framework_TestCase
{
+ public function setUp()
+ {
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+ }
+
public function testAdvance()
{
$progress = new ProgressHelper();
diff --git a/src/Symfony/Component/Console/Tests/Helper/TableHelperTest.php b/src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
similarity index 98%
rename from src/Symfony/Component/Console/Tests/Helper/TableHelperTest.php
rename to src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
index f3cda0dabf..046cc19ca8 100644
--- a/src/Symfony/Component/Console/Tests/Helper/TableHelperTest.php
+++ b/src/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php
@@ -14,12 +14,13 @@ namespace Symfony\Component\Console\Tests\Helper;
use Symfony\Component\Console\Helper\TableHelper;
use Symfony\Component\Console\Output\StreamOutput;
-class TableHelperTest extends \PHPUnit_Framework_TestCase
+class LegacyTableHelperTest extends \PHPUnit_Framework_TestCase
{
protected $stream;
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
$this->stream = fopen('php://memory', 'r+');
}
diff --git a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php
index b284320afc..fec26dc01f 100644
--- a/src/Symfony/Component/Console/Tests/Input/StringInputTest.php
+++ b/src/Symfony/Component/Console/Tests/Input/StringInputTest.php
@@ -39,8 +39,16 @@ class StringInputTest extends \PHPUnit_Framework_TestCase
$input = new StringInput('--foo=bar');
$input->bind($definition);
$this->assertEquals('bar', $input->getOption('foo'));
+ }
+
+ public function testLegacyInputOptionDefinitionInConstructor()
+ {
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
+ $definition = new InputDefinition(
+ array(new InputOption('foo', null, InputOption::VALUE_REQUIRED))
+ );
- // definition in constructor
$input = new StringInput('--foo=bar', $definition);
$this->assertEquals('bar', $input->getOption('foo'));
}
diff --git a/src/Symfony/Component/Debug/README.md b/src/Symfony/Component/Debug/README.md
index 18d6d8f9ee..70c460370b 100644
--- a/src/Symfony/Component/Debug/README.md
+++ b/src/Symfony/Component/Debug/README.md
@@ -24,7 +24,7 @@ if ('cli' !== php_sapi_name()) {
} elseif (!ini_get('log_errors') || ini_get('error_log')) {
ini_set('display_errors', 1);
}
-ErrorHandler::register($errorReportingLevel);
+ErrorHandler::register();
```
Note that the `Debug::enable()` call also registers the debug class loader
diff --git a/src/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php b/src/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
index c77a8760d3..5e47dfc757 100644
--- a/src/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
+++ b/src/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
@@ -21,24 +21,38 @@ class ClassNotFoundFatalErrorHandlerTest extends \PHPUnit_Framework_TestCase
/**
* @dataProvider provideClassNotFoundData
*/
- public function testHandleClassNotFound($error, $translatedMessage, $autoloader = null)
+ public function testHandleClassNotFound($error, $translatedMessage)
{
- if ($autoloader) {
- // Unregister all autoloaders to ensure the custom provided
- // autoloader is the only one to be used during the test run.
- $autoloaders = spl_autoload_functions();
- array_map('spl_autoload_unregister', $autoloaders);
- spl_autoload_register($autoloader);
- }
+ $handler = new ClassNotFoundFatalErrorHandler();
+
+ $exception = $handler->handleError($error, new FatalErrorException('', 0, $error['type'], $error['file'], $error['line']));
+
+ $this->assertInstanceof('Symfony\Component\Debug\Exception\ClassNotFoundException', $exception);
+ $this->assertSame($translatedMessage, $exception->getMessage());
+ $this->assertSame($error['type'], $exception->getSeverity());
+ $this->assertSame($error['file'], $exception->getFile());
+ $this->assertSame($error['line'], $exception->getLine());
+ }
+
+ /**
+ * @dataProvider provideLegacyClassNotFoundData
+ */
+ public function testLegacyHandleClassNotFound($error, $translatedMessage, $autoloader)
+ {
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
+ // Unregister all autoloaders to ensure the custom provided
+ // autoloader is the only one to be used during the test run.
+ $autoloaders = spl_autoload_functions();
+ array_map('spl_autoload_unregister', $autoloaders);
+ spl_autoload_register($autoloader);
$handler = new ClassNotFoundFatalErrorHandler();
$exception = $handler->handleError($error, new FatalErrorException('', 0, $error['type'], $error['file'], $error['line']));
- if ($autoloader) {
- spl_autoload_unregister($autoloader);
- array_map('spl_autoload_register', $autoloaders);
- }
+ spl_autoload_unregister($autoloader);
+ array_map('spl_autoload_register', $autoloaders);
$this->assertInstanceof('Symfony\Component\Debug\Exception\ClassNotFoundException', $exception);
$this->assertSame($translatedMessage, $exception->getMessage());
@@ -49,14 +63,6 @@ class ClassNotFoundFatalErrorHandlerTest extends \PHPUnit_Framework_TestCase
public function provideClassNotFoundData()
{
- $prefixes = array('Symfony\Component\Debug\Exception\\' => realpath(__DIR__.'/../../Exception'));
-
- $symfonyAutoloader = new SymfonyClassLoader();
- $symfonyAutoloader->addPrefixes($prefixes);
-
- $symfonyUniversalClassLoader = new SymfonyUniversalClassLoader();
- $symfonyUniversalClassLoader->registerPrefixes($prefixes);
-
return array(
array(
array(
@@ -103,6 +109,20 @@ class ClassNotFoundFatalErrorHandlerTest extends \PHPUnit_Framework_TestCase
),
"Attempted to load class \"UndefinedFunctionException\" from namespace \"Foo\Bar\".\nDid you forget a \"use\" statement for \"Symfony\Component\Debug\Exception\UndefinedFunctionException\"?",
),
+ );
+ }
+
+ public function provideLegacyClassNotFoundData()
+ {
+ $prefixes = array('Symfony\Component\Debug\Exception\\' => realpath(__DIR__.'/../../Exception'));
+
+ $symfonyAutoloader = new SymfonyClassLoader();
+ $symfonyAutoloader->addPrefixes($prefixes);
+
+ $symfonyUniversalClassLoader = new SymfonyUniversalClassLoader();
+ $symfonyUniversalClassLoader->registerPrefixes($prefixes);
+
+ return array(
array(
array(
'type' => 1,
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php b/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
index 40c6b23cad..c5ecb2d504 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php
@@ -74,6 +74,9 @@ class AnalyzeServiceReferencesPass implements RepeatablePassInterface
if ($definition->getFactoryService()) {
$this->processArguments(array(new Reference($definition->getFactoryService())));
}
+ if (is_array($definition->getFactory())) {
+ $this->processArguments($definition->getFactory());
+ }
if (!$this->onlyConstructorArguments) {
$this->processArguments($definition->getMethodCalls());
@@ -81,9 +84,6 @@ class AnalyzeServiceReferencesPass implements RepeatablePassInterface
if ($definition->getConfigurator()) {
$this->processArguments(array($definition->getConfigurator()));
}
- if ($definition->getFactory()) {
- $this->processArguments(array($definition->getFactory()));
- }
}
}
@@ -115,6 +115,9 @@ class AnalyzeServiceReferencesPass implements RepeatablePassInterface
$this->processArguments($argument->getMethodCalls());
$this->processArguments($argument->getProperties());
+ if (is_array($argument->getFactory())) {
+ $this->processArguments($argument->getFactory());
+ }
if ($argument->getFactoryService()) {
$this->processArguments(array(new Reference($argument->getFactoryService())));
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php b/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php
index 102e9331cd..9d3a781420 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php
@@ -144,6 +144,10 @@ class InlineServiceDefinitionsPass implements RepeatablePassInterface
return false;
}
+ if (count($ids) > 1 && is_array($factory = $definition->getFactory()) && ($factory[0] instanceof Reference || $factory[0] instanceof Definition)) {
+ return false;
+ }
+
if (count($ids) > 1 && $definition->getFactoryService()) {
return false;
}
diff --git a/src/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php b/src/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php
index 032d27aaee..c1db3e04d6 100644
--- a/src/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php
+++ b/src/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php
@@ -81,11 +81,9 @@ class ResolveDefinitionTemplatesPass implements CompilerPassInterface
$def->setArguments($parentDef->getArguments());
$def->setMethodCalls($parentDef->getMethodCalls());
$def->setProperties($parentDef->getProperties());
- if (null !== $parentDef->getFactoryMethod()) {
- $def->setFactoryClass($parentDef->getFactoryClass());
- $def->setFactoryMethod($parentDef->getFactoryMethod());
- $def->setFactoryService($parentDef->getFactoryService());
- }
+ $def->setFactoryClass($parentDef->getFactoryClass());
+ $def->setFactoryMethod($parentDef->getFactoryMethod());
+ $def->setFactoryService($parentDef->getFactoryService());
$def->setFactory($parentDef->getFactory());
$def->setConfigurator($parentDef->getConfigurator());
$def->setFile($parentDef->getFile());
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
index 36130abceb..04fe7c2cf1 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
@@ -87,7 +87,7 @@ class AnalyzeServiceReferencesPassTest extends \PHPUnit_Framework_TestCase
;
$factory = new Definition();
- $factory->setFactoryService('a');
+ $factory->setFactory(array(new Reference('a'), 'a'));
$container
->register('b')
@@ -124,13 +124,11 @@ class AnalyzeServiceReferencesPassTest extends \PHPUnit_Framework_TestCase
$container
->register('foo', 'stdClass')
- ->setFactoryClass('stdClass')
- ->setFactoryMethod('getInstance');
+ ->setFactory(array('stdClass', 'getInstance'));
$container
->register('bar', 'stdClass')
- ->setFactoryService('foo')
- ->setFactoryMethod('getInstance');
+ ->setFactory(array(new Reference('foo'), 'getInstance'));
$graph = $this->process($container);
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php
index 98a600b9c0..55351e551c 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php
@@ -53,13 +53,11 @@ class CheckCircularReferencesPassTest extends \PHPUnit_Framework_TestCase
$container
->register('a', 'stdClass')
- ->setFactoryService('b')
- ->setFactoryMethod('getInstance');
+ ->setFactory(array(new Reference('b'), 'getInstance'));
$container
->register('b', 'stdClass')
- ->setFactoryService('a')
- ->setFactoryMethod('getInstance');
+ ->setFactory(array(new Reference('a'), 'getInstance'));
$this->process($container);
}
@@ -88,8 +86,7 @@ class CheckCircularReferencesPassTest extends \PHPUnit_Framework_TestCase
$container
->register('b', 'stdClass')
- ->setFactoryService('c')
- ->setFactoryMethod('getInstance');
+ ->setFactory(array(new Reference('c'), 'getInstance'));
$container->register('c')->addArgument(new Reference('a'));
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
index fc404467a6..590ca4cfae 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
@@ -118,7 +118,7 @@ class InlineServiceDefinitionsPassTest extends \PHPUnit_Framework_TestCase
$b = $container
->register('b')
->setPublic(false)
- ->setFactoryService('a')
+ ->setFactory(array(new Reference('a'), 'a'))
;
$container
@@ -142,7 +142,7 @@ class InlineServiceDefinitionsPassTest extends \PHPUnit_Framework_TestCase
$container
->register('b')
->setPublic(false)
- ->setFactoryService('a')
+ ->setFactory(array(new Reference('a'), 'a'))
;
$container
@@ -168,12 +168,12 @@ class InlineServiceDefinitionsPassTest extends \PHPUnit_Framework_TestCase
$container
->register('b')
->setPublic(false)
- ->setFactoryService('a')
+ ->setFactory(array(new Reference('a'), 'a'))
;
$inlineFactory = new Definition();
$inlineFactory->setPublic(false);
- $inlineFactory->setFactoryService('b');
+ $inlineFactory->setFactory(array(new Reference('b'), 'b'));
$container
->register('foo')
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php b/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
index 490f38aeef..82149ebdb3 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
@@ -86,14 +86,12 @@ class RemoveUnusedDefinitionsPassTest extends \PHPUnit_Framework_TestCase
$container
->register('foo', 'stdClass')
- ->setFactoryClass('stdClass')
- ->setFactoryMethod('getInstance')
+ ->setFactory(array('stdClass', 'getInstance'))
->setPublic(false);
$container
->register('bar', 'stdClass')
- ->setFactoryService('foo')
- ->setFactoryMethod('getInstance')
+ ->setFactory(array(new Reference('foo'), 'getInstance'))
->setPublic(false);
$container
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces1.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces1.php
deleted file mode 100644
index 27503a351c..0000000000
--- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces1.php
+++ /dev/null
@@ -1,25 +0,0 @@
-setParameter('cla', 'Fo');
-$container->setParameter('ss', 'Class');
-
-$definition = new Definition('%cla%o%ss%');
-$container->setDefinition('foo', $definition);
-
-return $container;
-
-if (!class_exists('FooClass')) {
- class FooClass
- {
- public $bar;
-
- public function setBar($bar)
- {
- $this->bar = $bar;
- }
- }
-}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces2.php b/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces2.php
deleted file mode 100644
index a85190145e..0000000000
--- a/src/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/interfaces2.php
+++ /dev/null
@@ -1,34 +0,0 @@
-setDefinition('barFactory', $factoryDefinition);
-
-$definition = new Definition();
-$definition->setFactoryService('barFactory');
-$definition->setFactoryMethod('createBarClass');
-$container->setDefinition('bar', $definition);
-
-return $container;
-
-class BarClass
-{
- public $foo;
-
- public function setBar($foo)
- {
- $this->foo = $foo;
- }
-}
-
-class BarClassFactory
-{
- public function createBarClass()
- {
- return new BarClass();
- }
-}
diff --git a/src/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php b/src/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php
index 496b621b6b..2f7b827d43 100644
--- a/src/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php
+++ b/src/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php
@@ -16,6 +16,11 @@ use Symfony\Component\DependencyInjection\Reference;
class LegacyContainerBuilderTest extends \PHPUnit_Framework_TestCase
{
+ public function setUp()
+ {
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+ }
+
/**
* @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService
*/
diff --git a/src/Symfony/Component/EventDispatcher/Tests/EventTest.php b/src/Symfony/Component/EventDispatcher/Tests/EventTest.php
index 7a20fe6bf3..8f2fb7358e 100644
--- a/src/Symfony/Component/EventDispatcher/Tests/EventTest.php
+++ b/src/Symfony/Component/EventDispatcher/Tests/EventTest.php
@@ -60,24 +60,28 @@ class EventTest extends \PHPUnit_Framework_TestCase
$this->assertTrue($this->event->isPropagationStopped());
}
- public function testSetDispatcher()
+ public function testLegacySetDispatcher()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
$this->event->setDispatcher($this->dispatcher);
$this->assertSame($this->dispatcher, $this->event->getDispatcher());
}
- public function testGetDispatcher()
+ public function testLegacyGetDispatcher()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
$this->assertNull($this->event->getDispatcher());
}
- public function testGetName()
+ public function testLegacyGetName()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
$this->assertNull($this->event->getName());
}
- public function testSetName()
+ public function testLegacySetName()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
$this->event->setName('foo');
$this->assertEquals('foo', $this->event->getName());
}
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php b/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
index 116e6c898d..b705659e97 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
@@ -62,7 +62,6 @@ class ChoiceType extends AbstractType
$placeholderView = new ChoiceView(null, '', $options['placeholder']);
// "placeholder" is a reserved index
- // see also ChoiceListInterface::getIndicesForChoices()
$this->addSubForms($builder, array('placeholder' => $placeholderView), $options);
}
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php b/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
index d8b29d2a4a..252d370080 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
@@ -242,7 +242,7 @@ class DateTimeType extends AbstractType
// Don't add some defaults in order to preserve the defaults
// set in DateType and TimeType
- $resolver->setOptional(array(
+ $resolver->setDefined(array(
'empty_value', // deprecated
'placeholder',
'years',
diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php
index dc8c60a947..a30de1df84 100644
--- a/src/Symfony/Component/Form/Extension/Core/Type/FormType.php
+++ b/src/Symfony/Component/Form/Extension/Core/Type/FormType.php
@@ -165,7 +165,7 @@ class FormType extends BaseType
// If data is given, the form is locked to that data
// (independent of its value)
- $resolver->setOptional(array(
+ $resolver->setDefined(array(
'data',
));
diff --git a/src/Symfony/Component/Form/Forms.php b/src/Symfony/Component/Form/Forms.php
index c949c1f48a..96ac45129f 100644
--- a/src/Symfony/Component/Form/Forms.php
+++ b/src/Symfony/Component/Form/Forms.php
@@ -55,39 +55,6 @@ use Symfony\Component\Form\Extension\Core\CoreExtension;
* ->getFormFactory();
*
*
- * Support for CSRF protection is provided by the CsrfExtension.
- * This extension needs a CSRF provider with a strong secret
- * (e.g. a 20 character long random string). The default
- * implementation for this is DefaultCsrfProvider:
- *
- *
- * use Symfony\Component\Form\Extension\Csrf\CsrfExtension;
- * use Symfony\Component\Form\Extension\Csrf\CsrfProvider\DefaultCsrfProvider;
- *
- * $secret = 'V8a5Z97e...';
- * $formFactory = Forms::createFormFactoryBuilder()
- * ->addExtension(new CsrfExtension(new DefaultCsrfProvider($secret)))
- * ->getFormFactory();
- *
- *
- * Support for the HttpFoundation is provided by the
- * HttpFoundationExtension. You are also advised to load the CSRF
- * extension with the driver for HttpFoundation's Session class:
- *
- *
- * use Symfony\Component\HttpFoundation\Session\Session;
- * use Symfony\Component\Form\Extension\HttpFoundation\HttpFoundationExtension;
- * use Symfony\Component\Form\Extension\Csrf\CsrfExtension;
- * use Symfony\Component\Form\Extension\Csrf\CsrfProvider\SessionCsrfProvider;
- *
- * $session = new Session();
- * $secret = 'V8a5Z97e...';
- * $formFactory = Forms::createFormFactoryBuilder()
- * ->addExtension(new HttpFoundationExtension())
- * ->addExtension(new CsrfExtension(new SessionCsrfProvider($session, $secret)))
- * ->getFormFactory();
- *
- *
* Support for the Validator component is provided by ValidatorExtension.
* This extension needs a validator object to function properly:
*
@@ -129,26 +96,6 @@ use Symfony\Component\Form\Extension\Core\CoreExtension;
* ->getFormFactory();
*
*
- * If you also loaded the CsrfExtension, you should pass the CSRF provider
- * to the extension so that you can render CSRF tokens in your templates
- * more easily:
- *
- *
- * use Symfony\Component\Form\Extension\Csrf\CsrfExtension;
- * use Symfony\Component\Form\Extension\Csrf\CsrfProvider\DefaultCsrfProvider;
- * use Symfony\Component\Form\Extension\Templating\TemplatingExtension;
- *
- *
- * $secret = 'V8a5Z97e...';
- * $csrfProvider = new DefaultCsrfProvider($secret);
- * $formFactory = Forms::createFormFactoryBuilder()
- * ->addExtension(new CsrfExtension($csrfProvider))
- * ->addExtension(new TemplatingExtension($engine, $csrfProvider, array(
- * 'FrameworkBundle:Form',
- * )))
- * ->getFormFactory();
- *
- *
* @author Bernhard Schussek
*/
final class Forms
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/AbstractChoiceListTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/AbstractChoiceListTest.php
index c762064e0b..f503b95622 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/AbstractChoiceListTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/AbstractChoiceListTest.php
@@ -161,63 +161,83 @@ abstract class AbstractChoiceListTest extends \PHPUnit_Framework_TestCase
$this->assertSame($this->values, $this->list->getValues());
}
- public function testGetIndicesForChoices()
+ public function testLegacyGetIndicesForChoices()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$choices = array($this->choice1, $this->choice2);
$this->assertSame(array($this->index1, $this->index2), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForChoicesPreservesKeys()
+ public function testLegacyGetIndicesForChoicesPreservesKeys()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$choices = array(5 => $this->choice1, 8 => $this->choice2);
$this->assertSame(array(5 => $this->index1, 8 => $this->index2), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForChoicesPreservesOrder()
+ public function testLegacyGetIndicesForChoicesPreservesOrder()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$choices = array($this->choice2, $this->choice1);
$this->assertSame(array($this->index2, $this->index1), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForChoicesIgnoresNonExistingChoices()
+ public function testLegacyGetIndicesForChoicesIgnoresNonExistingChoices()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$choices = array($this->choice1, $this->choice2, 'foobar');
$this->assertSame(array($this->index1, $this->index2), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForChoicesEmpty()
+ public function testLegacyGetIndicesForChoicesEmpty()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->assertSame(array(), $this->list->getIndicesForChoices(array()));
}
- public function testGetIndicesForValues()
+ public function testLegacyGetIndicesForValues()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
// values and indices are always the same
$values = array($this->value1, $this->value2);
$this->assertSame(array($this->index1, $this->index2), $this->list->getIndicesForValues($values));
}
- public function testGetIndicesForValuesPreservesKeys()
+ public function testLegacyGetIndicesForValuesPreservesKeys()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
// values and indices are always the same
$values = array(5 => $this->value1, 8 => $this->value2);
$this->assertSame(array(5 => $this->index1, 8 => $this->index2), $this->list->getIndicesForValues($values));
}
- public function testGetIndicesForValuesPreservesOrder()
+ public function testLegacyGetIndicesForValuesPreservesOrder()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$values = array($this->value2, $this->value1);
$this->assertSame(array($this->index2, $this->index1), $this->list->getIndicesForValues($values));
}
- public function testGetIndicesForValuesIgnoresNonExistingValues()
+ public function testLegacyGetIndicesForValuesIgnoresNonExistingValues()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$values = array($this->value1, $this->value2, 'foobar');
$this->assertSame(array($this->index1, $this->index2), $this->list->getIndicesForValues($values));
}
- public function testGetIndicesForValuesEmpty()
+ public function testLegacyGetIndicesForValuesEmpty()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->assertSame(array(), $this->list->getIndicesForValues(array()));
}
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/LazyChoiceListTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/LazyChoiceListTest.php
index bcd309e050..d4ff2124af 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/LazyChoiceListTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/LazyChoiceListTest.php
@@ -57,14 +57,18 @@ class LazyChoiceListTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(array(0 => new ChoiceView('a', 'a', 'A'), 2 => new ChoiceView('c', 'c', 'C')), $this->list->getRemainingViews());
}
- public function testGetIndicesForChoices()
+ public function testLegacyGetIndicesForChoices()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$choices = array('b', 'c');
$this->assertSame(array(1, 2), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForValues()
+ public function testLegacyGetIndicesForValues()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$values = array('b', 'c');
$this->assertSame(array(1, 2), $this->list->getIndicesForValues($values));
}
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/ObjectChoiceListTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/ObjectChoiceListTest.php
index a05fb57c2f..c20ac1ce27 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/ObjectChoiceListTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/ObjectChoiceListTest.php
@@ -185,8 +185,10 @@ class ObjectChoiceListTest extends AbstractChoiceListTest
);
}
- public function testGetIndicesForChoicesWithValuePath()
+ public function testLegacyGetIndicesForChoicesWithValuePath()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->list = new ObjectChoiceList(
array($this->obj1, $this->obj2, $this->obj3, $this->obj4),
'name',
@@ -200,8 +202,10 @@ class ObjectChoiceListTest extends AbstractChoiceListTest
$this->assertSame(array($this->index1, $this->index2), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForChoicesWithValuePathPreservesKeys()
+ public function testLegacyGetIndicesForChoicesWithValuePathPreservesKeys()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->list = new ObjectChoiceList(
array($this->obj1, $this->obj2, $this->obj3, $this->obj4),
'name',
@@ -214,8 +218,10 @@ class ObjectChoiceListTest extends AbstractChoiceListTest
$this->assertSame(array(5 => $this->index1, 8 => $this->index2), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForChoicesWithValuePathPreservesOrder()
+ public function testLegacyGetIndicesForChoicesWithValuePathPreservesOrder()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->list = new ObjectChoiceList(
array($this->obj1, $this->obj2, $this->obj3, $this->obj4),
'name',
@@ -228,8 +234,10 @@ class ObjectChoiceListTest extends AbstractChoiceListTest
$this->assertSame(array($this->index2, $this->index1), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForChoicesWithValuePathIgnoresNonExistingChoices()
+ public function testLegacyGetIndicesForChoicesWithValuePathIgnoresNonExistingChoices()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->list = new ObjectChoiceList(
array($this->obj1, $this->obj2, $this->obj3, $this->obj4),
'name',
diff --git a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/SimpleNumericChoiceListTest.php b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/SimpleNumericChoiceListTest.php
index fea0dad9ea..540ae16f74 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/SimpleNumericChoiceListTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Core/ChoiceList/SimpleNumericChoiceListTest.php
@@ -15,15 +15,19 @@ use Symfony\Component\Form\Extension\Core\ChoiceList\SimpleChoiceList;
class SimpleNumericChoiceListTest extends AbstractChoiceListTest
{
- public function testGetIndicesForChoicesDealsWithNumericChoices()
+ public function testLegacyGetIndicesForChoicesDealsWithNumericChoices()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
// Pass choices as strings although they are integers
$choices = array('0', '1');
$this->assertSame(array(0, 1), $this->list->getIndicesForChoices($choices));
}
- public function testGetIndicesForValuesDealsWithNumericValues()
+ public function testLegacyGetIndicesForValuesDealsWithNumericValues()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
// Pass values as strings although they are integers
$values = array('0', '1');
$this->assertSame(array(0, 1), $this->list->getIndicesForValues($values));
diff --git a/src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/DefaultCsrfProviderTest.php b/src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/LegacyDefaultCsrfProviderTest.php
similarity index 100%
rename from src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/DefaultCsrfProviderTest.php
rename to src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/LegacyDefaultCsrfProviderTest.php
diff --git a/src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/SessionCsrfProviderTest.php b/src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/LegacySessionCsrfProviderTest.php
similarity index 92%
rename from src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/SessionCsrfProviderTest.php
rename to src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/LegacySessionCsrfProviderTest.php
index 99e87158b5..018f80fa44 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/SessionCsrfProviderTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Csrf/CsrfProvider/LegacySessionCsrfProviderTest.php
@@ -13,13 +13,15 @@ namespace Symfony\Component\Form\Tests\Extension\Csrf\CsrfProvider;
use Symfony\Component\Form\Extension\Csrf\CsrfProvider\SessionCsrfProvider;
-class SessionCsrfProviderTest extends \PHPUnit_Framework_TestCase
+class LegacySessionCsrfProviderTest extends \PHPUnit_Framework_TestCase
{
protected $provider;
protected $session;
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+
$this->session = $this->getMock(
'Symfony\Component\HttpFoundation\Session\Session',
array(),
diff --git a/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php b/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php
index 6b9a0fb6c1..727db21f76 100644
--- a/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php
+++ b/src/Symfony/Component/Form/Tests/Extension/Validator/Constraints/FormValidatorTest.php
@@ -598,7 +598,7 @@ class FormValidatorTest extends AbstractConstraintValidatorTest
private function getMockExecutionContext()
{
- return $this->getMock('Symfony\Component\Validator\ExecutionContextInterface');
+ return $this->getMock('Symfony\Component\Validator\Context\ExecutionContextInterface');
}
/**
diff --git a/src/Symfony/Component/Form/Tests/SimpleFormTest.php b/src/Symfony/Component/Form/Tests/SimpleFormTest.php
index 9caf9a9207..4c4e0ed8de 100644
--- a/src/Symfony/Component/Form/Tests/SimpleFormTest.php
+++ b/src/Symfony/Component/Form/Tests/SimpleFormTest.php
@@ -122,16 +122,16 @@ class SimpleFormTest extends AbstractFormTest
public function testFalseIsConvertedToNull()
{
$mock = $this->getMockBuilder('\stdClass')
- ->setMethods(array('preBind'))
+ ->setMethods(array('preSubmit'))
->getMock();
$mock->expects($this->once())
- ->method('preBind')
+ ->method('preSubmit')
->with($this->callback(function ($event) {
return null === $event->getData();
}));
$config = new FormConfigBuilder('name', null, $this->dispatcher);
- $config->addEventListener(FormEvents::PRE_SUBMIT, array($mock, 'preBind'));
+ $config->addEventListener(FormEvents::PRE_SUBMIT, array($mock, 'preSubmit'));
$form = new Form($config);
$form->submit(false);
diff --git a/src/Symfony/Component/Form/composer.json b/src/Symfony/Component/Form/composer.json
index b336c32292..6f8c14502e 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|~3.0.0",
"symfony/intl": "~2.3|~3.0.0",
- "symfony/options-resolver": "~2.1|~3.0.0",
+ "symfony/options-resolver": "~2.6|~3.0.0",
"symfony/property-access": "~2.3|~3.0.0"
},
"require-dev": {
diff --git a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
index 5fa6255414..cb072deff6 100644
--- a/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
+++ b/src/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
@@ -19,6 +19,8 @@ class LegacyPdoSessionHandlerTest extends \PHPUnit_Framework_TestCase
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
if (!class_exists('PDO') || !in_array('sqlite', \PDO::getAvailableDrivers())) {
$this->markTestSkipped('This test requires SQLite support in your environment');
}
diff --git a/src/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php b/src/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
index 32f9eebed0..86d8812530 100644
--- a/src/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php
@@ -11,7 +11,6 @@
namespace Symfony\Component\HttpKernel\Tests\DataCollector;
-use Symfony\Component\Debug\ErrorHandler;
use Symfony\Component\HttpKernel\DataCollector\LoggerDataCollector;
class LoggerDataCollectorTest extends \PHPUnit_Framework_TestCase
diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php
index b242ede446..c68f3af37b 100644
--- a/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php
@@ -11,6 +11,7 @@
namespace Symfony\Component\HttpKernel\Tests\EventListener;
+use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpKernel\EventListener\ProfilerListener;
use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
@@ -23,11 +24,11 @@ class ProfilerListenerTest extends \PHPUnit_Framework_TestCase
{
/**
* Test to ensure BC without RequestStack
- *
- * @deprecated Deprecated since version 2.4, to be removed in 3.0.
*/
- public function testEventsWithoutRequestStack()
+ public function testLegacyEventsWithoutRequestStack()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+
$profile = $this->getMockBuilder('Symfony\Component\HttpKernel\Profiler\Profile')
->disableOriginalConstructor()
->getMock();
@@ -86,15 +87,16 @@ class ProfilerListenerTest extends \PHPUnit_Framework_TestCase
->disableOriginalConstructor()
->getMock();
+ $requestStack = new RequestStack();
+ $requestStack->push($masterRequest);
+
$onlyException = true;
- $listener = new ProfilerListener($profiler, null, $onlyException);
+ $listener = new ProfilerListener($profiler, null, $onlyException, false, $requestStack);
// master request
- $listener->onKernelRequest(new GetResponseEvent($kernel, $masterRequest, Kernel::MASTER_REQUEST));
$listener->onKernelResponse(new FilterResponseEvent($kernel, $masterRequest, Kernel::MASTER_REQUEST, $response));
// sub request
- $listener->onKernelRequest(new GetResponseEvent($kernel, $subRequest, Kernel::SUB_REQUEST));
$listener->onKernelException(new GetResponseForExceptionEvent($kernel, $subRequest, Kernel::SUB_REQUEST, new HttpException(404)));
$listener->onKernelResponse(new FilterResponseEvent($kernel, $subRequest, Kernel::SUB_REQUEST, $response));
diff --git a/src/Symfony/Component/HttpKernel/Tests/EventListener/EsiListenerTest.php b/src/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php
similarity index 97%
rename from src/Symfony/Component/HttpKernel/Tests/EventListener/EsiListenerTest.php
rename to src/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php
index 9b0517d03e..1a0acf92fa 100644
--- a/src/Symfony/Component/HttpKernel/Tests/EventListener/EsiListenerTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php
@@ -20,7 +20,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\EventDispatcher\EventDispatcher;
-class EsiListenerTest extends \PHPUnit_Framework_TestCase
+class SurrogateListenerTest extends \PHPUnit_Framework_TestCase
{
public function testFilterDoesNothingForSubRequests()
{
diff --git a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php
index 67f91e48bd..c8a79bd7e5 100644
--- a/src/Symfony/Component/HttpKernel/Tests/KernelTest.php
+++ b/src/Symfony/Component/HttpKernel/Tests/KernelTest.php
@@ -274,21 +274,21 @@ EOF;
$this->assertEquals($expected, $output);
}
- public function testIsClassInActiveBundleFalse()
+ public function testLegacyIsClassInActiveBundleFalse()
{
$kernel = $this->getKernelMockForIsClassInActiveBundleTest();
$this->assertFalse($kernel->isClassInActiveBundle('Not\In\Active\Bundle'));
}
- public function testIsClassInActiveBundleFalseNoNamespace()
+ public function testLegacyIsClassInActiveBundleFalseNoNamespace()
{
$kernel = $this->getKernelMockForIsClassInActiveBundleTest();
$this->assertFalse($kernel->isClassInActiveBundle('NotNamespacedClass'));
}
- public function testIsClassInActiveBundleTrue()
+ public function testLegacyIsClassInActiveBundleTrue()
{
$kernel = $this->getKernelMockForIsClassInActiveBundleTest();
@@ -297,6 +297,8 @@ EOF;
protected function getKernelMockForIsClassInActiveBundleTest()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+
$bundle = new FooBarBundle();
$kernel = $this->getKernel(array('getBundles'));
diff --git a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php b/src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsResolverTest.php
similarity index 97%
rename from src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php
rename to src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsResolverTest.php
index c72f0c234c..da9ee69148 100644
--- a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php
+++ b/src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsResolverTest.php
@@ -14,10 +14,7 @@ namespace Symfony\Component\OptionsResolver\Tests;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\OptionsResolver\Options;
-/**
- * @deprecated Deprecated since Symfony 2.6, to be removed in Symfony 3.0.
- */
-class OptionsResolverTest extends \PHPUnit_Framework_TestCase
+class LegacyOptionsResolverTest extends \PHPUnit_Framework_TestCase
{
/**
* @var OptionsResolver
@@ -26,6 +23,8 @@ class OptionsResolverTest extends \PHPUnit_Framework_TestCase
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+
$this->resolver = new OptionsResolver();
}
@@ -717,4 +716,16 @@ class OptionsResolverTest extends \PHPUnit_Framework_TestCase
'three' => '3',
), $clone->resolve());
}
+
+ public function testOverloadReturnsThis()
+ {
+ $this->assertSame($this->resolver, $this->resolver->overload('foo', 'bar'));
+ }
+
+ public function testOverloadCallsSet()
+ {
+ $this->resolver->overload('foo', 'bar');
+
+ $this->assertSame(array('foo' => 'bar'), $this->resolver->resolve());
+ }
}
diff --git a/src/Symfony/Component/OptionsResolver/Tests/OptionsTest.php b/src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsTest.php
similarity index 98%
rename from src/Symfony/Component/OptionsResolver/Tests/OptionsTest.php
rename to src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsTest.php
index 5d569ebe02..4353c0f49f 100644
--- a/src/Symfony/Component/OptionsResolver/Tests/OptionsTest.php
+++ b/src/Symfony/Component/OptionsResolver/Tests/LegacyOptionsTest.php
@@ -14,10 +14,7 @@ namespace Symfony\Component\OptionsResolver\Tests;
use Symfony\Component\OptionsResolver\Options;
use Symfony\Component\OptionsResolver\OptionsResolver;
-/**
- * @deprecated Deprecated since Symfony 2.6, to be removed in Symfony 3.0.
- */
-class OptionsTest extends \PHPUnit_Framework_TestCase
+class LegacyOptionsTest extends \PHPUnit_Framework_TestCase
{
/**
* @var OptionsResolver
@@ -26,6 +23,8 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->options = new OptionsResolver();
}
diff --git a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolver2Dot6Test.php b/src/Symfony/Component/OptionsResolver/Tests/OptionsResolver2Dot6Test.php
index 61fc1d9703..5d715c57a4 100644
--- a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolver2Dot6Test.php
+++ b/src/Symfony/Component/OptionsResolver/Tests/OptionsResolver2Dot6Test.php
@@ -113,22 +113,6 @@ class OptionsResolver2Dot6Test extends \PHPUnit_Framework_TestCase
$this->assertTrue($this->resolver->hasDefault('foo'));
}
- ////////////////////////////////////////////////////////////////////////////
- // overload()
- ////////////////////////////////////////////////////////////////////////////
-
- public function testOverloadReturnsThis()
- {
- $this->assertSame($this->resolver, $this->resolver->overload('foo', 'bar'));
- }
-
- public function testOverloadCallsSet()
- {
- $this->resolver->overload('foo', 'bar');
-
- $this->assertSame(array('foo' => 'bar'), $this->resolver->resolve());
- }
-
////////////////////////////////////////////////////////////////////////////
// lazy setDefault()
////////////////////////////////////////////////////////////////////////////
diff --git a/src/Symfony/Component/Routing/Tests/Matcher/Dumper/ApacheMatcherDumperTest.php b/src/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
similarity index 97%
rename from src/Symfony/Component/Routing/Tests/Matcher/Dumper/ApacheMatcherDumperTest.php
rename to src/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
index 72bee71002..1cdb3d3a5c 100644
--- a/src/Symfony/Component/Routing/Tests/Matcher/Dumper/ApacheMatcherDumperTest.php
+++ b/src/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
@@ -15,7 +15,7 @@ use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Matcher\Dumper\ApacheMatcherDumper;
-class ApacheMatcherDumperTest extends \PHPUnit_Framework_TestCase
+class LegacyApacheMatcherDumperTest extends \PHPUnit_Framework_TestCase
{
protected static $fixturesPath;
@@ -24,6 +24,11 @@ class ApacheMatcherDumperTest extends \PHPUnit_Framework_TestCase
self::$fixturesPath = realpath(__DIR__.'/../../Fixtures/');
}
+ public function setUp()
+ {
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
+ }
+
public function testDump()
{
$dumper = new ApacheMatcherDumper($this->getRouteCollection());
diff --git a/src/Symfony/Component/Routing/Tests/Matcher/ApacheUrlMatcherTest.php b/src/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
similarity index 97%
rename from src/Symfony/Component/Routing/Tests/Matcher/ApacheUrlMatcherTest.php
rename to src/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
index 05e6261a5f..3a02dea0e6 100644
--- a/src/Symfony/Component/Routing/Tests/Matcher/ApacheUrlMatcherTest.php
+++ b/src/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
@@ -15,12 +15,13 @@ use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\Matcher\ApacheUrlMatcher;
-class ApacheUrlMatcherTest extends \PHPUnit_Framework_TestCase
+class LegacyApacheUrlMatcherTest extends \PHPUnit_Framework_TestCase
{
protected $server;
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
$this->server = $_SERVER;
}
diff --git a/src/Symfony/Component/Security/Core/SecurityContext.php b/src/Symfony/Component/Security/Core/SecurityContext.php
index 545d4cbd85..165c22ada6 100644
--- a/src/Symfony/Component/Security/Core/SecurityContext.php
+++ b/src/Symfony/Component/Security/Core/SecurityContext.php
@@ -70,8 +70,6 @@ class SecurityContext implements SecurityContextInterface
}
/**
- * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use TokenStorageInterface::getToken() instead.
- *
* {@inheritdoc}
*/
public function getToken()
@@ -80,8 +78,6 @@ class SecurityContext implements SecurityContextInterface
}
/**
- * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use TokenStorageInterface::setToken() instead.
- *
* {@inheritdoc}
*/
public function setToken(TokenInterface $token = null)
@@ -90,8 +86,6 @@ class SecurityContext implements SecurityContextInterface
}
/**
- * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use AuthorizationCheckerInterface::isGranted() instead.
- *
* {@inheritdoc}
*/
public function isGranted($attributes, $object = null)
diff --git a/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php b/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php
index b47a45b9ca..7792913cb5 100644
--- a/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php
+++ b/src/Symfony/Component/Security/Core/Tests/Validator/Constraints/UserPasswordValidatorTest.php
@@ -86,7 +86,8 @@ abstract class UserPasswordValidatorTest extends AbstractConstraintValidatorTest
$this->validator->validate('secret', $constraint);
- $this->assertViolation('myMessage');
+ $this->buildViolation('myMessage')
+ ->assertRaised();
}
/**
diff --git a/src/Symfony/Component/Security/Tests/Core/SecurityContextInterfaceTest.php b/src/Symfony/Component/Security/Tests/Core/LegacySecurityContextInterfaceTest.php
similarity index 85%
rename from src/Symfony/Component/Security/Tests/Core/SecurityContextInterfaceTest.php
rename to src/Symfony/Component/Security/Tests/Core/LegacySecurityContextInterfaceTest.php
index 09a459003b..764a43d37a 100644
--- a/src/Symfony/Component/Security/Tests/Core/SecurityContextInterfaceTest.php
+++ b/src/Symfony/Component/Security/Tests/Core/LegacySecurityContextInterfaceTest.php
@@ -14,15 +14,15 @@ namespace Symfony\Component\Security\Tests\Core;
use Symfony\Component\Security\Core\SecurityContextInterface;
use Symfony\Component\Security\Core\Security;
-class SecurityContextInterfaceTest extends \PHPUnit_Framework_TestCase
+class LegacySecurityContextInterfaceTest extends \PHPUnit_Framework_TestCase
{
/**
* Test if the BC Layer is working as intended
- *
- * @deprecated since version 2.6, to be removed in 3.0.
*/
public function testConstantSync()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->assertSame(Security::ACCESS_DENIED_ERROR, SecurityContextInterface::ACCESS_DENIED_ERROR);
$this->assertSame(Security::AUTHENTICATION_ERROR, SecurityContextInterface::AUTHENTICATION_ERROR);
$this->assertSame(Security::LAST_USERNAME, SecurityContextInterface::LAST_USERNAME);
diff --git a/src/Symfony/Component/Templating/Tests/Loader/LoaderTest.php b/src/Symfony/Component/Templating/Tests/Loader/LoaderTest.php
index e8a1388362..67e7b044e6 100644
--- a/src/Symfony/Component/Templating/Tests/Loader/LoaderTest.php
+++ b/src/Symfony/Component/Templating/Tests/Loader/LoaderTest.php
@@ -24,8 +24,10 @@ class LoaderTest extends \PHPUnit_Framework_TestCase
$this->assertSame($logger, $loader->getLogger(), '->setLogger() sets the logger instance');
}
- public function testGetSetDebugger()
+ public function testLegacyGetSetDebugger()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$loader = new ProjectTemplateLoader4();
$debugger = $this->getMock('Symfony\Component\Templating\DebuggerInterface');
$loader->setDebugger($debugger);
diff --git a/src/Symfony/Component/Validator/Constraints/GroupSequence.php b/src/Symfony/Component/Validator/Constraints/GroupSequence.php
index de5210285b..72bfb16d2c 100644
--- a/src/Symfony/Component/Validator/Constraints/GroupSequence.php
+++ b/src/Symfony/Component/Validator/Constraints/GroupSequence.php
@@ -55,6 +55,8 @@ use Symfony\Component\Validator\Exception\OutOfBoundsException;
* @author Bernhard Schussek
*
* @api
+ *
+ * Implementing \ArrayAccess, \IteratorAggregate and \Countable is @deprecated since 2.5 and will be removed in 3.0.
*/
class GroupSequence implements \ArrayAccess, \IteratorAggregate, \Countable
{
diff --git a/src/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php b/src/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
index 7c357f40fe..f2a92b0e9a 100644
--- a/src/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
+++ b/src/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php
@@ -59,6 +59,10 @@ abstract class AbstractConstraintValidatorTest extends \PHPUnit_Framework_TestCa
protected function setUp()
{
+ if (Validation::API_VERSION_2_5 !== $this->getApiVersion()) {
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+ }
+
$this->group = 'MyGroup';
$this->metadata = null;
$this->object = null;
diff --git a/src/Symfony/Component/Validator/Tests/ExecutionContextTest.php b/src/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php
similarity index 98%
rename from src/Symfony/Component/Validator/Tests/ExecutionContextTest.php
rename to src/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php
index 3b54a9e472..88549d5815 100644
--- a/src/Symfony/Component/Validator/Tests/ExecutionContextTest.php
+++ b/src/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php
@@ -20,7 +20,7 @@ use Symfony\Component\Validator\ExecutionContext;
use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
use Symfony\Component\Validator\ValidationVisitor;
-class ExecutionContextTest extends \PHPUnit_Framework_TestCase
+class LegacyExecutionContextTest extends \PHPUnit_Framework_TestCase
{
const TRANS_DOMAIN = 'trans_domain';
@@ -38,6 +38,8 @@ class ExecutionContextTest extends \PHPUnit_Framework_TestCase
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->visitor = $this->getMockBuilder('Symfony\Component\Validator\ValidationVisitor')
->disableOriginalConstructor()
->getMock();
diff --git a/src/Symfony/Component/Validator/Tests/Mapping/Cache/ApcCacheTest.php b/src/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
similarity index 94%
rename from src/Symfony/Component/Validator/Tests/Mapping/Cache/ApcCacheTest.php
rename to src/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
index 4c7fe790f3..a80e2cb59f 100644
--- a/src/Symfony/Component/Validator/Tests/Mapping/Cache/ApcCacheTest.php
+++ b/src/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
@@ -13,10 +13,12 @@ namespace Symfony\Component\Validator\Tests\Mapping\Cache;
use Symfony\Component\Validator\Mapping\Cache\ApcCache;
-class ApcCacheTest extends \PHPUnit_Framework_TestCase
+class LegacyApcCacheTest extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
if (!extension_loaded('apc') || !ini_get('apc.enable_cli')) {
$this->markTestSkipped('APC is not loaded.');
}
diff --git a/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php b/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
index 24b71e0150..8634ac5ed6 100644
--- a/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
+++ b/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php
@@ -270,14 +270,6 @@ class ClassMetadataTest extends \PHPUnit_Framework_TestCase
$this->assertTrue($metadata->isGroupSequenceProvider());
}
- /**
- * https://github.com/symfony/symfony/issues/11604.
- */
- public function testGetMemberMetadatasReturnsEmptyArrayWithoutConfiguredMetadata()
- {
- $this->assertCount(0, $this->metadata->getMemberMetadatas('foo'), '->getMemberMetadatas() returns an empty collection if no metadata is configured for the given property');
- }
-
/**
* https://github.com/symfony/symfony/issues/11604.
*/
diff --git a/src/Symfony/Component/Validator/Tests/Mapping/BlackholeMetadataFactoryTest.php b/src/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
similarity index 64%
rename from src/Symfony/Component/Validator/Tests/Mapping/BlackholeMetadataFactoryTest.php
rename to src/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
index 74bcc69d7f..641bf919d4 100644
--- a/src/Symfony/Component/Validator/Tests/Mapping/BlackholeMetadataFactoryTest.php
+++ b/src/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
@@ -9,24 +9,24 @@
* file that was distributed with this source code.
*/
-namespace Symfony\Component\Validator\Tests\Mapping;
+namespace Symfony\Component\Validator\Tests\Mapping\Factory;
-use Symfony\Component\Validator\Mapping\BlackholeMetadataFactory;
+use Symfony\Component\Validator\Mapping\Factory\BlackHoleMetadataFactory;
-class BlackholeMetadataFactoryTest extends \PHPUnit_Framework_TestCase
+class BlackHoleMetadataFactoryTest extends \PHPUnit_Framework_TestCase
{
/**
* @expectedException \LogicException
*/
public function testGetMetadataForThrowsALogicException()
{
- $metadataFactory = new BlackholeMetadataFactory();
+ $metadataFactory = new BlackHoleMetadataFactory();
$metadataFactory->getMetadataFor('foo');
}
public function testHasMetadataForReturnsFalse()
{
- $metadataFactory = new BlackholeMetadataFactory();
+ $metadataFactory = new BlackHoleMetadataFactory();
$this->assertFalse($metadataFactory->hasMetadataFor('foo'));
}
diff --git a/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataFactoryTest.php b/src/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
similarity index 87%
rename from src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataFactoryTest.php
rename to src/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
index b55985292d..74ee912cb7 100644
--- a/src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataFactoryTest.php
+++ b/src/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
@@ -9,21 +9,21 @@
* file that was distributed with this source code.
*/
-namespace Symfony\Component\Validator\Tests\Mapping;
+namespace Symfony\Component\Validator\Tests\Mapping\Factory;
use Symfony\Component\Validator\Mapping\ClassMetadata;
-use Symfony\Component\Validator\Mapping\ClassMetadataFactory;
+use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory;
use Symfony\Component\Validator\Mapping\Loader\LoaderInterface;
use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
-class ClassMetadataFactoryTest extends \PHPUnit_Framework_TestCase
+class LazyLoadingMetadataFactoryTest extends \PHPUnit_Framework_TestCase
{
const CLASSNAME = 'Symfony\Component\Validator\Tests\Fixtures\Entity';
const PARENTCLASS = 'Symfony\Component\Validator\Tests\Fixtures\EntityParent';
public function testLoadClassMetadata()
{
- $factory = new ClassMetadataFactory(new TestLoader());
+ $factory = new LazyLoadingMetadataFactory(new TestLoader());
$metadata = $factory->getMetadataFor(self::PARENTCLASS);
$constraints = array(
@@ -35,7 +35,7 @@ class ClassMetadataFactoryTest extends \PHPUnit_Framework_TestCase
public function testMergeParentConstraints()
{
- $factory = new ClassMetadataFactory(new TestLoader());
+ $factory = new LazyLoadingMetadataFactory(new TestLoader());
$metadata = $factory->getMetadataFor(self::CLASSNAME);
$constraints = array(
@@ -61,7 +61,7 @@ class ClassMetadataFactoryTest extends \PHPUnit_Framework_TestCase
public function testWriteMetadataToCache()
{
$cache = $this->getMock('Symfony\Component\Validator\Mapping\Cache\CacheInterface');
- $factory = new ClassMetadataFactory(new TestLoader(), $cache);
+ $factory = new LazyLoadingMetadataFactory(new TestLoader(), $cache);
$tester = $this;
$constraints = array(
@@ -90,7 +90,7 @@ class ClassMetadataFactoryTest extends \PHPUnit_Framework_TestCase
{
$loader = $this->getMock('Symfony\Component\Validator\Mapping\Loader\LoaderInterface');
$cache = $this->getMock('Symfony\Component\Validator\Mapping\Cache\CacheInterface');
- $factory = new ClassMetadataFactory($loader, $cache);
+ $factory = new LazyLoadingMetadataFactory($loader, $cache);
$tester = $this;
$metadata = new ClassMetadata(self::PARENTCLASS);
diff --git a/src/Symfony/Component/Validator/Tests/Mapping/ElementMetadataTest.php b/src/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php
similarity index 94%
rename from src/Symfony/Component/Validator/Tests/Mapping/ElementMetadataTest.php
rename to src/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php
index c2eb4cee79..473eea6176 100644
--- a/src/Symfony/Component/Validator/Tests/Mapping/ElementMetadataTest.php
+++ b/src/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php
@@ -15,12 +15,14 @@ use Symfony\Component\Validator\Mapping\ElementMetadata;
use Symfony\Component\Validator\Tests\Fixtures\ConstraintA;
use Symfony\Component\Validator\Tests\Fixtures\ConstraintB;
-class ElementMetadataTest extends \PHPUnit_Framework_TestCase
+class LegacyElementMetadataTest extends \PHPUnit_Framework_TestCase
{
protected $metadata;
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->metadata = new TestElementMetadata();
}
diff --git a/src/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php b/src/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php
index c214b9c07b..5d4a0bf7f0 100644
--- a/src/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php
+++ b/src/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php
@@ -634,8 +634,10 @@ abstract class Abstract2Dot5ApiTest extends AbstractValidatorTest
/**
* @expectedException \Symfony\Component\Validator\Exception\UnsupportedMetadataException
*/
- public function testPropertyMetadataMustImplementPropertyMetadataInterface()
+ public function testLegacyPropertyMetadataMustImplementPropertyMetadataInterface()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$entity = new Entity();
// Legacy interface
diff --git a/src/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php b/src/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php
index 748e106d40..bef0b98177 100644
--- a/src/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php
+++ b/src/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php
@@ -42,6 +42,8 @@ abstract class AbstractLegacyApiTest extends AbstractValidatorTest
protected function setUp()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
parent::setUp();
$this->validator = $this->createValidator($this->metadataFactory);
diff --git a/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php b/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php
index 2236d6cb02..26085901fe 100644
--- a/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php
+++ b/src/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php
@@ -841,8 +841,10 @@ abstract class AbstractValidatorTest extends \PHPUnit_Framework_TestCase
*
* @expectedException \Symfony\Component\Validator\Exception\ValidatorException
*/
- public function testValidatePropertyFailsIfPropertiesNotSupported()
+ public function testLegacyValidatePropertyFailsIfPropertiesNotSupported()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
// $metadata does not implement PropertyMetadataContainerInterface
$metadata = $this->getMock('Symfony\Component\Validator\MetadataInterface');
@@ -971,8 +973,10 @@ abstract class AbstractValidatorTest extends \PHPUnit_Framework_TestCase
*
* @expectedException \Symfony\Component\Validator\Exception\ValidatorException
*/
- public function testValidatePropertyValueFailsIfPropertiesNotSupported()
+ public function testLegacyValidatePropertyValueFailsIfPropertiesNotSupported()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
// $metadata does not implement PropertyMetadataContainerInterface
$metadata = $this->getMock('Symfony\Component\Validator\MetadataInterface');
diff --git a/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php b/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php
index ba184f7c78..4de62efe99 100644
--- a/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php
+++ b/src/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php
@@ -110,8 +110,10 @@ class ValidatorBuilderTest extends \PHPUnit_Framework_TestCase
$this->assertSame($this->builder, $this->builder->setTranslationDomain('TRANS_DOMAIN'));
}
- public function testDefaultApiVersion()
+ public function testLegacyDefaultApiVersion()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
if (PHP_VERSION_ID < 50309) {
// Old implementation on PHP < 5.3.9
$this->assertInstanceOf('Symfony\Component\Validator\Validator', $this->builder->getValidator());
@@ -121,8 +123,10 @@ class ValidatorBuilderTest extends \PHPUnit_Framework_TestCase
}
}
- public function testSetApiVersion24()
+ public function testLegacySetApiVersion24()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
$this->assertSame($this->builder, $this->builder->setApiVersion(Validation::API_VERSION_2_4));
$this->assertInstanceOf('Symfony\Component\Validator\Validator', $this->builder->getValidator());
}
@@ -133,8 +137,10 @@ class ValidatorBuilderTest extends \PHPUnit_Framework_TestCase
$this->assertInstanceOf('Symfony\Component\Validator\Validator\RecursiveValidator', $this->builder->getValidator());
}
- public function testSetApiVersion24And25()
+ public function testLegacySetApiVersion24And25()
{
+ $this->iniSet('error_reporting', -1 & E_USER_DEPRECATED);
+
if (PHP_VERSION_ID < 50309) {
$this->markTestSkipped('Not supported prior to PHP 5.3.9');
}
diff --git a/src/Symfony/Component/Validator/ValidatorBuilder.php b/src/Symfony/Component/Validator/ValidatorBuilder.php
index f5cab110cd..232af7dcc3 100644
--- a/src/Symfony/Component/Validator/ValidatorBuilder.php
+++ b/src/Symfony/Component/Validator/ValidatorBuilder.php
@@ -23,6 +23,7 @@ use Symfony\Component\Validator\Exception\InvalidArgumentException;
use Symfony\Component\Validator\Exception\ValidatorException;
use Symfony\Component\Validator\Mapping\Cache\CacheInterface;
use Symfony\Component\Validator\Mapping\ClassMetadataFactory;
+use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory;
use Symfony\Component\Validator\Mapping\Loader\AnnotationLoader;
use Symfony\Component\Validator\Mapping\Loader\LoaderChain;
use Symfony\Component\Validator\Mapping\Loader\StaticMethodLoader;
@@ -349,6 +350,13 @@ class ValidatorBuilder implements ValidatorBuilderInterface
public function getValidator()
{
$metadataFactory = $this->metadataFactory;
+ $apiVersion = $this->apiVersion;
+
+ if (null === $apiVersion) {
+ $apiVersion = PHP_VERSION_ID < 50309
+ ? Validation::API_VERSION_2_4
+ : Validation::API_VERSION_2_5_BC;
+ }
if (!$metadataFactory) {
$loaders = array();
@@ -381,18 +389,15 @@ class ValidatorBuilder implements ValidatorBuilderInterface
$loader = $loaders[0];
}
- $metadataFactory = new ClassMetadataFactory($loader, $this->metadataCache);
+ if (Validation::API_VERSION_2_5 === $apiVersion) {
+ $metadataFactory = new LazyLoadingMetadataFactory($loader, $this->metadataCache);
+ } else {
+ $metadataFactory = new ClassMetadataFactory($loader, $this->metadataCache);
+ }
}
$validatorFactory = $this->validatorFactory ?: new ConstraintValidatorFactory($this->propertyAccessor);
$translator = $this->translator ?: new DefaultTranslator();
- $apiVersion = $this->apiVersion;
-
- if (null === $apiVersion) {
- $apiVersion = PHP_VERSION_ID < 50309
- ? Validation::API_VERSION_2_4
- : Validation::API_VERSION_2_5_BC;
- }
if (Validation::API_VERSION_2_4 === $apiVersion) {
return new ValidatorV24($metadataFactory, $validatorFactory, $translator, $this->translationDomain, $this->initializers);