8000 Merge branch '2.2' · symfony/symfony@498bfa3 · GitHub
[go: up one dir, main page]

Skip to content

Commit 498bfa3

Browse files
committed
Merge branch '2.2'
* 2.2: fixed CS Fixed XML syntax. Fixed parsing of leading blank lines in folded scalars. Closes #7989. [Form] Fixed a method name. Added a test case for Loader::import(). Fixed Loader import [Console] Added dedicated testcase for HelperSet class [Serializer] fixed CS (refs #7971) Fixed fatal error in normalize/denormalizeObject. Fixed 2 namespaces Conflicts: src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
2 parents bbdd516 + 70ea5a6 commit 498bfa3

File tree

14 files changed

+336
-43
lines changed

14 files changed

+336
-43
lines changed

src/Symfony/Bundle/TwigBundle/Tests/DependencyInjection/Compiler/TwigLoaderPassTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* file that was distributed with this source code.
1010
*/
1111

12-
namespace symfony\src\Symfony\Bundle\TwigBundle\Tests\DependencyInjection\Compiler;
12+
namespace Symfony\Bundle\TwigBundle\Tests\DependencyInjection\Compiler;
1313

1414
use Symfony\Component\DependencyInjection\ContainerBuilder;
1515
use Symfony\Component\DependencyInjection\Definition;

src/Symfony/Bundle/TwigBundle/Tests/TokenParser/RenderTokenParserTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* file that was distributed with this source code.
1010
*/
1111

12-
namespace Symfony\Bridge\Twig\Tests\Node;
12+
namespace Symfony\Bundle\TwigBundle\Tests\TokenParser;
1313

1414
use Symfony\Bundle\TwigBundle\Tests\TestCase;
1515
use Symfony\Bundle\TwigBundle\TokenParser\RenderTokenParser;

src/Symfony/Component/Config/Loader/Loader.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public function setResolver(LoaderResolverInterface $resolver)
5252
*/
5353
public function import($resource, $type = null)
5454
{
55-
return $this->resolve($resource)->load($resource, $type);
55+
return $this->resolve($resource, $type)->load($resource, $type);
5656
}
5757

5858
/**

src/Symfony/Component/Config/Tests/Loader/LoaderTest.php

Lines changed: 60 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -11,59 +11,93 @@
1111

1212
namespace Symfony\Component\Config\Tests\Loader;
1313

14-
use Symfony\Component\Config\Loader\LoaderResolver;
1514
use Symfony\Component\Config\Loader\Loader;
16-
use Symfony\Component\Config\Exception\FileLoaderLoadException;
1715

1816
class LoaderTest extends \PHPUnit_Framework_TestCase
1917
{
20-
/**
21-
* @covers Symfony\Component\Config\Loader\Loader::getResolver
22-
* @covers Symfony\Component\Config\Loader\Loader::setResolver
23-
*/
2418
public function testGetSetResolver()
2519
{
26-
$resolver = new LoaderResolver();
20+
$resolver = $this->getMock('Symfony\Component\Config\Loader\LoaderResolverInterface');
21+
2722
$loader = new ProjectLoader1();
2823
$loader->setResolver($resolver);
24+
2925
$this->assertSame($resolver, $loader->getResolver(), '->setResolver() sets the resolver loader');
3026
}
3127

