3 namespace PhpParser\Node\Stmt;
5 class ClassMethodTest extends \PHPUnit_Framework_TestCase
8 * @dataProvider provideModifiers
10 public function testModifiers($modifier) {
11 $node = new ClassMethod('foo', array(
12 'type' => constant('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier))
15 $this->assertTrue($node->{'is' . $modifier}());
18 public function testNoModifiers() {
19 $node = new ClassMethod('foo', array('type' => 0));
21 $this->assertTrue($node->isPublic());
22 $this->assertFalse($node->isProtected());
23 $this->assertFalse($node->isPrivate());
24 $this->assertFalse($node->isAbstract());
25 $this->assertFalse($node->isFinal());
26 $this->assertFalse($node->isStatic());
29 public function provideModifiers() {
41 * Checks that implicit public modifier detection for method is working
43 * @dataProvider implicitPublicModifiers
45 * @param integer $modifier Node type modifier
47 public function testImplicitPublic($modifier)
49 $node = new ClassMethod('foo', array(
50 'type' => constant('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier))
53 $this->assertTrue($node->isPublic(), 'Node should be implicitly public');
56 public function implicitPublicModifiers() {