Example #1
0
 /**
  * @requires PHP 5.4.0
  */
 public function testGetSelfMethods_with_trait()
 {
     // fixture
     $trait = 'trait' . __FUNCTION__ . md5(uniqid());
     $class = __FUNCTION__ . md5(uniqid());
     eval("trait {$trait} {\n\t\t\tprotected function foo(){}\n\t\t\tprotected function bar(){}\n\t\t}");
     eval("class {$class} {\n\t\t\tuse {$trait};\n\t\t\tprotected function bar(){} // override\n\t\t\tprotected function baz(){}\n\t\t}");
     // expectation
     $expected = array(new \ReflectionMethod($class, 'bar'), new \ReflectionMethod($class, 'baz'));
     $reflectionClass = new ReflectionClass($class);
     $actual = $reflectionClass->getSelfMethods();
     $this->assertEquals($expected, $actual);
 }