32-
/**
33-
* @covers Symfony\Component\Config\Loader\Loader::resolve
34-
*/
3528
public function testResolve()
3629
{
37-
$loader1 = $this->getMock('Symfony\Component\Config\Loader\LoaderInterface');
38-
$loader1->expects($this->once())->method('supports')->will($this->returnValue(true));
39-
$resolver = new LoaderResolver(array($loader1));
30+
$resolvedLoader = $this->getMock('Symfony\Component\Config\Loader\LoaderInterface');
31+
32+
$resolver = $this->getMock('Symfony\Component\Config\Loader\LoaderResolverInterface');
33+
$resolver->expects($this->once())
34+
->method('resolve')
35+
->with('foo.xml')
36+
->will($this->returnValue($resolvedLoader));
37+
4038
$loader = new ProjectLoader1();
4139
$loader->setResolver($resolver);
4240

4341
$this->assertSame($loader, $loader->resolve('foo.foo'), '->resolve() finds a loader');
44-
$this->assertSame($loader1, $loader->resolve('foo.xml'), '->resolve() finds a loader');
42+
$this->assertSame($resolvedLoader, $loader->resolve('foo.xml'), '->resolve() finds a loader');
43+
}
44+
45+
/**
46+
* @expectedException Symfony\Component\Config\Exception\FileLoaderLoadException
47+
*/
48+
public function testResolveWhenResolverCannotFindLoader()
49+
{
50+
$resolver = $this->getMock('Symfony\Component\Config\Loader\LoaderResolverInterface');
51+
$resolver->expects($this->once())
52+
->method('resolve')
53+
->with('FOOBAR')
54+
->will($this->returnValue(false));
4555

46-
$loader1 = $this->getMock('Symfony\Component\Config\Loader\LoaderInterface');
47-
$loader1->expects($this->once())->method('supports')->will($this->returnValue(false));
48-
$resolver = new LoaderResolver(array($loader1));
4956
$loader = new ProjectLoader1();
5057
$loader->setResolver($resolver);
51-
try {
52-
$loader->resolve('FOOBAR');
53-
$this->fail('->resolve() throws a FileLoaderLoadException if the resource cannot be loaded');
54-
} catch (FileLoaderLoadException $e) {
55-
$this->assertInstanceOf('Symfony\Component\Config\Exception\FileLoaderLoadException', $e, '->resolve() throws a FileLoaderLoadException if the resource cannot be loaded');
56-
}
58+
59+
$loader->resolve('FOOBAR');
5760
}
5861

5962
public function testImport()
6063
{
61-
$loader = $this->getMock('Symfony\Component\Config\Loader\Loader', array('supports', 'load'));
62-
$loader->expects($this->once())->method('supports')->will($this->returnValue(true));
63-
$loader->expects($this->once())->method('load')->will($this->returnValue('yes'));
64+
$resolvedLoader = $this->getMock('Symfony\Component\Config\Loader\LoaderInterface');
65+
$resolvedLoader->expects($this->once())
66+
->method('load')
67+
->with('foo')
68+
->will($this->returnValue('yes'));
69+
70+
$resolver = $this->getMock('Symfony\Component\Config\Loader\LoaderResolverInterface');
71+
$resolver->expects($this->once())
72+
->method('resolve')
73+
->with('foo')
74+
->will($this->returnValue($resolvedLoader));
75+
76+
$loader = new ProjectLoader1();
77+
$loader->setResolver($resolver);
6478

6579
$this->assertEquals('yes', $loader->import('foo'));
6680
}
81+
82+
public function testImportWithType()
83+
{
84+
$resolvedLoader = $this->getMock('Symfony\Component\Config\Loader\LoaderInterface');
85+
$resolvedLoader->expects($this->once())
86+
->method('load')
87+
->with('foo', 'bar')
88+
->will($this->returnValue('yes'));
89+
90+
$resolver = $this->getMock('Symfony\Component\Config\Loader\LoaderResolverInterface');
91+
$resolver->expects($this->once())
92+
->method('resolve')
93+
->with('foo', 'bar')
94+
->will($this->returnValue($resolvedLoader));
95+
96+
$loader = new ProjectLoader1();
97+
$loader->setResolver($resolver);
98+
99+
$this->assertEquals('yes', $loader->import('foo', 'bar'));
100+
}
67101
}
68102

