3 namespace Drupal\Tests\Component\Bridge;
5 use Drupal\Component\Bridge\ZfExtensionManagerSfContainer;
6 use PHPUnit\Framework\TestCase;
7 use Symfony\Component\DependencyInjection\ContainerBuilder;
10 * @coversDefaultClass \Drupal\Component\Bridge\ZfExtensionManagerSfContainer
13 class ZfExtensionManagerSfContainerTest extends TestCase {
16 * @covers ::setContainer
19 public function testGet() {
20 $service = new \stdClass();
21 $service->value = 'myvalue';
22 $container = new ContainerBuilder();
23 $container->set('foo', $service);
24 $bridge = new ZfExtensionManagerSfContainer();
25 $bridge->setContainer($container);
26 $this->assertEquals($service, $bridge->get('foo'));
30 * @covers ::setContainer
33 public function testHas() {
34 $service = new \stdClass();
35 $service->value = 'myvalue';
36 $container = new ContainerBuilder();
37 $container->set('foo', $service);
38 $bridge = new ZfExtensionManagerSfContainer();
39 $bridge->setContainer($container);
40 $this->assertTrue($bridge->has('foo'));
41 $this->assertFalse($bridge->has('bar'));
45 * @covers ::__construct
49 public function testPrefix() {
50 $service = new \stdClass();
51 $service->value = 'myvalue';
52 $container = new ContainerBuilder();
53 $container->set('foo.bar', $service);
54 $bridge = new ZfExtensionManagerSfContainer('foo.');
55 $bridge->setContainer($container);
56 $this->assertTrue($bridge->has('bar'));
57 $this->assertFalse($bridge->has('baz'));
58 $this->assertEquals($service, $bridge->get('bar'));
62 * @covers ::canonicalizeName
63 * @dataProvider canonicalizeNameProvider
65 public function testCanonicalizeName($name, $canonical_name) {
66 $service = new \stdClass();
67 $service->value = 'myvalue';
68 $container = new ContainerBuilder();
69 $container->set($canonical_name, $service);
70 $bridge = new ZfExtensionManagerSfContainer();
71 $bridge->setContainer($container);
72 $this->assertTrue($bridge->has($name));
73 $this->assertEquals($service, $bridge->get($name));
77 * Data provider for testReverseProxyEnabled.
80 * array('-' => '', '_' => '', ' ' => '', '\\' => '', '/' => '')
82 public function canonicalizeNameProvider() {
108 // There is also a strtolower in canonicalizeName.