diff options
author | Bernhard Posselt <Raydiation@users.noreply.github.com> | 2015-06-22 10:35:28 +0200 |
---|---|---|
committer | Bernhard Posselt <Raydiation@users.noreply.github.com> | 2015-06-22 10:35:28 +0200 |
commit | 7fe5ab4d4a43efb0384e59012fa1934acae7d6dc (patch) | |
tree | 179db751fed38d669e1053537a2cafa51f9ac1c2 | |
parent | c77e44117d1cdb45a224e3f370acbb09f1b095dc (diff) | |
parent | f1e3e2515856816fabbd0836ddc24495d35c2edf (diff) | |
download | nextcloud-server-7fe5ab4d4a43efb0384e59012fa1934acae7d6dc.tar.gz nextcloud-server-7fe5ab4d4a43efb0384e59012fa1934acae7d6dc.zip |
Merge pull request #17056 from owncloud/appframework-type-cast
Allow multiple whitespace in type hints in AppFramework
-rw-r--r-- | lib/private/appframework/utility/controllermethodreflector.php | 2 | ||||
-rw-r--r-- | tests/lib/appframework/utility/ControllerMethodReflectorTest.php | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/private/appframework/utility/controllermethodreflector.php b/lib/private/appframework/utility/controllermethodreflector.php index 93510093c08..e013a74253a 100644 --- a/lib/private/appframework/utility/controllermethodreflector.php +++ b/lib/private/appframework/utility/controllermethodreflector.php @@ -59,7 +59,7 @@ class ControllerMethodReflector implements IControllerMethodReflector{ $this->annotations = $matches[1]; // extract type parameter information - preg_match_all('/@param (?P<type>\w+) \$(?P<var>\w+)/', $docs, $matches); + preg_match_all('/@param\h+(?P<type>\w+)\h+\$(?P<var>\w+)/', $docs, $matches); // this is just a fix for PHP 5.3 (array_combine raises warning if called with // two empty arrays if($matches['var'] === array() && $matches['type'] === array()) { diff --git a/tests/lib/appframework/utility/ControllerMethodReflectorTest.php b/tests/lib/appframework/utility/ControllerMethodReflectorTest.php index c513e23cd6b..a584b5481ba 100644 --- a/tests/lib/appframework/utility/ControllerMethodReflectorTest.php +++ b/tests/lib/appframework/utility/ControllerMethodReflectorTest.php @@ -119,6 +119,20 @@ class ControllerMethodReflectorTest extends \Test\TestCase { $this->assertEquals('double', $reader->getType('test')); } + /** + * @Annotation + * @param string $foo + */ + public function testReadTypeWhitespaceAnnotations(){ + $reader = new ControllerMethodReflector(); + $reader->reflect( + '\OC\AppFramework\Utility\ControllerMethodReflectorTest', + 'testReadTypeWhitespaceAnnotations' + ); + + $this->assertEquals('string', $reader->getType('foo')); + } + public function arguments($arg, $arg2='hi') {} public function testReflectParameters() { |