<?php namespace PhpParser\Node\Stmt; class PropertyTest extends \PHPUnit_Framework_TestCase { /** * @dataProvider provideModifiers */ public function testModifiers($modifier) { $node = new Property( constant('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier)), array() // invalid ); $this->assertTrue($node->{'is' . $modifier}()); } public function testNoModifiers() { $node = new Property(0, array()); $this->assertTrue($node->isPublic()); $this->assertFalse($node->isProtected()); $this->assertFalse($node->isPrivate()); $this->assertFalse($node->isStatic()); } public function testStaticImplicitlyPublic() { $node = new Property(Class_::MODIFIER_STATIC, array()); $this->assertTrue($node->isPublic()); $this->assertFalse($node->isProtected()); $this->assertFalse($node->isPrivate()); $this->assertTrue($node->isStatic()); } public function provideModifiers() { return array( array('public'), array('protected'), array('private'), array('static'), ); } }