summaryrefslogtreecommitdiffstats
path: root/tests/lib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib')
-rw-r--r--tests/lib/appframework/controller/ControllerTest.php55
-rw-r--r--tests/lib/appframework/http/DispatcherTest.php164
-rw-r--r--tests/lib/appframework/http/TemplateResponseTest.php46
-rw-r--r--tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php33
-rw-r--r--tests/lib/appframework/utility/ControllerMethodReflectorTest.php115
-rw-r--r--tests/lib/appframework/utility/MethodAnnotationReaderTest.php55
6 files changed, 361 insertions, 107 deletions
diff --git a/tests/lib/appframework/controller/ControllerTest.php b/tests/lib/appframework/controller/ControllerTest.php
index b6c83125da1..4785c686f27 100644
--- a/tests/lib/appframework/controller/ControllerTest.php
+++ b/tests/lib/appframework/controller/ControllerTest.php
@@ -26,9 +26,31 @@ namespace OCP\AppFramework;
use OC\AppFramework\Http\Request;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\AppFramework\Http\JSONResponse;
+use OCP\AppFramework\Http\IResponseSerializer;
-class ChildController extends Controller {};
+class ToUpperCaseSerializer implements IResponseSerializer {
+ public function serialize($response) {
+ return array(strtoupper($response));
+ }
+}
+
+class ChildController extends Controller {
+ public function custom($in) {
+ $this->registerFormatter('json', function ($response) {
+ return new JSONResponse(array(strlen($response)));
+ });
+
+ return $in;
+ }
+
+ public function serializer($in) {
+ $this->registerSerializer(new ToUpperCaseSerializer());
+
+ return $in;
+ }
+};
class ControllerTest extends \PHPUnit_Framework_TestCase {
@@ -129,4 +151,35 @@ class ControllerTest extends \PHPUnit_Framework_TestCase {
}
+ /**
+ * @expectedException \DomainException
+ */
+ public function testFormatResonseInvalidFormat() {
+ $this->controller->formatResponse(null, 'test');
+ }
+
+
+ public function testFormat() {
+ $response = $this->controller->formatResponse(array('hi'), 'json');
+
+ $this->assertEquals(array('hi'), $response->getData());
+ }
+
+
+ public function testCustomFormatter() {
+ $response = $this->controller->custom('hi');
+ $response = $this->controller->formatResponse($response, 'json');
+
+ $this->assertEquals(array(2), $response->getData());
+ }
+
+
+ public function testCustomSerializer() {
+ $response = $this->controller->serializer('hi');
+ $response = $this->controller->formatResponse($response, 'json');
+
+ $this->assertEquals(array('HI'), $response->getData());
+ }
+
+
}
diff --git a/tests/lib/appframework/http/DispatcherTest.php b/tests/lib/appframework/http/DispatcherTest.php
index 9841dcaa1f7..ba1e989cce9 100644
--- a/tests/lib/appframework/http/DispatcherTest.php
+++ b/tests/lib/appframework/http/DispatcherTest.php
@@ -25,8 +25,28 @@
namespace OC\AppFramework\Http;
use OC\AppFramework\Middleware\MiddlewareDispatcher;
+use OC\AppFramework\Utility\ControllerMethodReflector;
use OCP\AppFramework\Http;
-//require_once(__DIR__ . "/../classloader.php");
+use OCP\AppFramework\Http\JSONResponse;
+use OCP\AppFramework\Controller;
+
+
+class TestController extends Controller {
+ public function __construct($appName, $request) {
+ parent::__construct($appName, $request);
+ }
+
+ /**
+ * @param int $int
+ * @param bool $bool
+ */
+ public function exec($int, $bool) {
+ $this->registerFormatter('text', function($in) {
+ return new JSONResponse(array('text' => $in));
+ });
+ return array($int, $bool);
+ }
+}
class DispatcherTest extends \PHPUnit_Framework_TestCase {
@@ -39,6 +59,7 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
private $lastModified;
private $etag;
private $http;
+ private $reflector;
protected function setUp() {
$this->controllerMethod = 'test';
@@ -64,8 +85,17 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
'\OCP\AppFramework\Controller',
array($this->controllerMethod), array($app, $request));
+ $this->request = $this->getMockBuilder(
+ '\OC\AppFramework\Http\Request')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $this->reflector = new ControllerMethodReflector();
+
$this->dispatcher = new Dispatcher(
- $this->http, $this->middlewareDispatcher);
+ $this->http, $this->middlewareDispatcher, $this->reflector,
+ $this->request
+ );
$this->response = $this->getMockBuilder(
'\OCP\AppFramework\Http\Response')
@@ -81,7 +111,7 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
* @param string $out
* @param string $httpHeaders
*/
- private function setMiddlewareExpections($out=null,
+ private function setMiddlewareExpectations($out=null,
$httpHeaders=null, $responseHeaders=array(),
$ex=false, $catchEx=true) {
@@ -159,14 +189,12 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
->with($this->equalTo($this->controller),
$this->equalTo($this->controllerMethod),
$this->equalTo($out))
- ->will($this->returnValue($out));
-
-
+ ->will($this->returnValue($out));
}
public function testDispatcherReturnsArrayWith2Entries() {
- $this->setMiddlewareExpections();
+ $this->setMiddlewareExpectations();
$response = $this->dispatcher->dispatch($this->controller,
$this->controllerMethod);
@@ -180,7 +208,7 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
$out = 'yo';
$httpHeaders = 'Http';
$responseHeaders = array('hell' => 'yeah');
- $this->setMiddlewareExpections($out, $httpHeaders, $responseHeaders);
+ $this->setMiddlewareExpectations($out, $httpHeaders, $responseHeaders);
$response = $this->dispatcher->dispatch($this->controller,
$this->controllerMethod);
@@ -195,7 +223,7 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
$out = 'yo';
$httpHeaders = 'Http';
$responseHeaders = array('hell' => 'yeah');
- $this->setMiddlewareExpections($out, $httpHeaders, $responseHeaders, true);
+ $this->setMiddlewareExpectations($out, $httpHeaders, $responseHeaders, true);
$response = $this->dispatcher->dispatch($this->controller,
$this->controllerMethod);
@@ -210,7 +238,7 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
$out = 'yo';
$httpHeaders = 'Http';
$responseHeaders = array('hell' => 'yeah');
- $this->setMiddlewareExpections($out, $httpHeaders, $responseHeaders, true, false);
+ $this->setMiddlewareExpectations($out, $httpHeaders, $responseHeaders, true, false);
$this->setExpectedException('\Exception');
$response = $this->dispatcher->dispatch($this->controller,
@@ -218,4 +246,120 @@ class DispatcherTest extends \PHPUnit_Framework_TestCase {
}
+
+ private function dispatcherPassthrough() {
+ $this->middlewareDispatcher->expects($this->once())
+ ->method('beforeController');
+ $this->middlewareDispatcher->expects($this->once())
+ ->method('afterController')
+ ->will($this->returnCallback(function($a, $b, $in) {
+ return $in;
+ }));
+ $this->middlewareDispatcher->expects($this->once())
+ ->method('beforeOutput')
+ ->will($this->returnCallback(function($a, $b, $in) {
+ return $in;
+ }));
+ }
+
+ public function testControllerParametersInjected() {
+ $this->request = new Request(array(
+ 'post' => array(
+ 'int' => '3',
+ 'bool' => 'false'
+ ),
+ 'method' => 'POST'
+ ));
+ $this->dispatcher = new Dispatcher(
+ $this->http, $this->middlewareDispatcher, $this->reflector,
+ $this->request
+ );
+ $controller = new TestController('app', $this->request);
+
+ // reflector is supposed to be called once
+ $this->dispatcherPassthrough();
+ $response = $this->dispatcher->dispatch($controller, 'exec');
+
+ $this->assertEquals('[3,true]', $response[2]);
+ }
+
+
+ public function testResponseTransformedByUrlFormat() {
+ $this->request = new Request(array(
+ 'post' => array(
+ 'int' => '3',
+ 'bool' => 'false'
+ ),
+ 'urlParams' => array(
+ 'format' => 'text'
+ ),
+ 'method' => 'GET'
+ ));
+ $this->dispatcher = new Dispatcher(
+ $this->http, $this->middlewareDispatcher, $this->reflector,
+ $this->request
+ );
+ $controller = new TestController('app', $this->request);
+
+ // reflector is supposed to be called once
+ $this->dispatcherPassthrough();
+ $response = $this->dispatcher->dispatch($controller, 'exec');
+
+ $this->assertEquals('{"text":[3,false]}', $response[2]);
+ }
+
+
+ public function testResponseTransformedByAcceptHeader() {
+ $this->request = new Request(array(
+ 'post' => array(
+ 'int' => '3',
+ 'bool' => 'false'
+ ),
+ 'server' => array(
+ 'HTTP_ACCEPT' => 'application/text, test',
+ 'HTTP_CONTENT_TYPE' => 'application/x-www-form-urlencoded'
+ ),
+ 'method' => 'POST'
+ ));
+ $this->dispatcher = new Dispatcher(
+ $this->http, $this->middlewareDispatcher, $this->reflector,
+ $this->request
+ );
+ $controller = new TestController('app', $this->request);
+
+ // reflector is supposed to be called once
+ $this->dispatcherPassthrough();
+ $response = $this->dispatcher->dispatch($controller, 'exec');
+
+ $this->assertEquals('{"text":[3,false]}', $response[2]);
+ }
+
+
+ public function testResponsePrimarilyTransformedByParameterFormat() {
+ $this->request = new Request(array(
+ 'post' => array(
+ 'int' => '3',
+ 'bool' => 'false'
+ ),
+ 'get' => array(
+ 'format' => 'text'
+ ),
+ 'server' => array(
+ 'HTTP_ACCEPT' => 'application/json, test'
+ ),
+ 'method' => 'POST'
+ ));
+ $this->dispatcher = new Dispatcher(
+ $this->http, $this->middlewareDispatcher, $this->reflector,
+ $this->request
+ );
+ $controller = new TestController('app', $this->request);
+
+ // reflector is supposed to be called once
+ $this->dispatcherPassthrough();
+ $response = $this->dispatcher->dispatch($controller, 'exec');
+
+ $this->assertEquals('{"text":[3,true]}', $response[2]);
+ }
+
}
diff --git a/tests/lib/appframework/http/TemplateResponseTest.php b/tests/lib/appframework/http/TemplateResponseTest.php
index 0b158edff6f..29ce8cf224a 100644
--- a/tests/lib/appframework/http/TemplateResponseTest.php
+++ b/tests/lib/appframework/http/TemplateResponseTest.php
@@ -51,6 +51,22 @@ class TemplateResponseTest extends \PHPUnit_Framework_TestCase {
}
+ public function testSetParamsConstructor(){
+ $params = array('hi' => 'yo');
+ $this->tpl = new TemplateResponse($this->api, 'home', $params);
+
+ $this->assertEquals(array('hi' => 'yo'), $this->tpl->getParams());
+ }
+
+
+ public function testSetRenderAsConstructor(){
+ $renderAs = 'myrender';
+ $this->tpl = new TemplateResponse($this->api, 'home', array(), $renderAs);
+
+ $this->assertEquals($renderAs, $this->tpl->getRenderAs());
+ }
+
+
public function testSetParams(){
$params = array('hi' => 'yo');
$this->tpl->setParams($params);
@@ -63,36 +79,6 @@ class TemplateResponseTest extends \PHPUnit_Framework_TestCase {
$this->assertEquals('home', $this->tpl->getTemplateName());
}
-
-// public function testRender(){
-// $ocTpl = $this->getMock('Template', array('fetchPage'));
-// $ocTpl->expects($this->once())
-// ->method('fetchPage');
-//
-// $tpl = new TemplateResponse('core', 'error');
-//
-// $tpl->render();
-// }
-//
-//
-// public function testRenderAssignsParams(){
-// $params = array('john' => 'doe');
-//
-// $tpl = new TemplateResponse('app', 'home');
-// $tpl->setParams($params);
-//
-// $tpl->render();
-// }
-//
-//
-// public function testRenderDifferentApp(){
-//
-// $tpl = new TemplateResponse('app', 'home', 'app2');
-//
-// $tpl->render();
-// }
-
-
public function testGetRenderAs(){
$render = 'myrender';
$this->tpl->renderAs($render);
diff --git a/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php b/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php
index 19e8a68c388..e91aaca25a0 100644
--- a/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php
+++ b/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php
@@ -26,6 +26,7 @@ namespace OC\AppFramework\Middleware\Security;
use OC\AppFramework\Http;
use OC\AppFramework\Http\Request;
+use OC\AppFramework\Utility\ControllerMethodReflector;
use OCP\AppFramework\Http\RedirectResponse;
use OCP\AppFramework\Http\JSONResponse;
@@ -37,14 +38,16 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
private $secException;
private $secAjaxException;
private $request;
+ private $reader;
public function setUp() {
$api = $this->getMock('OC\AppFramework\DependencyInjection\DIContainer', array(), array('test'));
$this->controller = $this->getMock('OCP\AppFramework\Controller',
array(), array($api, new Request()));
+ $this->reader = new ControllerMethodReflector();
$this->request = new Request();
- $this->middleware = new SecurityMiddleware($api, $this->request);
+ $this->middleware = new SecurityMiddleware($api, $this->request, $this->reader);
$this->secException = new SecurityException('hey', false);
$this->secAjaxException = new SecurityException('hey', true);
}
@@ -68,7 +71,8 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
$api->expects($this->any())->method('getServer')
->will($this->returnValue($serverMock));
- $sec = new SecurityMiddleware($api, $this->request);
+ $sec = new SecurityMiddleware($api, $this->request, $this->reader);
+ $this->reader->reflect('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', $method);
$sec->beforeController('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', $method);
}
@@ -99,11 +103,12 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
->will($this->returnValue(true));
}
- $sec = new SecurityMiddleware($api, $this->request);
+ $sec = new SecurityMiddleware($api, $this->request, $this->reader);
try {
- $sec->beforeController('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest',
- $method);
+ $controller = '\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest';
+ $this->reader->reflect($controller, $method);
+ $sec->beforeController($controller, $method);
} catch (SecurityException $ex){
$this->assertEquals($status, $ex->getCode());
}
@@ -184,7 +189,9 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
->method('isLoggedIn')
->will($this->returnValue(true));
- $sec = new SecurityMiddleware($api, $this->request);
+ $sec = new SecurityMiddleware($api, $this->request, $this->reader);
+ $this->reader->reflect('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest',
+ 'testNoChecks');
$sec->beforeController('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest',
'testNoChecks');
}
@@ -207,7 +214,7 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
->will($this->returnValue(true));
}
- $sec = new SecurityMiddleware($api, $this->request);
+ $sec = new SecurityMiddleware($api, $this->request, $this->reader);
if($shouldFail){
$this->setExpectedException('\OC\AppFramework\Middleware\Security\SecurityException');
@@ -215,6 +222,7 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
$this->setExpectedException(null);
}
+ $this->reader->reflect('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', $method);
$sec->beforeController('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', $method);
}
@@ -230,7 +238,8 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
->method('passesCSRFCheck')
->will($this->returnValue(false));
- $sec = new SecurityMiddleware($api, $request);
+ $sec = new SecurityMiddleware($api, $request, $this->reader);
+ $this->reader->reflect('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', 'testCsrfCheck');
$sec->beforeController('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', 'testCsrfCheck');
}
@@ -246,7 +255,8 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
->method('passesCSRFCheck')
->will($this->returnValue(false));
- $sec = new SecurityMiddleware($api, $request);
+ $sec = new SecurityMiddleware($api, $request, $this->reader);
+ $this->reader->reflect('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', 'testNoCsrfCheck');
$sec->beforeController('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', 'testNoCsrfCheck');
}
@@ -261,7 +271,8 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
->method('passesCSRFCheck')
->will($this->returnValue(true));
- $sec = new SecurityMiddleware($api, $request);
+ $sec = new SecurityMiddleware($api, $request, $this->reader);
+ $this->reader->reflect('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', 'testFailCsrfCheck');
$sec->beforeController('\OC\AppFramework\Middleware\Security\SecurityMiddlewareTest', 'testFailCsrfCheck');
}
@@ -318,7 +329,7 @@ class SecurityMiddlewareTest extends \PHPUnit_Framework_TestCase {
$this->request = new Request(
array('server' => array('HTTP_ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')));
- $this->middleware = new SecurityMiddleware($api, $this->request);
+ $this->middleware = new SecurityMiddleware($api, $this->request, $this->reader);
$response = $this->middleware->afterException($this->controller, 'test',
$this->secException);
diff --git a/tests/lib/appframework/utility/ControllerMethodReflectorTest.php b/tests/lib/appframework/utility/ControllerMethodReflectorTest.php
new file mode 100644
index 00000000000..2a7c0031581
--- /dev/null
+++ b/tests/lib/appframework/utility/ControllerMethodReflectorTest.php
@@ -0,0 +1,115 @@
+<?php
+
+/**
+ * ownCloud - App Framework
+ *
+ * @author Bernhard Posselt
+ * @copyright 2012 Bernhard Posselt nukeawhale@gmail.com
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+
+namespace OC\AppFramework\Utility;
+
+
+class ControllerMethodReflectorTest extends \PHPUnit_Framework_TestCase {
+
+
+ /**
+ * @Annotation
+ */
+ public function testReadAnnotation(){
+ $reader = new ControllerMethodReflector();
+ $reader->reflect(
+ '\OC\AppFramework\Utility\ControllerMethodReflectorTest',
+ 'testReadAnnotation'
+ );
+
+ $this->assertTrue($reader->hasAnnotation('Annotation'));
+ }
+
+
+ /**
+ * @Annotation
+ * @param test
+ */
+ public function testReadAnnotationNoLowercase(){
+ $reader = new ControllerMethodReflector();
+ $reader->reflect(
+ '\OC\AppFramework\Utility\ControllerMethodReflectorTest',
+ 'testReadAnnotationNoLowercase'
+ );
+
+ $this->assertTrue($reader->hasAnnotation('Annotation'));
+ $this->assertFalse($reader->hasAnnotation('param'));
+ }
+
+
+ /**
+ * @Annotation
+ * @param int $test
+ */
+ public function testReadTypeIntAnnotations(){
+ $reader = new ControllerMethodReflector();
+ $reader->reflect(
+ '\OC\AppFramework\Utility\ControllerMethodReflectorTest',
+ 'testReadTypeIntAnnotations'
+ );
+
+ $this->assertEquals('int', $reader->getType('test'));
+ }
+
+
+ /**
+ * @Annotation
+ * @param double $test
+ */
+ public function testReadTypeDoubleAnnotations(){
+ $reader = new ControllerMethodReflector();
+ $reader->reflect(
+ '\OC\AppFramework\Utility\ControllerMethodReflectorTest',
+ 'testReadTypeDoubleAnnotations'
+ );
+
+ $this->assertEquals('double', $reader->getType('test'));
+ }
+
+
+ public function arguments($arg, $arg2) {}
+ public function testReflectParameters() {
+ $reader = new ControllerMethodReflector();
+ $reader->reflect(
+ '\OC\AppFramework\Utility\ControllerMethodReflectorTest',
+ 'arguments'
+ );
+
+ $this->assertEquals(array('arg', 'arg2'), $reader->getParameters());
+ }
+
+
+ public function arguments2($arg) {}
+ public function testReflectParameters2() {
+ $reader = new ControllerMethodReflector();
+ $reader->reflect(
+ '\OC\AppFramework\Utility\ControllerMethodReflectorTest',
+ 'arguments2'
+ );
+
+ $this->assertEquals(array('arg',), $reader->getParameters());
+ }
+
+
+}
diff --git a/tests/lib/appframework/utility/MethodAnnotationReaderTest.php b/tests/lib/appframework/utility/MethodAnnotationReaderTest.php
deleted file mode 100644
index c68812aa5c7..00000000000
--- a/tests/lib/appframework/utility/MethodAnnotationReaderTest.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/**
- * ownCloud - App Framework
- *
- * @author Bernhard Posselt
- * @copyright 2012 Bernhard Posselt nukeawhale@gmail.com
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-
-namespace OC\AppFramework\Utility;
-
-
-class MethodAnnotationReaderTest extends \PHPUnit_Framework_TestCase {
-
-
- /**
- * @Annotation
- */
- public function testReadAnnotation(){
- $reader = new MethodAnnotationReader('\OC\AppFramework\Utility\MethodAnnotationReaderTest',
- 'testReadAnnotation');
-
- $this->assertTrue($reader->hasAnnotation('Annotation'));
- }
-
-
- /**
- * @Annotation
- * @param test
- */
- public function testReadAnnotationNoLowercase(){
- $reader = new MethodAnnotationReader('\OC\AppFramework\Utility\MethodAnnotationReaderTest',
- 'testReadAnnotationNoLowercase');
-
- $this->assertTrue($reader->hasAnnotation('Annotation'));
- $this->assertFalse($reader->hasAnnotation('param'));
- }
-
-
-}