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