69103
class ProjectLoader1 extends Loader
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\Console\Tests\Helper;
13+
14+
use Symfony\Component\Console\Helper\HelperSet;
15+
use Symfony\Component\Console\Command\Command;
16+
17+
class HelperSetTest extends \PHPUnit_Framework_TestCase
18+
{
19+
/**
20+
* @covers \Symfony\Component\Console\Helper\HelperSet::__construct
21+
*/
22+
public function testConstructor()
23+
{
24+
$mock_helper = $this->getGenericMockHelper('fake_helper');
25+
$helperset = new HelperSet(array('fake_helper_alias' => $mock_helper));
26+
27+
$this->assertEquals($mock_helper, $helperset->get('fake_helper_alias'), '__construct sets given helper to helpers');
28+
$this->assertTrue($helperset->has('fake_helper_alias'), '__construct sets helper alias for given helper');
29+
}
30+
31+
/**
32+
* @covers \Symfony\Component\Console\Helper\HelperSet::set
33+
*/
34+
public function testSet()
35+
{
36+
$helperset = new HelperSet();
37+
$helperset->set($this->getGenericMockHelper('fake_helper', $helperset));
38+
$this->assertTrue($helperset->has('fake_helper'), '->set() adds helper to helpers');
39+
40+
$helperset = new HelperSet();
41+
$helperset->set($this->getGenericMockHelper('fake_helper_01', $helperset));
42+
$helperset->set($this->getGenericMockHelper('fake_helper_02', $helperset));
43+
$this->assertTrue($helperset->has('fake_helper_01'), '->set() will set multiple helpers on consecutive calls');
44+
$this->assertTrue($helperset->has('fake_helper_02'), '->set() will set multiple helpers on consecutive calls');
45+
46+
$helperset = new HelperSet();
47+
$helperset->set($this->getGenericMockHelper('fake_helper', $helperset), 'fake_helper_alias');
48+
$this->assertTrue($helperset->has('fake_helper'), '->set() adds helper alias when set');
49+
$this->assertTrue($helperset->has('fake_helper_alias'), '->set() adds helper alias when set');
50+
}
51+
52+
/**
53+
* @covers \Symfony\Component\Console\Helper\HelperSet::has
54+
*/
55+
public function testHas()
56+
{
57+
$helperset = new HelperSet(array('fake_helper_alias' => $this->getGenericMockHelper('fake_helper')));
58+
$this->assertTrue($helperset->has('fake_helper'), '->has() finds set helper');
59+
$this->assertTrue($helperset->has('fake_helper_alias'), '->has() finds set helper by alias');
60+
}
61+
62+
/**
63+
* @covers \Symfony\Component\Console\Helper\HelperSet::get
64+
*/
65+
public function testGet()
66+
{
67+
$helper_01 = $this->getGenericMockHelper('fake_helper_01');
68+
$helper_02 = $this->getGenericMockHelper('fake_helper_02');
69+
$helperset = new HelperSet(array('fake_helper_01_alias' => $helper_01, 'fake_helper_02_alias' => $helper_02));
70+
$this->assertEquals($helper_01, $helperset->get('fake_helper_01'), '->get() returns correct helper by name');
71+
$this->assertEquals($helper_01, $helperset->get('fake_helper_01_alias'), '->get() returns correct helper by alias');
72+
$this->assertEquals($helper_02, $helperset->get('fake_helper_02'), '->get() returns correct helper by name');
73+
$this->assertEquals($helper_02, $helperset->get('fake_helper_02_alias'), '->get() returns correct helper by alias');
74+
75+
$helperset = new HelperSet();
76+
try {
77+
$helperset->get('foo');
78+
$this->fail('->get() throws \InvalidArgumentException when helper not found');
79+
} catch (\Exception $e) {
80+
$this->assertInstanceOf('\InvalidArgumentException', $e, '->get() throws \InvalidArgumentException when helper not found');
81+
$this->assertContains('The helper "foo" is not defined.', $e->getMessage(), '->get() throws \InvalidArgumentException when helper not found');
82+
}
83+
}
84+
85+
/**
86+
* @covers \Symfony\Component\Console\Helper\HelperSet::setCommand
87+
*/
88+
public function testSetCommand()
89+
{
90+
$cmd_01 = new Command('foo');
91+
$cmd_02 = new Command('bar');
92+
93+
$helperset = new HelperSet();
94+
$helperset->setCommand($cmd_01);
95+
$this->assertEquals($cmd_01, $helperset->getCommand(), '->setCommand() stores given command');
96+
97+
$helperset = new HelperSet();
98+
$helperset->setCommand($cmd_01);
99+
$helperset->setCommand($cmd_02);
100+
$this->assertEquals($cmd_02, $helperset->getCommand(), '->setCommand() overwrites stored command with consecutive calls');
101+
}
102+
103+
/**
104+
* @covers \Symfony\Component\Console\Helper\HelperSet::getCommand
105+
*/
106+
public function testGetCommand()
107+
{
108+
$cmd = new Command('foo');
109+
$helperset = new HelperSet();
110+
$helperset->setCommand($cmd);
111+
$this->assertEquals($cmd, $helperset->getCommand(), '->getCommand() retrieves stored command');
112+
}
113+
114+
/**
115+
* Create a generic mock for the helper interface. Optionally check for a call to setHelperSet with a specific
116+
* helperset instance.
117+
*
118+
* @param string $name
119+
* @param HelperSet $helperset allows a mock to verify a particular helperset set is being added to the Helper
120+
*/
121+
private function getGenericMockHelper($name, HelperSet $helperset = null)
122+
{
123+
$mock_helper = $this->getMock('\Symfony\Component\Console\Helper\HelperInterface');
124+
$mock_helper->expects($this->any())
125+
->method('getName')
126+
->will($this->returnValue($name));
127+
128+
if ($helperset) {
129+
$mock_helper->expects($this->any())
130+
->method('setHelperSet')
131+
->with($this->equalTo($helperset));
132+
}
133+
134+
return $mock_helper;
135+
}
136+
}

