You are here

class MethodTagTest in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php \phpDocumentor\Reflection\DocBlock\Tag\MethodTagTest

Test class for \phpDocumentor\Reflection\DocBlock\Tag\MethodTag

@author Mike van Riel <mike.vanriel@naenius.com> @copyright 2010-2011 Mike van Riel / Naenius. (http://www.naenius.com) @license http://www.opensource.org/licenses/mit-license.php MIT @link http://phpdoc.org

Hierarchy

  • class \phpDocumentor\Reflection\DocBlock\Tag\MethodTagTest extends \phpDocumentor\Reflection\DocBlock\Tag\PHPUnit_Framework_TestCase

Expanded class hierarchy of MethodTagTest

File

vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php, line 23

Namespace

phpDocumentor\Reflection\DocBlock\Tag
View source
class MethodTagTest extends \PHPUnit_Framework_TestCase {

  /**
   * @param string $signature       The signature to test.
   * @param bool   $valid           Whether the given signature is expected to
   *     be valid.
   * @param string $expected_name   The method name that is expected from this
   *     signature.
   * @param string $expected_return The return type that is expected from this
   *     signature.
   * @param bool   $paramCount      Number of parameters in the signature.
   * @param string $description     The short description mentioned in the
   *     signature.
   *
   * @covers \phpDocumentor\Reflection\DocBlock\Tag\MethodTag
   * @dataProvider getTestSignatures
   *
   * @return void
   */
  public function testConstruct($signature, $valid, $expected_name, $expected_return, $expected_isStatic, $paramCount, $description) {
    ob_start();
    $tag = new MethodTag('method', $signature);
    $stdout = ob_get_clean();
    $this
      ->assertSame($valid, empty($stdout), 'No error should have been output if the signature is valid');
    if (!$valid) {
      return;
    }
    $this
      ->assertEquals($expected_name, $tag
      ->getMethodName());
    $this
      ->assertEquals($expected_return, $tag
      ->getType());
    $this
      ->assertEquals($description, $tag
      ->getDescription());
    $this
      ->assertEquals($expected_isStatic, $tag
      ->isStatic());
    $this
      ->assertCount($paramCount, $tag
      ->getArguments());
  }
  public function getTestSignatures() {
    return array(
      // TODO: Verify this case
      //            array(
      //                'foo',
      //                false, 'foo', '', false, 0, ''
      //            ),
      array(
        'foo()',
        true,
        'foo',
        'void',
        false,
        0,
        '',
      ),
      array(
        'foo() description',
        true,
        'foo',
        'void',
        false,
        0,
        'description',
      ),
      array(
        'int foo()',
        true,
        'foo',
        'int',
        false,
        0,
        '',
      ),
      array(
        'int foo() description',
        true,
        'foo',
        'int',
        false,
        0,
        'description',
      ),
      array(
        'int foo($a, $b)',
        true,
        'foo',
        'int',
        false,
        2,
        '',
      ),
      array(
        'int foo() foo(int $a, int $b)',
        true,
        'foo',
        'int',
        false,
        2,
        '',
      ),
      array(
        'int foo(int $a, int $b)',
        true,
        'foo',
        'int',
        false,
        2,
        '',
      ),
      array(
        'null|int foo(int $a, int $b)',
        true,
        'foo',
        'null|int',
        false,
        2,
        '',
      ),
      array(
        'int foo(null|int $a, int $b)',
        true,
        'foo',
        'int',
        false,
        2,
        '',
      ),
      array(
        '\\Exception foo() foo(Exception $a, Exception $b)',
        true,
        'foo',
        '\\Exception',
        false,
        2,
        '',
      ),
      array(
        'int foo() foo(Exception $a, Exception $b) description',
        true,
        'foo',
        'int',
        false,
        2,
        'description',
      ),
      array(
        'int foo() foo(\\Exception $a, \\Exception $b) description',
        true,
        'foo',
        'int',
        false,
        2,
        'description',
      ),
      array(
        'void()',
        true,
        'void',
        'void',
        false,
        0,
        '',
      ),
      array(
        'static foo()',
        true,
        'foo',
        'static',
        false,
        0,
        '',
      ),
      array(
        'static void foo()',
        true,
        'foo',
        'void',
        true,
        0,
        '',
      ),
      array(
        'static static foo()',
        true,
        'foo',
        'static',
        true,
        0,
        '',
      ),
    );
  }

}

Members