Skip to content
Snippets Groups Projects
Commit bd5440a8 authored by Lukas Reschke's avatar Lukas Reschke
Browse files

Merge pull request #13780 from owncloud/cmreflector-inheritance

Additional controllermethodreflector inheritance tests
parents 8e8acad5 81836ccc
Branches
No related tags found
No related merge requests found
......@@ -25,6 +25,38 @@
namespace OC\AppFramework\Utility;
class BaseController {
/**
* @Annotation
*/
public function test(){}
/**
* @Annotation
*/
public function test2(){}
/**
* @Annotation
*/
public function test3(){}
}
class MiddleController extends BaseController {
/**
* @NoAnnotation
*/
public function test2() {}
public function test3() {}
}
class EndController extends MiddleController {}
class ControllerMethodReflectorTest extends \Test\TestCase {
......@@ -96,7 +128,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,8 +140,32 @@ 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'));
}
public function testInheritanceOverrideNoDocblock() {
$reader = new ControllerMethodReflector();
$reader->reflect('OC\AppFramework\Utility\EndController', 'test3');
$this->assertFalse($reader->hasAnnotation('Annotation'));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment