Chris@0: constant('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier)) Chris@0: )); Chris@0: Chris@0: $this->assertTrue($node->{'is' . $modifier}()); Chris@0: } Chris@0: Chris@0: public function testNoModifiers() { Chris@0: $node = new ClassMethod('foo', array('type' => 0)); Chris@0: Chris@0: $this->assertTrue($node->isPublic()); Chris@0: $this->assertFalse($node->isProtected()); Chris@0: $this->assertFalse($node->isPrivate()); Chris@0: $this->assertFalse($node->isAbstract()); Chris@0: $this->assertFalse($node->isFinal()); Chris@0: $this->assertFalse($node->isStatic()); Chris@0: } Chris@0: Chris@0: public function provideModifiers() { Chris@0: return array( Chris@0: array('public'), Chris@0: array('protected'), Chris@0: array('private'), Chris@0: array('abstract'), Chris@0: array('final'), Chris@0: array('static'), Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * Checks that implicit public modifier detection for method is working Chris@0: * Chris@0: * @dataProvider implicitPublicModifiers Chris@0: * Chris@0: * @param integer $modifier Node type modifier Chris@0: */ Chris@0: public function testImplicitPublic($modifier) Chris@0: { Chris@0: $node = new ClassMethod('foo', array( Chris@0: 'type' => constant('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier)) Chris@0: )); Chris@0: Chris@0: $this->assertTrue($node->isPublic(), 'Node should be implicitly public'); Chris@0: } Chris@0: Chris@0: public function implicitPublicModifiers() { Chris@0: return array( Chris@0: array('abstract'), Chris@0: array('final'), Chris@0: array('static'), Chris@0: ); Chris@0: } Chris@0: }