Merge branch '2.6' into 2.7

* 2.6:
  [2.6] cleanup deprecated uses
  [2.5] cleanup deprecated uses

Conflicts:
	src/Symfony/Component/Form/composer.json
	src/Symfony/Component/Security/Tests/Core/LegacySecurityContextInterfaceTest.php
This commit is contained in:
Fabien Potencier 2015-01-05 15:29:53 +01:00
commit 1994cacd66
76 changed files with 420 additions and 310 deletions

View File

@ -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)));
}
}

View File

@ -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.');
}
}

View File

@ -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;
/**

View File

@ -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,

View File

@ -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);

View File

@ -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);

View File

@ -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');

View File

@ -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')),
);
}

View File

@ -2,6 +2,8 @@
<container>
<alias id="alias_1" service="service_1" public="true"/>
<alias id="alias_2" service="service_2" public="false"/>
<definition id="definition_1" class="Full\Qualified\Class1" factory-class="Full\Qualified\FactoryClass" factory-method="get" scope="container" public="true" synthetic="false" lazy="true" synchronized="true" abstract="true" file=""/>
<definition id="definition_1" class="Full\Qualified\Class1" scope="container" public="true" synthetic="false" lazy="true" synchronized="true" abstract="true" file="">
<factory class="Full\Qualified\FactoryClass" method="get"/>
</definition>
<service id="service_container" class="Symfony\Component\DependencyInjection\ContainerBuilder"/>
</container>

View File

@ -2,8 +2,11 @@
<container>
<alias id="alias_1" service="service_1" public="true"/>
<alias id="alias_2" service="service_2" public="false"/>
<definition id="definition_1" class="Full\Qualified\Class1" factory-class="Full\Qualified\FactoryClass" factory-method="get" scope="container" public="true" synthetic="false" lazy="true" synchronized="true" abstract="true" file=""/>
<definition id="definition_2" class="Full\Qualified\Class2" factory-service="factory.service" factory-method="get" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<definition id="definition_1" class="Full\Qualified\Class1" scope="container" public="true" synthetic="false" lazy="true" synchronized="true" abstract="true" file="">
<factory class="Full\Qualified\FactoryClass" method="get"/>
</definition>
<definition id="definition_2" class="Full\Qualified\Class2" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<factory service="factory.service" method="get"/>
<tags>
<tag name="tag1">
<parameter name="attr1">val1</parameter>

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<container>
<definition id="definition_2" class="Full\Qualified\Class2" factory-service="factory.service" factory-method="get" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<definition id="definition_2" class="Full\Qualified\Class2" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<factory service="factory.service" method="get"/>
<tags>
<tag name="tag1">
<parameter name="attr1">val1</parameter>

View File

@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<container>
<tag name="tag1">
<definition id="definition_2" class="Full\Qualified\Class2" factory-service="factory.service" factory-method="get" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file"/>
<definition id="definition_2" class="Full\Qualified\Class2" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<factory service="factory.service" method="get"/>
</definition>
</tag>
<tag name="tag2">
<definition id="definition_2" class="Full\Qualified\Class2" factory-service="factory.service" factory-method="get" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file"/>
<definition id="definition_2" class="Full\Qualified\Class2" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<factory service="factory.service" method="get"/>
</definition>
</tag>
</container>

View File

@ -1,2 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<definition class="Full\Qualified\Class1" factory-class="Full\Qualified\FactoryClass" factory-method="get" scope="container" public="true" synthetic="false" lazy="true" synchronized="true" abstract="true" file=""/>
<definition class="Full\Qualified\Class1" scope="container" public="true" synthetic="false" lazy="true" synchronized="true" abstract="true" file="">
<factory class="Full\Qualified\FactoryClass" method="get"/>
</definition>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<definition class="Full\Qualified\Class2" factory-service="factory.service" factory-method="get" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<definition class="Full\Qualified\Class2" scope="container" public="false" synthetic="true" lazy="false" synchronized="false" abstract="false" file="/path/to/file">
<factory service="factory.service" method="get"/>
<tags>
<tag name="tag1">
<parameter name="attr1">val1</parameter>

View File

@ -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());

View File

@ -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());
}

View File

@ -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
*/

View File

@ -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.');
}

View File

@ -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
*/

View File

@ -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();

View File

@ -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();

View File

@ -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+');
}

View File

@ -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'));
}

View File

@ -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

View File

@ -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,

View File

@ -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())));
}

View File

@ -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;
}

View File

@ -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());

View File

@ -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);

View File

@ -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'));

View File

@ -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')

View File

@ -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

View File

@ -1,25 +0,0 @@
<?php
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
$container = new ContainerBuilder();
$container->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;
}
}
}

View File

@ -1,34 +0,0 @@
<?php
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
$container = new ContainerBuilder();
$factoryDefinition = new Definition('BarClassFactory');
$container->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();
}
}

View File

@ -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
*/

View File

@ -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());
}

View File

@ -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);
}

View File

@ -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',

View File

@ -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',
));

View File

@ -55,39 +55,6 @@ use Symfony\Component\Form\Extension\Core\CoreExtension;
* ->getFormFactory();
* </code>
*
* 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:
*
* <code>
* 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();
* </code>
*
* 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:
*
* <code>
* 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();
* </code>
*
* 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();
* </code>
*
* 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:
*
* <code>
* 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();
* </code>
*
* @author Bernhard Schussek <bschussek@gmail.com>
*/
final class Forms

View File

@ -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()));
}

View File

@ -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));
}

View File

@ -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',

View File

@ -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));

View File

@ -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(),

View File

@ -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');
}
/**

View File

@ -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);

View File

@ -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": {

View File

@ -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');
}

View File

@ -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

View File

@ -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));

View File

@ -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()
{

View File

@ -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'));

View File

@ -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());
}
}

View File

@ -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();
}

View File

@ -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()
////////////////////////////////////////////////////////////////////////////

View File

@ -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());

View File

@ -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;
}

View File

@ -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)

View File

@ -86,7 +86,8 @@ abstract class UserPasswordValidatorTest extends AbstractConstraintValidatorTest
$this->validator->validate('secret', $constraint);
$this->assertViolation('myMessage');
$this->buildViolation('myMessage')
->assertRaised();
}
/**

View File

@ -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);

View File

@ -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);

View File

@ -55,6 +55,8 @@ use Symfony\Component\Validator\Exception\OutOfBoundsException;
* @author Bernhard Schussek <bschussek@gmail.com>
*
* @api
*
* Implementing \ArrayAccess, \IteratorAggregate and \Countable is @deprecated since 2.5 and will be removed in 3.0.
*/
class GroupSequence implements \ArrayAccess, \IteratorAggregate, \Countable
{

View File

@ -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;

View File

@ -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();

View File

@ -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.');
}

View File

@ -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.
*/

View File

@ -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'));
}

View File

@ -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);

View File

@ -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();
}

View File

@ -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

View File

@ -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);

View File

@ -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');

View File

@ -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');
}

View File

@ -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);