src/Symfony/Component/Routing/Tests/RouteCollectionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public function testAddCollection()
9797
$collection->addCollection($collection1);
9898
$collection->add('last', $last = new Route('/last'));
9999

100-
$this->assertSame(array('bar' => $bar, 'foo' => $foo, 'grandchild' => $grandchild, 'last' => $last), $collection->all(),
100+
$this->assertSame(array('bar' => $bar, 'foo' => $foo, 'grandchild' => $grandchild, 'last' => $last), $collection->all(),
101101
'->addCollection() imports routes of another collection, overrides if necessary and adds them at the end');
102102
}
103103

src/Symfony/Component/Serializer/Serializer.php

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,7 @@ public function supportsDenormalization($data, $type, $format = null)
173173
private function getNormalizer($data, $format = null)
174174
{
175175
foreach ($this->normalizers as $normalizer) {
176-
if ($normalizer instanceof NormalizerInterface
177-
&& $normalizer->supportsNormalization($data, $format)
178-
) {
176+
if ($normalizer instanceof NormalizerInterface && $normalizer->supportsNormalization($data, $format)) {
179177
return $normalizer;
180178
}
181179
}
@@ -189,9 +187,7 @@ private function getNormalizer($data, $format = null)
189187
private function getDenormalizer($data, $type, $format = null)
190188
{
191189
foreach ($this->normalizers as $normalizer) {
192-
if ($normalizer instanceof DenormalizerInterface
193-
&& $normalizer->supportsDenormalization($data, $type, $format)
194-
) {
190+
if ($normalizer instanceof DenormalizerInterface && $normalizer->supportsDenormalization($data, $type, $format)) {
195191
return $normalizer;
196192
}
197193
}
@@ -239,7 +235,8 @@ private function normalizeObject($object, $format = null, array $context = array
239235
}
240236

241237
foreach ($this->normalizers as $normalizer) {
242-
if ($normalizer->supportsNormalization($object, $format)) {
238+
if ($normalizer instanceof NormalizerInterface
239+
&& $normalizer->supportsNormalization($object, $format)) {
243240
$this->normalizerCache[$class][$format] = $normalizer;
244241

245242
return $normalizer->normalize($object, $format, $context);
@@ -273,7 +270,8 @@ private function denormalizeObject($data, $class, $format = null, array $context
273270
}
274271

275272
foreach ($this->normalizers as $normalizer) {
276-
if ($normalizer->supportsDenormalization($data, $class, $format)) {
273+
if ($normalizer instanceof DenormalizerInterface
274+
&& $normalizer->supportsDenormalization($data, $class, $format)) {
277275
$this->denormalizerCache[$class][$format] = $normalizer;
278276

279277
return $normalizer->denormalize($data, $class, $format, $context);
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\Serializer\Tests\Normalizer;
13+
14+
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
15+
16+
/**
17+
* Provides a test Normalizer which only implements the DenormalizerInterface.
18+
*
19+
* @author Lin Clark <lin@lin-clark.com>
20+
*/
21+
class TestDenormalizer implements DenormalizerInterface
22+
{
23+
/**
24+
* {@inheritdoc}
25+
*/
26+
public function denormalize($data, $class, $format = null, array $context = array())
27+
{
28+
}
29+
30+
/**
31+
* {@inheritdoc}
32+
*/
33+
public function supportsDenormalization($data, $type, $format = null)
34+
{
35+
return true;
36+
}
37+
}

0 commit comments

Comments
 (0)
0