public function DefinitionTest::testTags

@covers Symfony\Component\DependencyInjection\Definition::addTag @covers Symfony\Component\DependencyInjection\Definition::getTag @covers Symfony\Component\DependencyInjection\Definition::getTags @covers Symfony\Component\DependencyInjection\Definition::hasTag

File

drupal/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php, line 215

Class

DefinitionTest

Namespace

Symfony\Component\DependencyInjection\Tests

Code

public function testTags() {
  $def = new Definition('stdClass');
  $this
    ->assertEquals(array(), $def
    ->getTag('foo'), '->getTag() returns an empty array if the tag is not defined');
  $this
    ->assertFalse($def
    ->hasTag('foo'));
  $this
    ->assertSame($def, $def
    ->addTag('foo'), '->addTag() implements a fluent interface');
  $this
    ->assertTrue($def
    ->hasTag('foo'));
  $this
    ->assertEquals(array(
    array(),
  ), $def
    ->getTag('foo'), '->getTag() returns attributes for a tag name');
  $def
    ->addTag('foo', array(
    'foo' => 'bar',
  ));
  $this
    ->assertEquals(array(
    array(),
    array(
      'foo' => 'bar',
    ),
  ), $def
    ->getTag('foo'), '->addTag() can adds the same tag several times');
  $def
    ->addTag('bar', array(
    'bar' => 'bar',
  ));
  $this
    ->assertEquals($def
    ->getTags(), array(
    'foo' => array(
      array(),
      array(
        'foo' => 'bar',
      ),
    ),
    'bar' => array(
      array(
        'bar' => 'bar',
      ),
    ),
  ), '->getTags() returns all tags');
}