public function DocParserTest::testAnnotationWithoutConstructor

File

drupal/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Annotations/DocParserTest.php, line 159

Class

DocParserTest

Namespace

Doctrine\Tests\Common\Annotations

Code

public function testAnnotationWithoutConstructor() {
  $parser = $this
    ->createTestParser();
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationClassNameWithoutConstructor("Some data")
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $annot = $result[0];
  $this
    ->assertNotNull($annot);
  $this
    ->assertTrue($annot instanceof SomeAnnotationClassNameWithoutConstructor);
  $this
    ->assertNull($annot->name);
  $this
    ->assertNotNull($annot->data);
  $this
    ->assertEquals($annot->data, "Some data");
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationClassNameWithoutConstructor(name="Some Name", data = "Some data")
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $annot = $result[0];
  $this
    ->assertNotNull($annot);
  $this
    ->assertTrue($annot instanceof SomeAnnotationClassNameWithoutConstructor);
  $this
    ->assertEquals($annot->name, "Some Name");
  $this
    ->assertEquals($annot->data, "Some data");
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationClassNameWithoutConstructor(data = "Some data")
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $annot = $result[0];
  $this
    ->assertEquals($annot->data, "Some data");
  $this
    ->assertNull($annot->name);
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationClassNameWithoutConstructor(name = "Some name")
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $annot = $result[0];
  $this
    ->assertEquals($annot->name, "Some name");
  $this
    ->assertNull($annot->data);
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationClassNameWithoutConstructor("Some data")
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $annot = $result[0];
  $this
    ->assertEquals($annot->data, "Some data");
  $this
    ->assertNull($annot->name);
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationClassNameWithoutConstructor("Some data",name = "Some name")
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $annot = $result[0];
  $this
    ->assertEquals($annot->name, "Some name");
  $this
    ->assertEquals($annot->data, "Some data");
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationWithConstructorWithoutParams(name = "Some name")
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $annot = $result[0];
  $this
    ->assertEquals($annot->name, "Some name");
  $this
    ->assertEquals($annot->data, "Some data");
  $docblock = <<<DOCBLOCK
/**
 * @SomeAnnotationClassNameWithoutConstructorAndProperties()
 */
DOCBLOCK;
  $result = $parser
    ->parse($docblock);
  $this
    ->assertEquals(count($result), 1);
  $this
    ->assertTrue($result[0] instanceof SomeAnnotationClassNameWithoutConstructorAndProperties);
}