diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2015-01-29 20:33:05 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2015-01-29 20:33:05 +0100 |
commit | 72d2b6f723fb5462264fed31a4d7a8e3799d2f79 (patch) | |
tree | f28c7c79b5ccf80365c536fd970038bcbba8ae79 | |
parent | 790622e9fd9516d7fe266b6664296513aaec0dcc (diff) | |
download | nextcloud-server-72d2b6f723fb5462264fed31a4d7a8e3799d2f79.tar.gz nextcloud-server-72d2b6f723fb5462264fed31a4d7a8e3799d2f79.zip |
additional inheritance tests
-rw-r--r-- | tests/lib/appframework/utility/ControllerMethodReflectorTest.php | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/tests/lib/appframework/utility/ControllerMethodReflectorTest.php b/tests/lib/appframework/utility/ControllerMethodReflectorTest.php index cd6bd57da4c..2208875b359 100644 --- a/tests/lib/appframework/utility/ControllerMethodReflectorTest.php +++ b/tests/lib/appframework/utility/ControllerMethodReflectorTest.php @@ -25,6 +25,31 @@ namespace OC\AppFramework\Utility; +class BaseController { + + /** + * @Annotation + */ + public function test(){} + + /** + * @Annotation + */ + public function test2(){} + +} + +class MiddleController extends BaseController { + + /** + * @NoAnnotation + */ + public function test2() {} + +} + +class EndController extends MiddleController {} + class ControllerMethodReflectorTest extends \Test\TestCase { @@ -96,7 +121,7 @@ class ControllerMethodReflectorTest extends \Test\TestCase { 'arguments' ); - $this->assertEquals(array('arg' => null, 'arg2' => 'hi'), $reader->getParameters()); + $this->assertEquals(array('arg' => null, 'arg2' => 'hi'), $reader->getParameters()); } @@ -108,7 +133,24 @@ class ControllerMethodReflectorTest extends \Test\TestCase { 'arguments2' ); - $this->assertEquals(array('arg' => null), $reader->getParameters()); + $this->assertEquals(array('arg' => null), $reader->getParameters()); + } + + + public function testInheritance() { + $reader = new ControllerMethodReflector(); + $reader->reflect('OC\AppFramework\Utility\EndController', 'test'); + + $this->assertTrue($reader->hasAnnotation('Annotation')); + } + + + public function testInheritanceOverride() { + $reader = new ControllerMethodReflector(); + $reader->reflect('OC\AppFramework\Utility\EndController', 'test2'); + + $this->assertTrue($reader->hasAnnotation('NoAnnotation')); + $this->assertFalse($reader->hasAnnotation('Annotation')); } |