fixed tests
This commit is contained in:
commit
e7cccb0575
@ -120,7 +120,11 @@ class SymfonyTestsListenerTrait
|
||||
$this->state = 0;
|
||||
|
||||
if (!class_exists('Doctrine\Common\Annotations\AnnotationRegistry', false) && class_exists('Doctrine\Common\Annotations\AnnotationRegistry')) {
|
||||
AnnotationRegistry::registerLoader('class_exists');
|
||||
if (method_exists('Doctrine\Common\Annotations\AnnotationRegistry', 'registerUniqueLoader')) {
|
||||
AnnotationRegistry::registerUniqueLoader('class_exists');
|
||||
} else {
|
||||
AnnotationRegistry::registerLoader('class_exists');
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->skippedFile = getenv('SYMFONY_PHPUNIT_SKIPPED_TESTS')) {
|
||||
|
@ -28,7 +28,11 @@ if (!defined('PHPUNIT_COMPOSER_INSTALL') && !class_exists('PHPUnit_TextUI_Comman
|
||||
setlocale(LC_ALL, 'C');
|
||||
|
||||
if (!class_exists('Doctrine\Common\Annotations\AnnotationRegistry', false) && class_exists('Doctrine\Common\Annotations\AnnotationRegistry')) {
|
||||
AnnotationRegistry::registerLoader('class_exists');
|
||||
if (method_exists('Doctrine\Common\Annotations\AnnotationRegistry', 'registerUniqueLoader')) {
|
||||
AnnotationRegistry::registerUniqueLoader('class_exists');
|
||||
} else {
|
||||
AnnotationRegistry::registerLoader('class_exists');
|
||||
}
|
||||
}
|
||||
|
||||
if ('disabled' !== getenv('SYMFONY_DEPRECATIONS_HELPER')) {
|
||||
|
@ -12,6 +12,7 @@
|
||||
namespace Symfony\Bundle\FrameworkBundle\DependencyInjection;
|
||||
|
||||
use Doctrine\Common\Annotations\Reader;
|
||||
use Doctrine\Common\Annotations\AnnotationRegistry;
|
||||
use Symfony\Bridge\Monolog\Processor\DebugProcessor;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
@ -1342,7 +1343,14 @@ class FrameworkExtension extends Extension
|
||||
|
||||
$loader->load('annotations.xml');
|
||||
|
||||
<<<<<<< HEAD
|
||||
$container->getAlias('annotation_reader')->setPrivate(true);
|
||||
=======
|
||||
if (!method_exists(AnnotationRegistry::class, 'registerUniqueLoader')) {
|
||||
$container->getDefinition('annotations.dummy_registry')
|
||||
->setMethodCalls(array(array('registerLoader', array('class_exists'))));
|
||||
}
|
||||
>>>>>>> 3.3
|
||||
|
||||
if ('none' !== $config['cache']) {
|
||||
if (!class_exists('Doctrine\Common\Cache\CacheProvider')) {
|
||||
|
@ -10,14 +10,14 @@
|
||||
<service id="annotations.reader" class="Doctrine\Common\Annotations\AnnotationReader">
|
||||
<call method="addGlobalIgnoredName">
|
||||
<argument>required</argument>
|
||||
<argument type="service">
|
||||
<!-- dummy arg to register class_exists as annotation loader only when required -->
|
||||
<service class="Doctrine\Common\Annotations\AnnotationRegistry">
|
||||
<call method="registerLoader">
|
||||
<argument>class_exists</argument>
|
||||
</call>
|
||||
</service>
|
||||
</argument>
|
||||
<!-- dummy arg to register class_exists as annotation loader only when required -->
|
||||
<argument type="service" id="annotations.dummy_registry" />
|
||||
</call>
|
||||
</service>
|
||||
|
||||
<service id="annotations.dummy_registry" class="Doctrine\Common\Annotations\AnnotationRegistry">
|
||||
<call method="registerUniqueLoader">
|
||||
<argument>class_exists</argument>
|
||||
</call>
|
||||
</service>
|
||||
|
||||
|
@ -199,6 +199,8 @@
|
||||
<xsd:attribute name="cache" type="xsd:string" />
|
||||
<xsd:attribute name="enable-annotations" type="xsd:boolean" />
|
||||
<xsd:attribute name="static-method" type="xsd:boolean" />
|
||||
<xsd:attribute name="translation-domain" type="xsd:string" />
|
||||
<xsd:attribute name="strict-email" type="xsd:boolean" />
|
||||
</xsd:complexType>
|
||||
|
||||
<xsd:complexType name="file_mapping">
|
||||
|
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
$container->loadFromExtension('framework', array(
|
||||
'validation' => array(
|
||||
'strict_email' => true,
|
||||
),
|
||||
));
|
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
$container->loadFromExtension('framework', array(
|
||||
'validation' => array(
|
||||
'translation_domain' => 'messages',
|
||||
),
|
||||
));
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" ?>
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:framework="http://symfony.com/schema/dic/symfony"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
|
||||
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
|
||||
|
||||
<framework:config>
|
||||
<framework:validation strict-email="true" />
|
||||
</framework:config>
|
||||
</container>
|
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" ?>
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:framework="http://symfony.com/schema/dic/symfony"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd
|
||||
http://symfony.com/schema/dic/symfony http://symfony.com/schema/dic/symfony/symfony-1.0.xsd">
|
||||
|
||||
<framework:config>
|
||||
<framework:validation translation-domain="messages" />
|
||||
</framework:config>
|
||||
</container>
|
@ -0,0 +1,3 @@
|
||||
framework:
|
||||
validation:
|
||||
strict_email: true
|
@ -0,0 +1,3 @@
|
||||
framework:
|
||||
validation:
|
||||
translation_domain: messages
|
@ -702,6 +702,20 @@ abstract class FrameworkExtensionTest extends TestCase
|
||||
// no cache, no annotations, no static methods
|
||||
}
|
||||
|
||||
public function testValidationTranslationDomain()
|
||||
{
|
||||
$container = $this->createContainerFromFile('validation_translation_domain');
|
||||
|
||||
$this->assertSame('messages', $container->getParameter('validator.translation_domain'));
|
||||
}
|
||||
|
||||
public function testValidationStrictEmail()
|
||||
{
|
||||
$container = $this->createContainerFromFile('validation_strict_email');
|
||||
|
||||
$this->assertTrue($container->getDefinition('validator.email')->getArgument(0));
|
||||
}
|
||||
|
||||
public function testValidationMapping()
|
||||
{
|
||||
$container = $this->createContainerFromFile('validation_mapping');
|
||||
|
@ -378,7 +378,7 @@ abstract class CompleteConfigurationTest extends TestCase
|
||||
foreach ($rules as list($matcherId, $attributes, $channel)) {
|
||||
$requestMatcher = $container->getDefinition($matcherId);
|
||||
|
||||
$this->assertFalse(isset($matcherIds[$matcherId]));
|
||||
$this->assertArrayNotHasKey($matcherId, $matcherIds);
|
||||
$matcherIds[$matcherId] = true;
|
||||
|
||||
$i = count($matcherIds);
|
||||
|
@ -32,7 +32,7 @@ class ArrayNodeDefinitionTest extends TestCase
|
||||
->append($child);
|
||||
|
||||
$this->assertCount(3, $this->getField($parent, 'children'));
|
||||
$this->assertTrue(in_array($child, $this->getField($parent, 'children')));
|
||||
$this->assertContains($child, $this->getField($parent, 'children'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -178,6 +178,6 @@ class DirectoryResourceTest extends TestCase
|
||||
$resourceA = new DirectoryResource($this->directory, '/.xml$/');
|
||||
$resourceB = new DirectoryResource($this->directory, '/.yaml$/');
|
||||
|
||||
$this->assertEquals(2, count(array_unique(array($resourceA, $resourceB))));
|
||||
$this->assertCount(2, array_unique(array($resourceA, $resourceB)));
|
||||
}
|
||||
}
|
||||
|
@ -287,6 +287,8 @@ class ArgvInput extends Input
|
||||
}
|
||||
|
||||
if (0 === strpos($token, '-') && 0 !== strpos($token, '--')) {
|
||||
$noValue = explode('=', $token);
|
||||
$token = $noValue[0];
|
||||
$searchableToken = str_replace('-', '', $token);
|
||||
$searchableValue = str_replace('-', '', $value);
|
||||
if ('' !== $searchableToken && '' !== $searchableValue && false !== strpos($searchableToken, $searchableValue)) {
|
||||
|
@ -317,6 +317,9 @@ class ArgvInputTest extends TestCase
|
||||
$input = new ArgvInput(array('cli.php', '-fh'));
|
||||
$this->assertTrue($input->hasParameterOption('-fh'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '-e=test'));
|
||||
$this->assertFalse($input->hasParameterOption('-s'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
$input = new ArgvInput(array('cli.php', '--foo', 'foo'));
|
||||
$this->assertTrue($input->hasParameterOption('--foo'), '->hasParameterOption() returns true if the given short option is in the raw input');
|
||||
|
||||
|
@ -37,7 +37,7 @@ class TranslatorTest extends TestCase
|
||||
$translator = new Translator();
|
||||
$document = new \SimpleXMLElement(file_get_contents(__DIR__.'/Fixtures/lang.xml'));
|
||||
$elements = $document->xpath($translator->cssToXPath($css));
|
||||
$this->assertEquals(count($elementsId), count($elements));
|
||||
$this->assertCount(count($elementsId), $elements);
|
||||
foreach ($elements as $element) {
|
||||
$this->assertTrue(in_array($element->attributes()->id, $elementsId));
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ class ContainerBuilderTest extends TestCase
|
||||
|
||||
$builder->setDefinition('foobar', $foo = new Definition('FooBarClass'));
|
||||
$this->assertEquals($foo, $builder->getDefinition('foobar'), '->getDefinition() returns a service definition if defined');
|
||||
$this->assertTrue($builder->setDefinition('foobar', $foo = new Definition('FooBarClass')) === $foo, '->setDefinition() implements a fluid interface by returning the service reference');
|
||||
$this->assertSame($builder->setDefinition('foobar', $foo = new Definition('FooBarClass')), $foo, '->setDefinition() implements a fluid interface by returning the service reference');
|
||||
|
||||
$builder->addDefinitions($defs = array('foobar' => new Definition('FooBarClass')));
|
||||
$this->assertEquals(array_merge($definitions, $defs), $builder->getDefinitions(), '->addDefinitions() adds the service definitions');
|
||||
@ -242,7 +242,7 @@ class ContainerBuilderTest extends TestCase
|
||||
$this->assertFalse($builder->hasAlias('foobar'), '->hasAlias() returns false if the alias does not exist');
|
||||
$this->assertEquals('foo', (string) $builder->getAlias('bar'), '->getAlias() returns the aliased service');
|
||||
$this->assertTrue($builder->has('bar'), '->setAlias() defines a new service');
|
||||
$this->assertTrue($builder->get('bar') === $builder->get('foo'), '->setAlias() creates a service that is an alias to another one');
|
||||
$this->assertSame($builder->get('bar'), $builder->get('foo'), '->setAlias() creates a service that is an alias to another one');
|
||||
|
||||
try {
|
||||
$builder->setAlias('foobar', 'foobar');
|
||||
@ -287,8 +287,8 @@ class ContainerBuilderTest extends TestCase
|
||||
$builder->setAliases(array('bar' => 'foo', 'foobar' => 'foo'));
|
||||
|
||||
$aliases = $builder->getAliases();
|
||||
$this->assertTrue(isset($aliases['bar']));
|
||||
$this->assertTrue(isset($aliases['foobar']));
|
||||
$this->assertArrayHasKey('bar', $aliases);
|
||||
$this->assertArrayHasKey('foobar', $aliases);
|
||||
}
|
||||
|
||||
public function testAddAliases()
|
||||
@ -298,8 +298,8 @@ class ContainerBuilderTest extends TestCase
|
||||
$builder->addAliases(array('foobar' => 'foo'));
|
||||
|
||||
$aliases = $builder->getAliases();
|
||||
$this->assertTrue(isset($aliases['bar']));
|
||||
$this->assertTrue(isset($aliases['foobar']));
|
||||
$this->assertArrayHasKey('bar', $aliases);
|
||||
$this->assertArrayHasKey('foobar', $aliases);
|
||||
}
|
||||
|
||||
public function testSetReplacesAlias()
|
||||
@ -562,7 +562,7 @@ class ContainerBuilderTest extends TestCase
|
||||
$this->assertEquals(array('service_container', 'foo', 'bar', 'baz'), array_keys($container->getDefinitions()), '->merge() merges definitions already defined ones');
|
||||
|
||||
$aliases = $container->getAliases();
|
||||
$this->assertTrue(isset($aliases['alias_for_foo']));
|
||||
$this->assertArrayHasKey('alias_for_foo', $aliases);
|
||||
$this->assertEquals('foo', (string) $aliases['alias_for_foo']);
|
||||
|
||||
$container = new ContainerBuilder();
|
||||
@ -969,7 +969,7 @@ class ContainerBuilderTest extends TestCase
|
||||
$container->setResourceTracking(false);
|
||||
|
||||
$container->registerExtension($extension = new \ProjectExtension());
|
||||
$this->assertTrue($container->getExtension('project') === $extension, '->registerExtension() registers an extension');
|
||||
$this->assertSame($container->getExtension('project'), $extension, '->registerExtension() registers an extension');
|
||||
|
||||
$this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('LogicException');
|
||||
$container->getExtension('no_registered');
|
||||
|
@ -101,7 +101,7 @@ class XmlFileLoaderTest extends TestCase
|
||||
|
||||
libxml_disable_entity_loader($disableEntities);
|
||||
|
||||
$this->assertTrue(count($containerBuilder->getParameterBag()->all()) > 0, 'Parameters can be read from the config file.');
|
||||
$this->assertGreaterThan(0, $containerBuilder->getParameterBag()->all(), 'Parameters can be read from the config file.');
|
||||
}
|
||||
|
||||
public function testLoadParameters()
|
||||
@ -191,7 +191,7 @@ class XmlFileLoaderTest extends TestCase
|
||||
$args = $services['foo']->getArguments();
|
||||
$this->assertCount(1, $args, '->load() references anonymous services as "normal" ones');
|
||||
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $args[0], '->load() converts anonymous services to references to "normal" services');
|
||||
$this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
|
||||
$this->assertArrayHasKey((string) $args[0], $services, '->load() makes a reference to the created ones');
|
||||
$inner = $services[(string) $args[0]];
|
||||
$this->assertEquals('BarClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
|
||||
$this->assertFalse($inner->isPublic());
|
||||
@ -200,7 +200,7 @@ class XmlFileLoaderTest extends TestCase
|
||||
$args = $inner->getArguments();
|
||||
$this->assertCount(1, $args, '->load() references anonymous services as "normal" ones');
|
||||
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $args[0], '->load() converts anonymous services to references to "normal" services');
|
||||
$this->assertTrue(isset($services[(string) $args[0]]), '->load() makes a reference to the created ones');
|
||||
$this->assertArrayHasKey((string) $args[0], $services, '->load() makes a reference to the created ones');
|
||||
$inner = $services[(string) $args[0]];
|
||||
$this->assertEquals('BazClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
|
||||
$this->assertFalse($inner->isPublic());
|
||||
@ -209,7 +209,7 @@ class XmlFileLoaderTest extends TestCase
|
||||
$properties = $services['foo']->getProperties();
|
||||
$property = $properties['p'];
|
||||
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Reference', $property, '->load() converts anonymous services to references to "normal" services');
|
||||
$this->assertTrue(isset($services[(string) $property]), '->load() makes a reference to the created ones');
|
||||
$this->assertArrayHasKey((string) $property, $services, '->load() makes a reference to the created ones');
|
||||
$inner = $services[(string) $property];
|
||||
$this->assertEquals('BuzClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones');
|
||||
$this->assertFalse($inner->isPublic());
|
||||
@ -260,7 +260,7 @@ class XmlFileLoaderTest extends TestCase
|
||||
$loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
|
||||
$loader->load('services6.xml');
|
||||
$services = $container->getDefinitions();
|
||||
$this->assertTrue(isset($services['foo']), '->load() parses <service> elements');
|
||||
$this->assertArrayHasKey('foo', $services, '->load() parses <service> elements');
|
||||
$this->assertFalse($services['not_shared']->isShared(), '->load() parses shared flag');
|
||||
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Definition', $services['foo'], '->load() converts <service> element to Definition instances');
|
||||
$this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
|
||||
@ -277,10 +277,10 @@ class XmlFileLoaderTest extends TestCase
|
||||
$this->assertSame(array(null, 'getInstance'), $services['new_factory4']->getFactory(), '->load() accepts factory tag without class');
|
||||
|
||||
$aliases = $container->getAliases();
|
||||
$this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses <service> elements');
|
||||
$this->assertArrayHasKey('alias_for_foo', $aliases, '->load() parses <service> elements');
|
||||
$this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
|
||||
$this->assertTrue($aliases['alias_for_foo']->isPublic());
|
||||
$this->assertTrue(isset($aliases['another_alias_for_foo']));
|
||||
$this->assertArrayHasKey('another_alias_for_foo', $aliases);
|
||||
$this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
|
||||
$this->assertFalse($aliases['another_alias_for_foo']->isPublic());
|
||||
|
||||
@ -403,8 +403,8 @@ class XmlFileLoaderTest extends TestCase
|
||||
$services = $container->getDefinitions();
|
||||
$parameters = $container->getParameterBag()->all();
|
||||
|
||||
$this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
|
||||
$this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
|
||||
$this->assertArrayHasKey('project.service.bar', $services, '->load() parses extension elements');
|
||||
$this->assertArrayHasKey('project.parameter.bar', $parameters, '->load() parses extension elements');
|
||||
|
||||
$this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
|
||||
$this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
|
||||
@ -419,8 +419,8 @@ class XmlFileLoaderTest extends TestCase
|
||||
$services = $container->getDefinitions();
|
||||
$parameters = $container->getParameterBag()->all();
|
||||
|
||||
$this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
|
||||
$this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
|
||||
$this->assertArrayHasKey('project.service.bar', $services, '->load() parses extension elements');
|
||||
$this->assertArrayHasKey('project.parameter.bar', $parameters, '->load() parses extension elements');
|
||||
|
||||
$this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
|
||||
$this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
|
||||
@ -542,8 +542,8 @@ class XmlFileLoaderTest extends TestCase
|
||||
$loader->load('namespaces.xml');
|
||||
$services = $container->getDefinitions();
|
||||
|
||||
$this->assertTrue(isset($services['foo']), '->load() parses <srv:service> elements');
|
||||
$this->assertEquals(1, count($services['foo']->getTag('foo.tag')), '->load parses <srv:tag> elements');
|
||||
$this->assertArrayHasKey('foo', $services, '->load() parses <srv:service> elements');
|
||||
$this->assertCount(1, $services['foo']->getTag('foo.tag'), '->load parses <srv:tag> elements');
|
||||
$this->assertEquals(array(array('setBar', array('foo'))), $services['foo']->getMethodCalls(), '->load() parses the <srv:call> tag');
|
||||
}
|
||||
|
||||
|
@ -141,7 +141,7 @@ class YamlFileLoaderTest extends TestCase
|
||||
$loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
|
||||
$loader->load('services6.yml');
|
||||
$services = $container->getDefinitions();
|
||||
$this->assertTrue(isset($services['foo']), '->load() parses service elements');
|
||||
$this->assertArrayHasKey('foo', $services, '->load() parses service elements');
|
||||
$this->assertFalse($services['not_shared']->isShared(), '->load() parses the shared flag');
|
||||
$this->assertInstanceOf('Symfony\\Component\\DependencyInjection\\Definition', $services['foo'], '->load() converts service element to Definition instances');
|
||||
$this->assertEquals('FooClass', $services['foo']->getClass(), '->load() parses the class attribute');
|
||||
@ -159,10 +159,10 @@ class YamlFileLoaderTest extends TestCase
|
||||
$this->assertEquals(array('foo', new Reference('baz')), $services['Acme\WithShortCutArgs']->getArguments(), '->load() parses short service definition');
|
||||
|
||||
$aliases = $container->getAliases();
|
||||
$this->assertTrue(isset($aliases['alias_for_foo']), '->load() parses aliases');
|
||||
$this->assertArrayHasKey('alias_for_foo', $aliases, '->load() parses aliases');
|
||||
$this->assertEquals('foo', (string) $aliases['alias_for_foo'], '->load() parses aliases');
|
||||
$this->assertTrue($aliases['alias_for_foo']->isPublic());
|
||||
$this->assertTrue(isset($aliases['another_alias_for_foo']));
|
||||
$this->assertArrayHasKey('another_alias_for_foo', $aliases);
|
||||
$this->assertEquals('foo', (string) $aliases['another_alias_for_foo']);
|
||||
$this->assertFalse($aliases['another_alias_for_foo']->isPublic());
|
||||
$this->assertTrue(isset($aliases['another_third_alias_for_foo']));
|
||||
@ -206,8 +206,8 @@ class YamlFileLoaderTest extends TestCase
|
||||
$services = $container->getDefinitions();
|
||||
$parameters = $container->getParameterBag()->all();
|
||||
|
||||
$this->assertTrue(isset($services['project.service.bar']), '->load() parses extension elements');
|
||||
$this->assertTrue(isset($parameters['project.parameter.bar']), '->load() parses extension elements');
|
||||
$this->assertArrayHasKey('project.service.bar', $services, '->load() parses extension elements');
|
||||
$this->assertArrayHasKey('project.parameter.bar', $parameters, '->load() parses extension elements');
|
||||
|
||||
$this->assertEquals('BAR', $services['project.service.foo']->getClass(), '->load() parses extension elements');
|
||||
$this->assertEquals('BAR', $parameters['project.parameter.foo'], '->load() parses extension elements');
|
||||
|
@ -204,7 +204,7 @@ EOF
|
||||
EOF
|
||||
, 'UTF-8');
|
||||
|
||||
$this->assertTrue(count(libxml_get_errors()) > 1);
|
||||
$this->assertGreaterThan(1, libxml_get_errors());
|
||||
|
||||
libxml_clear_errors();
|
||||
libxml_use_internal_errors($internalErrors);
|
||||
|
@ -376,15 +376,15 @@ class FormTest extends TestCase
|
||||
{
|
||||
$form = $this->createForm('<form><input type="text" name="foo" value="foo" /><input type="submit" /></form>');
|
||||
unset($form['foo']);
|
||||
$this->assertFalse(isset($form['foo']), '->offsetUnset() removes a field');
|
||||
$this->assertArrayNotHasKey('foo', $form, '->offsetUnset() removes a field');
|
||||
}
|
||||
|
||||
public function testOffsetExists()
|
||||
{
|
||||
$form = $this->createForm('<form><input type="text" name="foo" value="foo" /><input type="submit" /></form>');
|
||||
|
||||
$this->assertTrue(isset($form['foo']), '->offsetExists() return true if the field exists');
|
||||
$this->assertFalse(isset($form['bar']), '->offsetExists() return false if the field does not exist');
|
||||
$this->assertArrayHasKey('foo', $form, '->offsetExists() return true if the field exists');
|
||||
$this->assertArrayNotHasKey('bar', $form, '->offsetExists() return false if the field does not exist');
|
||||
}
|
||||
|
||||
public function testGetValues()
|
||||
|
@ -143,7 +143,7 @@ class ContainerAwareEventDispatcherTest extends AbstractEventDispatcherTest
|
||||
|
||||
$listeners = $dispatcher->getListeners();
|
||||
|
||||
$this->assertTrue(isset($listeners['onEvent']));
|
||||
$this->assertArrayHasKey('onEvent', $listeners);
|
||||
|
||||
$this->assertCount(1, $dispatcher->getListeners('onEvent'));
|
||||
}
|
||||
|
@ -114,8 +114,8 @@ class GenericEventTest extends TestCase
|
||||
|
||||
public function testOffsetIsset()
|
||||
{
|
||||
$this->assertTrue(isset($this->event['name']));
|
||||
$this->assertFalse(isset($this->event['nameNotExist']));
|
||||
$this->assertArrayHasKey('name', $this->event);
|
||||
$this->assertArrayNotHasKey('nameNotExist', $this->event);
|
||||
}
|
||||
|
||||
public function testHasArgument()
|
||||
|
@ -26,7 +26,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->copy($sourceFilePath, $targetFilePath);
|
||||
|
||||
$this->assertFileExists($targetFilePath);
|
||||
$this->assertEquals('SOURCE FILE', file_get_contents($targetFilePath));
|
||||
$this->assertStringEqualsFile($targetFilePath, 'SOURCE FILE');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -73,7 +73,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->copy($sourceFilePath, $targetFilePath);
|
||||
|
||||
$this->assertFileExists($targetFilePath);
|
||||
$this->assertEquals('SOURCE FILE', file_get_contents($targetFilePath));
|
||||
$this->assertStringEqualsFile($targetFilePath, 'SOURCE FILE');
|
||||
}
|
||||
|
||||
public function testCopyDoesNotOverrideExistingFileByDefault()
|
||||
@ -92,7 +92,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->copy($sourceFilePath, $targetFilePath);
|
||||
|
||||
$this->assertFileExists($targetFilePath);
|
||||
$this->assertEquals('TARGET FILE', file_get_contents($targetFilePath));
|
||||
$this->assertStringEqualsFile($targetFilePath, 'TARGET FILE');
|
||||
}
|
||||
|
||||
public function testCopyOverridesExistingFileIfForced()
|
||||
@ -111,7 +111,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->copy($sourceFilePath, $targetFilePath, true);
|
||||
|
||||
$this->assertFileExists($targetFilePath);
|
||||
$this->assertEquals('SOURCE FILE', file_get_contents($targetFilePath));
|
||||
$this->assertStringEqualsFile($targetFilePath, 'SOURCE FILE');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -153,7 +153,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
|
||||
$this->assertTrue(is_dir($targetFileDirectory));
|
||||
$this->assertFileExists($targetFilePath);
|
||||
$this->assertEquals('SOURCE FILE', file_get_contents($targetFilePath));
|
||||
$this->assertStringEqualsFile($targetFilePath, 'SOURCE FILE');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -840,9 +840,9 @@ class FilesystemTest extends FilesystemTestCase
|
||||
|
||||
$this->filesystem->remove($link);
|
||||
|
||||
$this->assertTrue(!is_link($link));
|
||||
$this->assertTrue(!is_file($link));
|
||||
$this->assertTrue(!is_dir($link));
|
||||
$this->assertFalse(is_link($link));
|
||||
$this->assertFalse(is_file($link));
|
||||
$this->assertFalse(is_dir($link));
|
||||
}
|
||||
|
||||
public function testSymlinkIsOverwrittenIfPointsToDifferentTarget()
|
||||
@ -1474,7 +1474,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
|
||||
$this->filesystem->dumpFile($filename, 'bar');
|
||||
$this->assertFileExists($filename);
|
||||
$this->assertSame('bar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'bar');
|
||||
|
||||
// skip mode check on Windows
|
||||
if ('\\' !== DIRECTORY_SEPARATOR) {
|
||||
@ -1491,7 +1491,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->dumpFile($filename, 'bar');
|
||||
|
||||
$this->assertFileExists($filename);
|
||||
$this->assertSame('bar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'bar');
|
||||
}
|
||||
|
||||
public function testDumpFileWithFileScheme()
|
||||
@ -1506,7 +1506,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->dumpFile($filename, 'bar');
|
||||
|
||||
$this->assertFileExists($filename);
|
||||
$this->assertSame('bar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'bar');
|
||||
}
|
||||
|
||||
public function testDumpFileWithZlibScheme()
|
||||
@ -1518,7 +1518,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
|
||||
// Zlib stat uses file:// wrapper so remove scheme
|
||||
$this->assertFileExists(str_replace($scheme, '', $filename));
|
||||
$this->assertSame('bar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'bar');
|
||||
}
|
||||
|
||||
public function testAppendToFile()
|
||||
@ -1535,7 +1535,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->appendToFile($filename, 'bar');
|
||||
|
||||
$this->assertFileExists($filename);
|
||||
$this->assertSame('foobar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'foobar');
|
||||
|
||||
// skip mode check on Windows
|
||||
if ('\\' !== DIRECTORY_SEPARATOR) {
|
||||
@ -1557,7 +1557,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->appendToFile($filename, 'bar');
|
||||
|
||||
$this->assertFileExists($filename);
|
||||
$this->assertSame('foobar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'foobar');
|
||||
}
|
||||
|
||||
public function testAppendToFileWithZlibScheme()
|
||||
@ -1567,12 +1567,12 @@ class FilesystemTest extends FilesystemTestCase
|
||||
$this->filesystem->dumpFile($filename, 'foo');
|
||||
|
||||
// Zlib stat uses file:// wrapper so remove it
|
||||
$this->assertSame('foo', file_get_contents(str_replace($scheme, '', $filename)));
|
||||
$this->assertStringEqualsFile(str_replace($scheme, '', $filename), 'foo');
|
||||
|
||||
$this->filesystem->appendToFile($filename, 'bar');
|
||||
|
||||
$this->assertFileExists($filename);
|
||||
$this->assertSame('foobar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'foobar');
|
||||
}
|
||||
|
||||
public function testAppendToFileCreateTheFileIfNotExists()
|
||||
@ -1593,7 +1593,7 @@ class FilesystemTest extends FilesystemTestCase
|
||||
}
|
||||
|
||||
$this->assertFileExists($filename);
|
||||
$this->assertSame('bar', file_get_contents($filename));
|
||||
$this->assertStringEqualsFile($filename, 'bar');
|
||||
}
|
||||
|
||||
public function testDumpKeepsExistingPermissionsWhenOverwritingAnExistingFile()
|
||||
|
@ -308,12 +308,12 @@ class CompoundFormTest extends AbstractFormTest
|
||||
|
||||
$this->form[] = $child;
|
||||
|
||||
$this->assertTrue(isset($this->form['foo']));
|
||||
$this->assertArrayHasKey('foo', $this->form);
|
||||
$this->assertSame($child, $this->form['foo']);
|
||||
|
||||
unset($this->form['foo']);
|
||||
|
||||
$this->assertFalse(isset($this->form['foo']));
|
||||
$this->assertArrayNotHasKey('foo', $this->form);
|
||||
}
|
||||
|
||||
public function testCountable()
|
||||
|
@ -196,7 +196,7 @@ class ChoiceTypeTest extends BaseTypeTest
|
||||
'choices' => $this->choices,
|
||||
));
|
||||
|
||||
$this->assertTrue(isset($form['placeholder']));
|
||||
$this->assertArrayHasKey('placeholder', $form);
|
||||
$this->assertCount(count($this->choices) + 1, $form, 'Each choice should become a new field');
|
||||
}
|
||||
|
||||
@ -209,7 +209,7 @@ class ChoiceTypeTest extends BaseTypeTest
|
||||
'choices' => $this->choices,
|
||||
));
|
||||
|
||||
$this->assertFalse(isset($form['placeholder']));
|
||||
$this->assertArrayNotHasKey('placeholder', $form);
|
||||
$this->assertCount(count($this->choices), $form, 'Each choice should become a new field');
|
||||
}
|
||||
|
||||
@ -222,7 +222,7 @@ class ChoiceTypeTest extends BaseTypeTest
|
||||
'choices' => $this->choices,
|
||||
));
|
||||
|
||||
$this->assertFalse(isset($form['placeholder']));
|
||||
$this->assertArrayNotHasKey('placeholder', $form);
|
||||
$this->assertCount(count($this->choices), $form, 'Each choice should become a new field');
|
||||
}
|
||||
|
||||
@ -238,7 +238,7 @@ class ChoiceTypeTest extends BaseTypeTest
|
||||
),
|
||||
));
|
||||
|
||||
$this->assertFalse(isset($form['placeholder']));
|
||||
$this->assertArrayNotHasKey('placeholder', $form);
|
||||
$this->assertCount(2, $form, 'Each choice should become a new field');
|
||||
}
|
||||
|
||||
@ -295,7 +295,7 @@ class ChoiceTypeTest extends BaseTypeTest
|
||||
'placeholder' => 'Select an option',
|
||||
));
|
||||
|
||||
$this->assertTrue(isset($form['placeholder']), 'Placeholder should be set');
|
||||
$this->assertArrayHasKey('placeholder', $form, 'Placeholder should be set');
|
||||
$this->assertCount(3, $form, 'Each choice should become a new field, placeholder included');
|
||||
|
||||
$view = $form->createView();
|
||||
@ -319,7 +319,7 @@ class ChoiceTypeTest extends BaseTypeTest
|
||||
'placeholder' => 'Select an option',
|
||||
));
|
||||
|
||||
$this->assertTrue(isset($form['placeholder']), 'Placeholder should be set');
|
||||
$this->assertArrayHasKey('placeholder', $form, 'Placeholder should be set');
|
||||
$this->assertCount(3, $form, 'Each choice should become a new field, placeholder included');
|
||||
|
||||
$view = $form->createView();
|
||||
|
@ -49,7 +49,7 @@ class CollectionTypeTest extends BaseTypeTest
|
||||
|
||||
$form->setData(array('foo@baz.com'));
|
||||
$this->assertInstanceOf('Symfony\Component\Form\Form', $form[0]);
|
||||
$this->assertFalse(isset($form[1]));
|
||||
$this->assertArrayNotHasKey(1, $form);
|
||||
$this->assertCount(1, $form);
|
||||
$this->assertEquals('foo@baz.com', $form[0]->getData());
|
||||
$formAttrs0 = $form[0]->getConfig()->getOption('attr');
|
||||
@ -271,7 +271,7 @@ class CollectionTypeTest extends BaseTypeTest
|
||||
));
|
||||
|
||||
$data = $form->getData();
|
||||
$this->assertFalse(isset($data['__name__']));
|
||||
$this->assertArrayNotHasKey('__name__', $data);
|
||||
}
|
||||
|
||||
public function testGetDataDoesNotContainsPrototypeNameAfterDataAreSet()
|
||||
@ -284,7 +284,7 @@ class CollectionTypeTest extends BaseTypeTest
|
||||
|
||||
$form->setData(array('foobar.png'));
|
||||
$data = $form->getData();
|
||||
$this->assertFalse(isset($data['__name__']));
|
||||
$this->assertArrayNotHasKey('__name__', $data);
|
||||
}
|
||||
|
||||
public function testPrototypeNameOption()
|
||||
|
@ -419,7 +419,7 @@ class DateTimeTypeTest extends BaseTypeTest
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view->vars['type']));
|
||||
$this->assertArrayNotHasKey('type', $view->vars);
|
||||
}
|
||||
|
||||
public function testDontPassHtml5TypeIfNotHtml5Format()
|
||||
@ -430,7 +430,7 @@ class DateTimeTypeTest extends BaseTypeTest
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view->vars['type']));
|
||||
$this->assertArrayNotHasKey('type', $view->vars);
|
||||
}
|
||||
|
||||
public function testDontPassHtml5TypeIfNotSingleText()
|
||||
@ -440,7 +440,7 @@ class DateTimeTypeTest extends BaseTypeTest
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view->vars['type']));
|
||||
$this->assertArrayNotHasKey('type', $view->vars);
|
||||
}
|
||||
|
||||
public function testDateTypeChoiceErrorsBubbleUp()
|
||||
|
@ -678,7 +678,7 @@ class DateTypeTest extends BaseTypeTest
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view->vars['date_pattern']));
|
||||
$this->assertArrayNotHasKey('date_pattern', $view->vars);
|
||||
}
|
||||
|
||||
public function testDatePatternFormatWithQuotedStrings()
|
||||
@ -826,7 +826,7 @@ class DateTypeTest extends BaseTypeTest
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view->vars['type']));
|
||||
$this->assertArrayNotHasKey('type', $view->vars);
|
||||
}
|
||||
|
||||
public function testDontPassHtml5TypeIfNotHtml5Format()
|
||||
@ -837,7 +837,7 @@ class DateTypeTest extends BaseTypeTest
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view->vars['type']));
|
||||
$this->assertArrayNotHasKey('type', $view->vars);
|
||||
}
|
||||
|
||||
public function testDontPassHtml5TypeIfNotSingleText()
|
||||
@ -847,7 +847,7 @@ class DateTypeTest extends BaseTypeTest
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view->vars['type']));
|
||||
$this->assertArrayNotHasKey('type', $view->vars);
|
||||
}
|
||||
|
||||
public function provideCompoundWidgets()
|
||||
|
@ -536,7 +536,7 @@ class TimeTypeTest extends BaseTypeTest
|
||||
));
|
||||
|
||||
$view = $form->createView();
|
||||
$this->assertFalse(isset($view->vars['type']));
|
||||
$this->assertArrayNotHasKey('type', $view->vars);
|
||||
}
|
||||
|
||||
public function testPassDefaultPlaceholderToViewIfNotRequired()
|
||||
|
@ -72,7 +72,7 @@ class FormTypeCsrfExtensionTest extends TypeTestCase
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertTrue(isset($view['csrf']));
|
||||
$this->assertArrayHasKey('csrf', $view);
|
||||
}
|
||||
|
||||
public function testNoCsrfProtectionByDefaultIfCompoundButNotRoot()
|
||||
@ -89,7 +89,7 @@ class FormTypeCsrfExtensionTest extends TypeTestCase
|
||||
->get('form')
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view['csrf']));
|
||||
$this->assertArrayNotHasKey('csrf', $view);
|
||||
}
|
||||
|
||||
public function testNoCsrfProtectionByDefaultIfRootButNotCompound()
|
||||
@ -101,7 +101,7 @@ class FormTypeCsrfExtensionTest extends TypeTestCase
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view['csrf']));
|
||||
$this->assertArrayNotHasKey('csrf', $view);
|
||||
}
|
||||
|
||||
public function testCsrfProtectionCanBeDisabled()
|
||||
@ -114,7 +114,7 @@ class FormTypeCsrfExtensionTest extends TypeTestCase
|
||||
))
|
||||
->createView();
|
||||
|
||||
$this->assertFalse(isset($view['csrf']));
|
||||
$this->assertArrayNotHasKey('csrf', $view);
|
||||
}
|
||||
|
||||
public function testGenerateCsrfToken()
|
||||
@ -357,7 +357,7 @@ class FormTypeCsrfExtensionTest extends TypeTestCase
|
||||
->createView()
|
||||
->vars['prototype'];
|
||||
|
||||
$this->assertFalse(isset($prototypeView['csrf']));
|
||||
$this->assertArrayNotHasKey('csrf', $prototypeView);
|
||||
$this->assertCount(1, $prototypeView);
|
||||
}
|
||||
|
||||
|
@ -96,7 +96,7 @@ class ViolationPathTest extends TestCase
|
||||
$path = new ViolationPath($string);
|
||||
|
||||
$this->assertSame($slicedPath, $path->__toString());
|
||||
$this->assertSame(count($entries), count($path->getElements()));
|
||||
$this->assertCount(count($entries), $path->getElements());
|
||||
$this->assertSame(count($entries), $path->getLength());
|
||||
|
||||
foreach ($entries as $index => $entry) {
|
||||
|
@ -91,14 +91,14 @@ class OrderedHashMapTest extends TestCase
|
||||
$map = new OrderedHashMap();
|
||||
$map['first'] = 1;
|
||||
|
||||
$this->assertTrue(isset($map['first']));
|
||||
$this->assertArrayHasKey('first', $map);
|
||||
}
|
||||
|
||||
public function testIssetReturnsFalseForNonExisting()
|
||||
{
|
||||
$map = new OrderedHashMap();
|
||||
|
||||
$this->assertFalse(isset($map['first']));
|
||||
$this->assertArrayNotHasKey('first', $map);
|
||||
}
|
||||
|
||||
public function testIssetReturnsFalseForNull()
|
||||
@ -106,7 +106,7 @@ class OrderedHashMapTest extends TestCase
|
||||
$map = new OrderedHashMap();
|
||||
$map['first'] = null;
|
||||
|
||||
$this->assertFalse(isset($map['first']));
|
||||
$this->assertArrayNotHasKey('first', $map);
|
||||
}
|
||||
|
||||
public function testUnset()
|
||||
|
@ -200,6 +200,6 @@ class HeaderBagTest extends TestCase
|
||||
$headers = array('foo' => 'bar', 'HELLO' => 'WORLD');
|
||||
$headerBag = new HeaderBag($headers);
|
||||
|
||||
$this->assertEquals(count($headers), count($headerBag));
|
||||
$this->assertCount(count($headers), $headerBag);
|
||||
}
|
||||
}
|
||||
|
@ -179,7 +179,7 @@ class ParameterBagTest extends TestCase
|
||||
$parameters = array('foo' => 'bar', 'hello' => 'world');
|
||||
$bag = new ParameterBag($parameters);
|
||||
|
||||
$this->assertEquals(count($parameters), count($bag));
|
||||
$this->assertCount(count($parameters), $bag);
|
||||
}
|
||||
|
||||
public function testGetBoolean()
|
||||
|
@ -175,10 +175,10 @@ class ResponseHeaderBagTest extends TestCase
|
||||
|
||||
$cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
|
||||
|
||||
$this->assertTrue(isset($cookies['foo.bar']['/path/foo']['foo']));
|
||||
$this->assertTrue(isset($cookies['foo.bar']['/path/bar']['foo']));
|
||||
$this->assertTrue(isset($cookies['bar.foo']['/path/bar']['foo']));
|
||||
$this->assertTrue(isset($cookies['']['/']['foo']));
|
||||
$this->assertArrayHasKey('foo', $cookies['foo.bar']['/path/foo']);
|
||||
$this->assertArrayHasKey('foo', $cookies['foo.bar']['/path/bar']);
|
||||
$this->assertArrayHasKey('foo', $cookies['bar.foo']['/path/bar']);
|
||||
$this->assertArrayHasKey('foo', $cookies['']['/']);
|
||||
}
|
||||
|
||||
public function testRemoveCookie()
|
||||
@ -191,19 +191,19 @@ class ResponseHeaderBagTest extends TestCase
|
||||
$this->assertTrue($bag->has('set-cookie'));
|
||||
|
||||
$cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
|
||||
$this->assertTrue(isset($cookies['foo.bar']['/path/foo']));
|
||||
$this->assertArrayHasKey('/path/foo', $cookies['foo.bar']);
|
||||
|
||||
$bag->removeCookie('foo', '/path/foo', 'foo.bar');
|
||||
$this->assertTrue($bag->has('set-cookie'));
|
||||
|
||||
$cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
|
||||
$this->assertFalse(isset($cookies['foo.bar']['/path/foo']));
|
||||
$this->assertArrayNotHasKey('/path/foo', $cookies['foo.bar']);
|
||||
|
||||
$bag->removeCookie('bar', '/path/bar', 'foo.bar');
|
||||
$this->assertFalse($bag->has('set-cookie'));
|
||||
|
||||
$cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
|
||||
$this->assertFalse(isset($cookies['foo.bar']));
|
||||
$this->assertArrayNotHasKey('foo.bar', $cookies);
|
||||
}
|
||||
|
||||
public function testRemoveCookieWithNullRemove()
|
||||
@ -213,11 +213,11 @@ class ResponseHeaderBagTest extends TestCase
|
||||
$bag->setCookie(new Cookie('bar', 'foo', 0));
|
||||
|
||||
$cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
|
||||
$this->assertTrue(isset($cookies['']['/']));
|
||||
$this->assertArrayHasKey('/', $cookies['']);
|
||||
|
||||
$bag->removeCookie('foo', null);
|
||||
$cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
|
||||
$this->assertFalse(isset($cookies['']['/']['foo']));
|
||||
$this->assertArrayNotHasKey('foo', $cookies['']['/']);
|
||||
|
||||
$bag->removeCookie('bar', null);
|
||||
$cookies = $bag->getCookies(ResponseHeaderBag::COOKIES_ARRAY);
|
||||
|
@ -74,8 +74,8 @@ class ServerBagTest extends TestCase
|
||||
|
||||
// Username and passwords should not be set as the header is bogus
|
||||
$headers = $bag->getHeaders();
|
||||
$this->assertFalse(isset($headers['PHP_AUTH_USER']));
|
||||
$this->assertFalse(isset($headers['PHP_AUTH_PW']));
|
||||
$this->assertArrayNotHasKey('PHP_AUTH_USER', $headers);
|
||||
$this->assertArrayNotHasKey('PHP_AUTH_PW', $headers);
|
||||
}
|
||||
|
||||
public function testHttpBasicAuthWithPhpCgiRedirect()
|
||||
@ -118,8 +118,8 @@ class ServerBagTest extends TestCase
|
||||
|
||||
// Username and passwords should not be set as the header is bogus
|
||||
$headers = $bag->getHeaders();
|
||||
$this->assertFalse(isset($headers['PHP_AUTH_USER']));
|
||||
$this->assertFalse(isset($headers['PHP_AUTH_PW']));
|
||||
$this->assertArrayNotHasKey('PHP_AUTH_USER', $headers);
|
||||
$this->assertArrayNotHasKey('PHP_AUTH_PW', $headers);
|
||||
}
|
||||
|
||||
public function testHttpDigestAuthWithPhpCgiRedirect()
|
||||
|
@ -181,6 +181,6 @@ class AttributeBagTest extends TestCase
|
||||
|
||||
public function testCount()
|
||||
{
|
||||
$this->assertEquals(count($this->array), count($this->bag));
|
||||
$this->assertCount(count($this->array), $this->bag);
|
||||
}
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ class NativeSessionStorageTest extends TestCase
|
||||
$this->assertFalse($storage->isStarted());
|
||||
|
||||
$key = $storage->getMetadataBag()->getStorageKey();
|
||||
$this->assertFalse(isset($_SESSION[$key]));
|
||||
$this->assertArrayNotHasKey($key, $_SESSION);
|
||||
$storage->start();
|
||||
}
|
||||
|
||||
|
@ -75,9 +75,9 @@ class PhpBridgeSessionStorageTest extends TestCase
|
||||
$this->assertFalse($storage->isStarted());
|
||||
|
||||
$key = $storage->getMetadataBag()->getStorageKey();
|
||||
$this->assertFalse(isset($_SESSION[$key]));
|
||||
$this->assertArrayNotHasKey($key, $_SESSION);
|
||||
$storage->start();
|
||||
$this->assertTrue(isset($_SESSION[$key]));
|
||||
$this->assertArrayHasKey($key, $_SESSION);
|
||||
}
|
||||
|
||||
public function testClear()
|
||||
|
@ -35,7 +35,7 @@ class DumpDataCollectorTest extends TestCase
|
||||
$this->assertSame(1, $collector->getDumpsCount());
|
||||
|
||||
$dump = $collector->getDumps('html');
|
||||
$this->assertTrue(isset($dump[0]['data']));
|
||||
$this->assertArrayHasKey('data', $dump[0]);
|
||||
$dump[0]['data'] = preg_replace('/^.*?<pre/', '<pre', $dump[0]['data']);
|
||||
$dump[0]['data'] = preg_replace('/sf-dump-\d+/', 'sf-dump', $dump[0]['data']);
|
||||
|
||||
|
@ -530,8 +530,8 @@ class HttpCacheTest extends HttpCacheTestCase
|
||||
$this->request('GET', '/');
|
||||
$this->assertHttpKernelIsNotCalled();
|
||||
$this->assertEquals(200, $this->response->getStatusCode());
|
||||
$this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
|
||||
$this->assertTrue($this->response->headers->get('Age') > 0);
|
||||
$this->assertLessThan(2, strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')));
|
||||
$this->assertGreaterThan(0, $this->response->headers->get('Age'));
|
||||
$this->assertNotNull($this->response->headers->get('X-Content-Digest'));
|
||||
$this->assertTraceContains('fresh');
|
||||
$this->assertTraceNotContains('store');
|
||||
@ -554,8 +554,8 @@ class HttpCacheTest extends HttpCacheTestCase
|
||||
$this->request('GET', '/');
|
||||
$this->assertHttpKernelIsNotCalled();
|
||||
$this->assertEquals(200, $this->response->getStatusCode());
|
||||
$this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
|
||||
$this->assertTrue($this->response->headers->get('Age') > 0);
|
||||
$this->assertLessThan(2, strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')));
|
||||
$this->assertGreaterThan(0, $this->response->headers->get('Age'));
|
||||
$this->assertNotNull($this->response->headers->get('X-Content-Digest'));
|
||||
$this->assertTraceContains('fresh');
|
||||
$this->assertTraceNotContains('store');
|
||||
@ -618,8 +618,8 @@ class HttpCacheTest extends HttpCacheTestCase
|
||||
$this->request('GET', '/');
|
||||
$this->assertHttpKernelIsNotCalled();
|
||||
$this->assertEquals(200, $this->response->getStatusCode());
|
||||
$this->assertTrue(strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')) < 2);
|
||||
$this->assertTrue($this->response->headers->get('Age') > 0);
|
||||
$this->assertLessThan(2, strtotime($this->responses[0]->headers->get('Date')) - strtotime($this->response->headers->get('Date')));
|
||||
$this->assertGreaterThan(0, $this->response->headers->get('Age'));
|
||||
$this->assertNotNull($this->response->headers->get('X-Content-Digest'));
|
||||
$this->assertTraceContains('fresh');
|
||||
$this->assertTraceNotContains('store');
|
||||
@ -793,7 +793,7 @@ class HttpCacheTest extends HttpCacheTestCase
|
||||
$this->request('GET', '/');
|
||||
$this->assertHttpKernelIsCalled();
|
||||
$this->assertEquals(200, $this->response->getStatusCode());
|
||||
$this->assertTrue($this->response->headers->get('Age') <= 1);
|
||||
$this->assertLessThanOrEqual(1, $this->response->headers->get('Age'));
|
||||
$this->assertNotNull($this->response->headers->get('X-Content-Digest'));
|
||||
$this->assertTraceContains('stale');
|
||||
$this->assertTraceNotContains('fresh');
|
||||
@ -831,7 +831,7 @@ class HttpCacheTest extends HttpCacheTestCase
|
||||
$this->assertEquals(200, $this->response->getStatusCode());
|
||||
$this->assertNotNull($this->response->headers->get('Last-Modified'));
|
||||
$this->assertNotNull($this->response->headers->get('X-Content-Digest'));
|
||||
$this->assertTrue($this->response->headers->get('Age') <= 1);
|
||||
$this->assertLessThanOrEqual(1, $this->response->headers->get('Age'));
|
||||
$this->assertEquals('Hello World', $this->response->getContent());
|
||||
$this->assertTraceContains('stale');
|
||||
$this->assertTraceContains('valid');
|
||||
@ -881,7 +881,7 @@ class HttpCacheTest extends HttpCacheTestCase
|
||||
$this->assertEquals(200, $this->response->getStatusCode());
|
||||
$this->assertNotNull($this->response->headers->get('ETag'));
|
||||
$this->assertNotNull($this->response->headers->get('X-Content-Digest'));
|
||||
$this->assertTrue($this->response->headers->get('Age') <= 1);
|
||||
$this->assertLessThanOrEqual(1, $this->response->headers->get('Age'));
|
||||
$this->assertEquals('Hello World', $this->response->getContent());
|
||||
$this->assertTraceContains('stale');
|
||||
$this->assertTraceContains('valid');
|
||||
|
@ -36,7 +36,7 @@ class UriSignerTest extends TestCase
|
||||
$this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar')));
|
||||
$this->assertTrue($signer->check($signer->sign('http://example.com/foo?foo=bar&0=integer')));
|
||||
|
||||
$this->assertTrue($signer->sign('http://example.com/foo?foo=bar&bar=foo') === $signer->sign('http://example.com/foo?bar=foo&foo=bar'));
|
||||
$this->assertSame($signer->sign('http://example.com/foo?foo=bar&bar=foo'), $signer->sign('http://example.com/foo?bar=foo&foo=bar'));
|
||||
}
|
||||
|
||||
public function testCheckWithDifferentArgSeparator()
|
||||
|
@ -36,7 +36,7 @@ class IntlBundleReaderTest extends TestCase
|
||||
|
||||
$this->assertInstanceOf('\ArrayAccess', $data);
|
||||
$this->assertSame('Bar', $data['Foo']);
|
||||
$this->assertFalse(isset($data['ExistsNot']));
|
||||
$this->assertArrayNotHasKey('ExistsNot', $data);
|
||||
}
|
||||
|
||||
public function testReadFollowsAlias()
|
||||
@ -46,7 +46,7 @@ class IntlBundleReaderTest extends TestCase
|
||||
|
||||
$this->assertInstanceOf('\ArrayAccess', $data);
|
||||
$this->assertSame('Bar', $data['Foo']);
|
||||
$this->assertFalse(isset($data['ExistsNot']));
|
||||
$this->assertArrayNotHasKey('ExistsNot', $data);
|
||||
}
|
||||
|
||||
public function testReadDoesNotFollowFallback()
|
||||
@ -60,9 +60,9 @@ class IntlBundleReaderTest extends TestCase
|
||||
|
||||
$this->assertInstanceOf('\ArrayAccess', $data);
|
||||
$this->assertSame('Bam', $data['Baz']);
|
||||
$this->assertFalse(isset($data['Foo']));
|
||||
$this->assertArrayNotHasKey('Foo', $data);
|
||||
$this->assertNull($data['Foo']);
|
||||
$this->assertFalse(isset($data['ExistsNot']));
|
||||
$this->assertArrayNotHasKey('ExistsNot', $data);
|
||||
}
|
||||
|
||||
public function testReadDoesNotFollowFallbackAlias()
|
||||
@ -76,9 +76,9 @@ class IntlBundleReaderTest extends TestCase
|
||||
|
||||
$this->assertInstanceOf('\ArrayAccess', $data);
|
||||
$this->assertSame('Bam', $data['Baz'], 'data from the aliased locale can be accessed');
|
||||
$this->assertFalse(isset($data['Foo']));
|
||||
$this->assertArrayNotHasKey('Foo', $data);
|
||||
$this->assertNull($data['Foo']);
|
||||
$this->assertFalse(isset($data['ExistsNot']));
|
||||
$this->assertArrayNotHasKey('ExistsNot', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,7 +35,7 @@ class JsonBundleReaderTest extends TestCase
|
||||
|
||||
$this->assertInternalType('array', $data);
|
||||
$this->assertSame('Bar', $data['Foo']);
|
||||
$this->assertFalse(isset($data['ExistsNot']));
|
||||
$this->assertArrayNotHasKey('ExistsNot', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,7 +35,7 @@ class PhpBundleReaderTest extends TestCase
|
||||
|
||||
$this->assertInternalType('array', $data);
|
||||
$this->assertSame('Bar', $data['Foo']);
|
||||
$this->assertFalse(isset($data['ExistsNot']));
|
||||
$this->assertArrayNotHasKey('ExistsNot', $data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -34,8 +34,8 @@ class RingBufferTest extends TestCase
|
||||
$this->buffer[0] = 'foo';
|
||||
$this->buffer['bar'] = 'baz';
|
||||
|
||||
$this->assertTrue(isset($this->buffer[0]));
|
||||
$this->assertTrue(isset($this->buffer['bar']));
|
||||
$this->assertArrayHasKey(0, $this->buffer);
|
||||
$this->assertArrayHasKey('bar', $this->buffer);
|
||||
$this->assertSame('foo', $this->buffer[0]);
|
||||
$this->assertSame('baz', $this->buffer['bar']);
|
||||
}
|
||||
@ -46,8 +46,8 @@ class RingBufferTest extends TestCase
|
||||
$this->buffer['bar'] = 'baz';
|
||||
$this->buffer[2] = 'bam';
|
||||
|
||||
$this->assertTrue(isset($this->buffer['bar']));
|
||||
$this->assertTrue(isset($this->buffer[2]));
|
||||
$this->assertArrayHasKey('bar', $this->buffer);
|
||||
$this->assertArrayHasKey(2, $this->buffer);
|
||||
$this->assertSame('baz', $this->buffer['bar']);
|
||||
$this->assertSame('bam', $this->buffer[2]);
|
||||
}
|
||||
@ -62,14 +62,14 @@ class RingBufferTest extends TestCase
|
||||
|
||||
public function testQueryNonExisting()
|
||||
{
|
||||
$this->assertFalse(isset($this->buffer['foo']));
|
||||
$this->assertArrayNotHasKey('foo', $this->buffer);
|
||||
}
|
||||
|
||||
public function testUnsetNonExistingSucceeds()
|
||||
{
|
||||
unset($this->buffer['foo']);
|
||||
|
||||
$this->assertFalse(isset($this->buffer['foo']));
|
||||
$this->assertArrayNotHasKey('foo', $this->buffer);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -86,7 +86,7 @@ class RingBufferTest extends TestCase
|
||||
|
||||
public function testQueryOverwritten()
|
||||
{
|
||||
$this->assertFalse(isset($this->buffer[0]));
|
||||
$this->assertArrayNotHasKey(0, $this->buffer);
|
||||
}
|
||||
|
||||
public function testUnsetOverwrittenSucceeds()
|
||||
@ -97,6 +97,6 @@ class RingBufferTest extends TestCase
|
||||
|
||||
unset($this->buffer[0]);
|
||||
|
||||
$this->assertFalse(isset($this->buffer[0]));
|
||||
$this->assertArrayNotHasKey(0, $this->buffer);
|
||||
}
|
||||
}
|
||||
|
@ -1504,12 +1504,12 @@ class OptionsResolverTest extends TestCase
|
||||
});
|
||||
|
||||
$this->resolver->setDefault('lazy2', function (Options $options) {
|
||||
Assert::assertTrue(isset($options['default1']));
|
||||
Assert::assertTrue(isset($options['default2']));
|
||||
Assert::assertTrue(isset($options['required']));
|
||||
Assert::assertTrue(isset($options['lazy1']));
|
||||
Assert::assertTrue(isset($options['lazy2']));
|
||||
Assert::assertFalse(isset($options['defined']));
|
||||
Assert::assertArrayHasKey('default1', $options);
|
||||
Assert::assertArrayHasKey('default2', $options);
|
||||
Assert::assertArrayHasKey('required', $options);
|
||||
Assert::assertArrayHasKey('lazy1', $options);
|
||||
Assert::assertArrayHasKey('lazy2', $options);
|
||||
Assert::assertArrayNotHasKey('defined', $options);
|
||||
|
||||
Assert::assertSame(0, $options['default1']);
|
||||
Assert::assertSame(42, $options['default2']);
|
||||
|
@ -571,7 +571,7 @@ class ProcessTest extends TestCase
|
||||
{
|
||||
$process = $this->getProcess('echo foo');
|
||||
$process->run();
|
||||
$this->assertTrue(strlen($process->getOutput()) > 0);
|
||||
$this->assertGreaterThan(0, strlen($process->getOutput()));
|
||||
}
|
||||
|
||||
public function testGetExitCodeIsNullOnStart()
|
||||
|
@ -96,10 +96,10 @@ EOF;
|
||||
$code = rtrim($this->compileRoutes($this->getRoutes(), $supportsRedirections), "\n");
|
||||
|
||||
return <<<EOF
|
||||
public function match(\$pathinfo)
|
||||
public function match(\$rawPathinfo)
|
||||
{
|
||||
\$allow = array();
|
||||
\$pathinfo = rawurldecode(\$pathinfo);
|
||||
\$pathinfo = rawurldecode(\$rawPathinfo);
|
||||
\$trimmedPathinfo = rtrim(\$pathinfo, '/');
|
||||
\$context = \$this->context;
|
||||
\$request = \$this->request;
|
||||
@ -362,7 +362,7 @@ EOF;
|
||||
if ($hasTrailingSlash) {
|
||||
$code .= <<<EOF
|
||||
if (substr(\$pathinfo, -1) !== '/') {
|
||||
return array_replace(\$ret, \$this->redirect(\$pathinfo.'/', '$name'));
|
||||
return array_replace(\$ret, \$this->redirect(\$rawPathinfo.'/', '$name'));
|
||||
}
|
||||
|
||||
|
||||
@ -377,7 +377,7 @@ EOF;
|
||||
$code .= <<<EOF
|
||||
\$requiredSchemes = $schemes;
|
||||
if (!isset(\$requiredSchemes[\$scheme])) {
|
||||
return array_replace(\$ret, \$this->redirect(\$pathinfo, '$name', key(\$requiredSchemes)));
|
||||
return array_replace(\$ret, \$this->redirect(\$rawPathinfo, '$name', key(\$requiredSchemes)));
|
||||
}
|
||||
|
||||
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
@ -84,7 +84,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/test/baz3' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'baz3');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'baz3'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'baz3'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -96,7 +96,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if (preg_match('#^/test/(?P<foo>[^/]++)/?$#s', $pathinfo, $matches)) {
|
||||
$ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'baz4')), array ());
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'baz4'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'baz4'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -180,7 +180,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/multi/hey' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'hey');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'hey'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'hey'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -327,7 +327,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
$ret = array('_route' => 'secure');
|
||||
$requiredSchemes = array ( 'https' => 0,);
|
||||
if (!isset($requiredSchemes[$scheme])) {
|
||||
return array_replace($ret, $this->redirect($pathinfo, 'secure', key($requiredSchemes)));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo, 'secure', key($requiredSchemes)));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -338,7 +338,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
$ret = array('_route' => 'nonsecure');
|
||||
$requiredSchemes = array ( 'http' => 0,);
|
||||
if (!isset($requiredSchemes[$scheme])) {
|
||||
return array_replace($ret, $this->redirect($pathinfo, 'nonsecure', key($requiredSchemes)));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo, 'nonsecure', key($requiredSchemes)));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
@ -58,7 +58,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/a/44' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'a_fourth');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'a_fourth'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'a_fourth'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -68,7 +68,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/a/55' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'a_fifth');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'a_fifth'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'a_fifth'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -78,7 +78,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/a/66' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'a_sixth');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'a_sixth'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'a_sixth'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -96,7 +96,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/nested/group/a' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'nested_a');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'nested_a'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'nested_a'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -106,7 +106,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/nested/group/b' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'nested_b');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'nested_b'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'nested_b'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -116,7 +116,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/nested/group/c' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'nested_c');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'nested_c'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'nested_c'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -129,7 +129,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/slashed/group' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'slashed_a');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'slashed_a'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'slashed_a'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -139,7 +139,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/slashed/group/b' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'slashed_b');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'slashed_b'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'slashed_b'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -149,7 +149,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/slashed/group/c' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'slashed_c');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'slashed_c'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'slashed_c'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Matcher\UrlMatcher
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
|
@ -15,10 +15,10 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
$this->context = $context;
|
||||
}
|
||||
|
||||
public function match($pathinfo)
|
||||
public function match($rawPathinfo)
|
||||
{
|
||||
$allow = array();
|
||||
$pathinfo = rawurldecode($pathinfo);
|
||||
$pathinfo = rawurldecode($rawPathinfo);
|
||||
$trimmedPathinfo = rtrim($pathinfo, '/');
|
||||
$context = $this->context;
|
||||
$request = $this->request;
|
||||
@ -35,7 +35,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if ('/trailing/simple/no-methods' === $trimmedPathinfo) {
|
||||
$ret = array('_route' => 'simple_trailing_slash_no_methods');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'simple_trailing_slash_no_methods'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'simple_trailing_slash_no_methods'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -50,7 +50,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
|
||||
$ret = array('_route' => 'simple_trailing_slash_GET_method');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'simple_trailing_slash_GET_method'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'simple_trailing_slash_GET_method'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -66,7 +66,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
|
||||
$ret = array('_route' => 'simple_trailing_slash_HEAD_method');
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'simple_trailing_slash_HEAD_method'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'simple_trailing_slash_HEAD_method'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -91,7 +91,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
if (0 === strpos($pathinfo, '/trailing/regex/no-methods') && preg_match('#^/trailing/regex/no\\-methods/(?P<param>[^/]++)/?$#s', $pathinfo, $matches)) {
|
||||
$ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_no_methods')), array ());
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'regex_trailing_slash_no_methods'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'regex_trailing_slash_no_methods'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -106,7 +106,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
|
||||
$ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_GET_method')), array ());
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'regex_trailing_slash_GET_method'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'regex_trailing_slash_GET_method'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
@ -122,7 +122,7 @@ class ProjectUrlMatcher extends Symfony\Component\Routing\Tests\Fixtures\Redirec
|
||||
|
||||
$ret = $this->mergeDefaults(array_replace($matches, array('_route' => 'regex_trailing_slash_HEAD_method')), array ());
|
||||
if (substr($pathinfo, -1) !== '/') {
|
||||
return array_replace($ret, $this->redirect($pathinfo.'/', 'regex_trailing_slash_HEAD_method'));
|
||||
return array_replace($ret, $this->redirect($rawPathinfo.'/', 'regex_trailing_slash_HEAD_method'));
|
||||
}
|
||||
|
||||
return $ret;
|
||||
|
@ -13,11 +13,39 @@ namespace Symfony\Component\Routing\Tests\Matcher\Dumper;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper;
|
||||
use Symfony\Component\Routing\Matcher\RedirectableUrlMatcherInterface;
|
||||
use Symfony\Component\Routing\Matcher\UrlMatcher;
|
||||
use Symfony\Component\Routing\RequestContext;
|
||||
use Symfony\Component\Routing\Route;
|
||||
use Symfony\Component\Routing\RouteCollection;
|
||||
|
||||
class PhpMatcherDumperTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $matcherClass;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $dumpPath;
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->matcherClass = uniqid('ProjectUrlMatcher');
|
||||
$this->dumpPath = sys_get_temp_dir().DIRECTORY_SEPARATOR.'php_matcher.'.$this->matcherClass.'.php';
|
||||
}
|
||||
|
||||
protected function tearDown()
|
||||
{
|
||||
parent::tearDown();
|
||||
|
||||
@unlink($this->dumpPath);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \LogicException
|
||||
*/
|
||||
@ -36,6 +64,23 @@ class PhpMatcherDumperTest extends TestCase
|
||||
$dumper->dump();
|
||||
}
|
||||
|
||||
public function testRedirectPreservesUrlEncoding()
|
||||
{
|
||||
$collection = new RouteCollection();
|
||||
$collection->add('foo', new Route('/foo:bar/'));
|
||||
|
||||
$class = $this->generateDumpedMatcher($collection, true);
|
||||
|
||||
$matcher = $this->getMockBuilder($class)
|
||||
->setMethods(array('redirect'))
|
||||
->setConstructorArgs(array(new RequestContext()))
|
||||
->getMock();
|
||||
|
||||
$matcher->expects($this->once())->method('redirect')->with('/foo%3Abar/', 'foo');
|
||||
|
||||
$matcher->match('/foo%3Abar');
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider getRouteCollections
|
||||
*/
|
||||
@ -384,4 +429,31 @@ class PhpMatcherDumperTest extends TestCase
|
||||
array($trailingSlashCollection, 'url_matcher7.php', array('base_class' => 'Symfony\Component\Routing\Tests\Fixtures\RedirectableUrlMatcher')),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $dumper
|
||||
*/
|
||||
private function generateDumpedMatcher(RouteCollection $collection, $redirectableStub = false)
|
||||
{
|
||||
$options = array('class' => $this->matcherClass);
|
||||
|
||||
if ($redirectableStub) {
|
||||
$options['base_class'] = '\Symfony\Component\Routing\Tests\Matcher\Dumper\RedirectableUrlMatcherStub';
|
||||
}
|
||||
|
||||
$dumper = new PhpMatcherDumper($collection);
|
||||
$code = $dumper->dump($options);
|
||||
|
||||
file_put_contents($this->dumpPath, $code);
|
||||
include $this->dumpPath;
|
||||
|
||||
return $this->matcherClass;
|
||||
}
|
||||
}
|
||||
|
||||
abstract class RedirectableUrlMatcherStub extends UrlMatcher implements RedirectableUrlMatcherInterface
|
||||
{
|
||||
public function redirect($path, $route, $scheme = null)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
@ -98,4 +98,14 @@ class RedirectableUrlMatcherTest extends TestCase
|
||||
;
|
||||
$this->assertEquals(array('_route' => 'foo', 'bar' => 'baz', 'redirect' => 'value'), $matcher->match('/foo/baz'));
|
||||
}
|
||||
|
||||
public function testRedirectPreservesUrlEncoding()
|
||||
{
|
||||
$coll = new RouteCollection();
|
||||
$coll->add('foo', new Route('/foo:bar/'));
|
||||
|
||||
$matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext()));
|
||||
$matcher->expects($this->once())->method('redirect')->with('/foo%3Abar/');
|
||||
$matcher->match('/foo%3Abar');
|
||||
}
|
||||
}
|
||||
|
@ -61,9 +61,9 @@ class AuthorizationCheckerTest extends TestCase
|
||||
->will($this->returnValue(true));
|
||||
|
||||
// first run the token has not been re-authenticated yet, after isGranted is called, it should be equal
|
||||
$this->assertFalse($newToken === $this->tokenStorage->getToken());
|
||||
$this->assertNotSame($newToken, $this->tokenStorage->getToken());
|
||||
$this->assertTrue($this->authorizationChecker->isGranted('foo'));
|
||||
$this->assertTrue($newToken === $this->tokenStorage->getToken());
|
||||
$this->assertSame($newToken, $this->tokenStorage->getToken());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -90,7 +90,7 @@ class AuthorizationCheckerTest extends TestCase
|
||||
->method('decide')
|
||||
->will($this->returnValue($decide));
|
||||
$this->tokenStorage->setToken($token);
|
||||
$this->assertTrue($decide === $this->authorizationChecker->isGranted('ROLE_FOO'));
|
||||
$this->assertSame($decide, $this->authorizationChecker->isGranted('ROLE_FOO'));
|
||||
}
|
||||
|
||||
public function isGrantedProvider()
|
||||
|
@ -20,7 +20,7 @@ class HelperTest extends TestCase
|
||||
{
|
||||
$helper = new ProjectTemplateHelper();
|
||||
$helper->setCharset('ISO-8859-1');
|
||||
$this->assertTrue('ISO-8859-1' === $helper->getCharset(), '->setCharset() sets the charset set related to this helper');
|
||||
$this->assertSame('ISO-8859-1', $helper->getCharset(), '->setCharset() sets the charset set related to this helper');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ class CacheLoaderTest extends TestCase
|
||||
public function testConstructor()
|
||||
{
|
||||
$loader = new ProjectTemplateLoader($varLoader = new ProjectTemplateLoaderVar(), sys_get_temp_dir());
|
||||
$this->assertTrue($loader->getLoader() === $varLoader, '__construct() takes a template loader as its first argument');
|
||||
$this->assertSame($loader->getLoader(), $varLoader, '__construct() takes a template loader as its first argument');
|
||||
$this->assertEquals(sys_get_temp_dir(), $loader->getDir(), '__construct() takes a directory where to store the cache as its second argument');
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ class PhpEngineTest extends TestCase
|
||||
$engine[$foo] = 'bar';
|
||||
$this->assertEquals($foo, $engine->get('bar'), '->set() takes an alias as a second argument');
|
||||
|
||||
$this->assertTrue(isset($engine['bar']));
|
||||
$this->assertArrayHasKey('bar', $engine);
|
||||
|
||||
try {
|
||||
$engine->get('foobar');
|
||||
@ -75,7 +75,7 @@ class PhpEngineTest extends TestCase
|
||||
$this->assertEquals('The helper "foobar" is not defined.', $e->getMessage(), '->get() throws an InvalidArgumentException if the helper is not defined');
|
||||
}
|
||||
|
||||
$this->assertTrue(isset($engine['bar']));
|
||||
$this->assertArrayHasKey('bar', $engine);
|
||||
$this->assertTrue($engine->has('foo'), '->has() returns true if the helper exists');
|
||||
$this->assertFalse($engine->has('foobar'), '->has() returns false if the helper does not exist');
|
||||
}
|
||||
|
@ -89,16 +89,16 @@ class ConstraintViolationListTest extends TestCase
|
||||
$this->list[] = $violation;
|
||||
|
||||
$this->assertSame($violation, $this->list[0]);
|
||||
$this->assertTrue(isset($this->list[0]));
|
||||
$this->assertArrayHasKey(0, $this->list);
|
||||
|
||||
unset($this->list[0]);
|
||||
|
||||
$this->assertFalse(isset($this->list[0]));
|
||||
$this->assertArrayNotHasKey(0, $this->list);
|
||||
|
||||
$this->list[10] = $violation;
|
||||
|
||||
$this->assertSame($violation, $this->list[10]);
|
||||
$this->assertTrue(isset($this->list[10]));
|
||||
$this->assertArrayHasKey(10, $this->list);
|
||||
}
|
||||
|
||||
public function testToString()
|
||||
|
Reference in New Issue
Block a user