getMethods() public method

Gets the list of methods on a class or interface.
public getMethods ( )
Esempio n. 1
0
 function testMethodsListFromClass()
 {
     $reflection = new SimpleReflection('AnyOldThing');
     $methods = $reflection->getMethods();
     $this->assertEqualIgnoringCase($methods[0], 'aMethod');
 }
 function testMethodsComeFromDescendentInterfacesInAbstractClass()
 {
     $reflection = new SimpleReflection('AnyAbstractImplementation');
     $this->assertIdentical($reflection->getMethods(), array('aMethod'));
 }
Esempio n. 3
0
 /**
  *    Creates code within a class to generate replaced
  *    methods. All methods call the _invoke() handler
  *    with the method name and the arguments in an
  *    array.
  *    @param array $methods    Additional methods.
  *    @access private
  */
 function _createHandlerCode($methods)
 {
     $code = '';
     $methods = array_merge($methods, $this->_reflection->getMethods());
     foreach ($methods as $method) {
         if ($this->_isConstructor($method)) {
             continue;
         }
         $mock_reflection = new SimpleReflection($this->_mock_base);
         if (in_array($method, $mock_reflection->getMethods())) {
             continue;
         }
         $code .= "    " . $this->_reflection->getSignature($method) . " {\n";
         $code .= "        \$args = func_get_args();\n";
         $code .= "        \$result = &\$this->_invoke(\"{$method}\", \$args);\n";
         $code .= "        return \$result;\n";
         $code .= "    }\n";
     }
     return $code;
 }
Esempio n. 4
0
 /**
  *    Creates code within a class to generate a new
  *    methods. All methods call the invoke() handler
  *    on the internal mock with the method name and
  *    the arguments in an array.
  *    @param array $methods    Additional methods.
  */
 protected function createNewMethodCode($methods)
 {
     $code = '';
     foreach ($methods as $method) {
         if ($this->isConstructor($method)) {
             continue;
         }
         $mock_reflection = new SimpleReflection($this->mock_base);
         if (in_array($method, $mock_reflection->getMethods())) {
             continue;
         }
         $code .= "    " . $this->reflection->getSignature($method) . " {\n";
         $code .= "        \$args = func_get_args();\n";
         $code .= "        \$result = &\$this->mock->invoke(\"{$method}\", \$args);\n";
         $code .= "        return \$result;\n";
         $code .= "    }\n";
     }
     return $code;
 }
Esempio n. 5
0
 /**
  *    Calculates the incoming test cases. Skips abstract
  *    and ignored classes.
  *    @param array $candidates   Candidate classes.
  *    @return array              New classes which are test
  *                               cases that shouldn't be ignored.
  *    @access public
  */
 function selectRunnableTests($candidates)
 {
     $classes = array();
     foreach ($candidates as $class) {
         if (TestSuite::getBaseTestCase($class)) {
             $reflection = new SimpleReflection($class);
             if ($reflection->isAbstract()) {
                 SimpleTest::ignore($class);
             } else {
                 // only pick classes which do have test methods we can run:
                 $methods = $reflection->getMethods();
                 foreach ($methods as $method) {
                     if (SimpleTestCase::isTest($class, $method)) {
                         $classes[] = $class;
                         break;
                     }
                 }
             }
         }
     }
     return $classes;
 }
Esempio n. 6
0
 function testMethodsListFromInterface()
 {
     $reflection = new SimpleReflection('AnyOldInterface');
     $methods = $reflection->getMethods();
     $this->assertEqual($methods[0], 'aMethod');
 }