123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
-
- namespace Doctrine\Tests\Common\Annotations;
-
- use Doctrine\Common\Annotations\PhpParser;
-
- require_once __DIR__.'/AnnotationReaderTest.php';
- require_once __DIR__.'/Fixtures/NonNamespacedClass.php';
-
- class PhpParserTest extends \PHPUnit_Framework_TestCase
- {
- public function testParseClassWithMultipleClassesInFile()
- {
- $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\MultipleClassesInFile');
- $parser = new PhpParser();
-
- $this->assertEquals(array(
- 'route' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route',
- 'secure' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure',
- ), $parser->parseClass($class));
- }
-
- public function testParseClassWithMultipleImportsInUseStatement()
- {
- $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\MultipleImportsInUseStatement');
- $parser = new PhpParser();
-
- $this->assertEquals(array(
- 'route' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route',
- 'secure' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure',
- ), $parser->parseClass($class));
- }
-
- public function testParseClassWhenNotUserDefined()
- {
- $parser = new PhpParser();
- $this->assertEquals(array(), $parser->parseClass(new \ReflectionClass('\stdClass')));
- }
-
- public function testParseClassWhenClassIsNotNamespaced()
- {
- $parser = new PhpParser();
- $class = new \ReflectionClass('\AnnotationsTestsFixturesNonNamespacedClass');
-
- $this->assertEquals(array(
- 'route' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Route',
- 'template' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Template',
- ), $parser->parseClass($class));
- }
-
- public function testParseClassWhenClassIsInterface()
- {
- $parser = new PhpParser();
- $class = new \ReflectionClass('Doctrine\Tests\Common\Annotations\Fixtures\TestInterface');
-
- $this->assertEquals(array(
- 'secure' => 'Doctrine\Tests\Common\Annotations\Fixtures\Annotation\Secure',
- ), $parser->parseClass($class));
- }
- }
|