Mercurial > hg > isophonics-drupal-site
comparison core/tests/Drupal/Tests/Component/Bridge/ZfExtensionManagerSfContainerTest.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children |
comparison
equal
deleted
inserted
replaced
16:c2387f117808 | 17:129ea1e6d783 |
---|---|
3 namespace Drupal\Tests\Component\Bridge; | 3 namespace Drupal\Tests\Component\Bridge; |
4 | 4 |
5 use Drupal\Component\Bridge\ZfExtensionManagerSfContainer; | 5 use Drupal\Component\Bridge\ZfExtensionManagerSfContainer; |
6 use PHPUnit\Framework\TestCase; | 6 use PHPUnit\Framework\TestCase; |
7 use Symfony\Component\DependencyInjection\ContainerBuilder; | 7 use Symfony\Component\DependencyInjection\ContainerBuilder; |
8 use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException; | |
9 use Zend\Feed\Reader\Extension\Atom\Entry; | |
10 use Zend\Feed\Reader\StandaloneExtensionManager; | |
8 | 11 |
9 /** | 12 /** |
10 * @coversDefaultClass \Drupal\Component\Bridge\ZfExtensionManagerSfContainer | 13 * @coversDefaultClass \Drupal\Component\Bridge\ZfExtensionManagerSfContainer |
11 * @group Bridge | 14 * @group Bridge |
12 */ | 15 */ |
13 class ZfExtensionManagerSfContainerTest extends TestCase { | 16 class ZfExtensionManagerSfContainerTest extends TestCase { |
14 | 17 |
15 /** | 18 /** |
16 * @covers ::setContainer | 19 * @covers ::setContainer |
20 * @covers ::setStandalone | |
17 * @covers ::get | 21 * @covers ::get |
18 */ | 22 */ |
19 public function testGet() { | 23 public function testGet() { |
20 $service = new \stdClass(); | 24 $service = new \stdClass(); |
21 $service->value = 'myvalue'; | 25 $service->value = 'myvalue'; |
22 $container = new ContainerBuilder(); | 26 $container = new ContainerBuilder(); |
23 $container->set('foo', $service); | 27 $container->set('foo', $service); |
24 $bridge = new ZfExtensionManagerSfContainer(); | 28 $bridge = new ZfExtensionManagerSfContainer(); |
25 $bridge->setContainer($container); | 29 $bridge->setContainer($container); |
26 $this->assertEquals($service, $bridge->get('foo')); | 30 $this->assertEquals($service, $bridge->get('foo')); |
31 $bridge->setStandalone(StandaloneExtensionManager::class); | |
32 $this->assertInstanceOf(Entry::class, $bridge->get('Atom\Entry')); | |
33 // Ensure that the container is checked first. | |
34 $container->set('atomentry', $service); | |
35 $this->assertEquals($service, $bridge->get('Atom\Entry')); | |
27 } | 36 } |
28 | 37 |
29 /** | 38 /** |
30 * @covers ::setContainer | 39 * @covers ::setContainer |
40 * @covers ::setStandalone | |
31 * @covers ::has | 41 * @covers ::has |
32 */ | 42 */ |
33 public function testHas() { | 43 public function testHas() { |
34 $service = new \stdClass(); | 44 $service = new \stdClass(); |
35 $service->value = 'myvalue'; | 45 $service->value = 'myvalue'; |
37 $container->set('foo', $service); | 47 $container->set('foo', $service); |
38 $bridge = new ZfExtensionManagerSfContainer(); | 48 $bridge = new ZfExtensionManagerSfContainer(); |
39 $bridge->setContainer($container); | 49 $bridge->setContainer($container); |
40 $this->assertTrue($bridge->has('foo')); | 50 $this->assertTrue($bridge->has('foo')); |
41 $this->assertFalse($bridge->has('bar')); | 51 $this->assertFalse($bridge->has('bar')); |
52 $this->assertFalse($bridge->has('Atom\Entry')); | |
53 $bridge->setStandalone(StandaloneExtensionManager::class); | |
54 $this->assertTrue($bridge->has('Atom\Entry')); | |
55 } | |
56 | |
57 /** | |
58 * @covers ::setStandalone | |
59 */ | |
60 public function testSetStandaloneException() { | |
61 if (method_exists($this, 'expectException')) { | |
62 $this->expectException(\RuntimeException::class); | |
63 $this->expectExceptionMessage('Drupal\Tests\Component\Bridge\ZfExtensionManagerSfContainerTest must implement Zend\Feed\Reader\ExtensionManagerInterface or Zend\Feed\Writer\ExtensionManagerInterface'); | |
64 } | |
65 else { | |
66 $this->setExpectedException(\RuntimeException::class, 'Drupal\Tests\Component\Bridge\ZfExtensionManagerSfContainerTest must implement Zend\Feed\Reader\ExtensionManagerInterface or Zend\Feed\Writer\ExtensionManagerInterface'); | |
67 } | |
68 $bridge = new ZfExtensionManagerSfContainer(); | |
69 $bridge->setStandalone(static::class); | |
70 } | |
71 | |
72 /** | |
73 * @covers ::get | |
74 */ | |
75 public function testGetContainerException() { | |
76 if (method_exists($this, 'expectException')) { | |
77 $this->expectException(ServiceNotFoundException::class); | |
78 $this->expectExceptionMessage('You have requested a non-existent service "test.foo".'); | |
79 } | |
80 else { | |
81 $this->setExpectedException(ServiceNotFoundException::class, 'You have requested a non-existent service "test.foo".'); | |
82 } | |
83 $container = new ContainerBuilder(); | |
84 $bridge = new ZfExtensionManagerSfContainer('test.'); | |
85 $bridge->setContainer($container); | |
86 $bridge->setStandalone(StandaloneExtensionManager::class); | |
87 $bridge->get('foo'); | |
42 } | 88 } |
43 | 89 |
44 /** | 90 /** |
45 * @covers ::__construct | 91 * @covers ::__construct |
46 * @covers ::has | 92 * @covers ::has |