| <?php |
| /** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0 |
| * @version //autogen// |
| * @filesource |
| * @package Reflection |
| * @subpackage Tests |
| */ |
| |
| /** |
| * This is an optional test case for the integration of the staticReflection. |
| * |
| * It is only activated when the code of staticReflection is provided in |
| * Reflection/tests/staticReflection |
| */ |
| class ezcReflectionMethodStaticTest extends ezcReflectionMethodTest |
| { |
| protected function setUpFixtures() { |
| $session = new pdepend\reflection\ReflectionSession(); |
| $array = array( |
| 'TestMethods' => dirname( __FILE__ ) . '/test_classes/methods.php', |
| 'TestMethods2' => dirname( __FILE__ ) . '/test_classes/methods2.php', |
| ); |
| $resolver = new pdepend\reflection\resolvers\AutoloadArrayResolver( $array ); |
| //$resolver = new pdepend\reflection\resolvers\AutoloadArrayResolver( include( '../src/reflection_autoload.php' ) ); |
| $session->addClassFactory( |
| new pdepend\reflection\factories\StaticReflectionClassFactory( |
| new pdepend\reflection\ReflectionClassProxyContext( $session ), $resolver |
| ) |
| ); |
| $session->addClassFactory( |
| new pdepend\reflection\factories\InternalReflectionClassFactory() |
| ); |
| |
| // ezcReflectionMethods obtained from staticReflectionClass |
| $classTestMethods = new ezcReflectionClass( $session->getClass( 'TestMethods' ) ); |
| $this->fctM1 = $classTestMethods->getMethod( 'm1' ); |
| $this->fctM2 = $classTestMethods->getMethod( 'm2' ); |
| $this->fctM3 = $classTestMethods->getMethod( 'm3' ); |
| $this->fctM4 = $classTestMethods->getMethod( 'm4' ); |
| $classTestMethods2 = new ezcReflectionClass( $session->getClass( 'TestMethods2' ) ); |
| $classTestMethods2DYNAMIC = new ezcReflectionClass( 'TestMethods2' ); |
| $this->ezc_TestMethods2_m1 = $classTestMethods2DYNAMIC->getMethod( 'm1' ); |
| $this->ezc_TestMethods2_m2 = $classTestMethods2->getMethod( 'm2' ); |
| $this->ezc_TestMethods2_m3 = $classTestMethods2DYNAMIC->getMethod( 'm3' ); |
| $this->ezc_TestMethods2_m4 = $classTestMethods2DYNAMIC->getMethod( 'm4' ); |
| $this->ezc_TestMethods2_newMethod = $classTestMethods2->getMethod( 'newMethod' ); |
| $classReflectionClass = new ezcReflectionClass( $session->getClass( 'ReflectionClass' ) ); |
| $this->fct_method_exists = $classReflectionClass->getMethod( 'hasMethod' ); |
| $classReflectionMethod = new ezcReflectionClass( $session->getClass( 'ReflectionMethod' ) ); |
| $this->ezc_ReflectionMethod_isInternal = $classReflectionMethod->getMethod( 'isInternal' ); |
| $classEzcReflectionMethod = new ezcReflectionClass( $session->getClass( 'ezcReflectionMethod' ) ); |
| $this->ezc_ezcReflectionMethod_isInternal = $classEzcReflectionMethod->getMethod( 'isInternal' ); |
| $this->ezc_ezcReflectionMethod_isInherited = $classEzcReflectionMethod->getMethod( 'isInherited' ); |
| $this->ezc_ezcReflectionMethod_getAnnotations = $classEzcReflectionMethod->getMethod( 'getAnnotations' ); |
| } |
| |
| /** |
| * @dataProvider getWrapperMethods |
| */ |
| public function testWrapperMethods( $method, $arguments ) { |
| if ( $method != 'getPrototype' ) { // getPrototype is not yet implemented in staticReflection |
| parent::testWrapperMethods( $method, $arguments ); |
| } |
| } |
| |
| public static function suite() |
| { |
| return new PHPUnit_Framework_TestSuite( __CLASS__ ); |
| } |
| } |