Chris@0: createPropertyBuilder('test') Chris@0: ->makePrivate() Chris@0: ->makeStatic() Chris@0: ->getNode() Chris@0: ; Chris@0: Chris@0: $this->assertEquals( Chris@0: new Stmt\Property( Chris@0: Stmt\Class_::MODIFIER_PRIVATE Chris@0: | Stmt\Class_::MODIFIER_STATIC, Chris@0: array( Chris@0: new Stmt\PropertyProperty('test') Chris@0: ) Chris@0: ), Chris@0: $node Chris@0: ); Chris@0: Chris@0: $node = $this->createPropertyBuilder('test') Chris@0: ->makeProtected() Chris@0: ->getNode() Chris@0: ; Chris@0: Chris@0: $this->assertEquals( Chris@0: new Stmt\Property( Chris@0: Stmt\Class_::MODIFIER_PROTECTED, Chris@0: array( Chris@0: new Stmt\PropertyProperty('test') Chris@0: ) Chris@0: ), Chris@0: $node Chris@0: ); Chris@0: Chris@0: $node = $this->createPropertyBuilder('test') Chris@0: ->makePublic() Chris@0: ->getNode() Chris@0: ; Chris@0: Chris@0: $this->assertEquals( Chris@0: new Stmt\Property( Chris@0: Stmt\Class_::MODIFIER_PUBLIC, Chris@0: array( Chris@0: new Stmt\PropertyProperty('test') Chris@0: ) Chris@0: ), Chris@0: $node Chris@0: ); Chris@0: } Chris@0: Chris@0: public function testDocComment() { Chris@0: $node = $this->createPropertyBuilder('test') Chris@0: ->setDocComment('/** Test */') Chris@0: ->getNode(); Chris@0: Chris@0: $this->assertEquals(new Stmt\Property( Chris@0: Stmt\Class_::MODIFIER_PUBLIC, Chris@0: array( Chris@0: new Stmt\PropertyProperty('test') Chris@0: ), Chris@0: array( Chris@0: 'comments' => array(new Comment\Doc('/** Test */')) Chris@0: ) Chris@0: ), $node); Chris@0: } Chris@0: Chris@0: /** Chris@0: * @dataProvider provideTestDefaultValues Chris@0: */ Chris@0: public function testDefaultValues($value, $expectedValueNode) { Chris@0: $node = $this->createPropertyBuilder('test') Chris@0: ->setDefault($value) Chris@0: ->getNode() Chris@0: ; Chris@0: Chris@0: $this->assertEquals($expectedValueNode, $node->props[0]->default); Chris@0: } Chris@0: Chris@0: public function provideTestDefaultValues() { Chris@0: return array( Chris@0: array( Chris@0: null, Chris@0: new Expr\ConstFetch(new Name('null')) Chris@0: ), Chris@0: array( Chris@0: true, Chris@0: new Expr\ConstFetch(new Name('true')) Chris@0: ), Chris@0: array( Chris@0: false, Chris@0: new Expr\ConstFetch(new Name('false')) Chris@0: ), Chris@0: array( Chris@0: 31415, Chris@0: new Scalar\LNumber(31415) Chris@0: ), Chris@0: array( Chris@0: 3.1415, Chris@0: new Scalar\DNumber(3.1415) Chris@0: ), Chris@0: array( Chris@0: 'Hallo World', Chris@0: new Scalar\String_('Hallo World') Chris@0: ), Chris@0: array( Chris@0: array(1, 2, 3), Chris@0: new Expr\Array_(array( Chris@0: new Expr\ArrayItem(new Scalar\LNumber(1)), Chris@0: new Expr\ArrayItem(new Scalar\LNumber(2)), Chris@0: new Expr\ArrayItem(new Scalar\LNumber(3)), Chris@0: )) Chris@0: ), Chris@0: array( Chris@0: array('foo' => 'bar', 'bar' => 'foo'), Chris@0: new Expr\Array_(array( Chris@0: new Expr\ArrayItem( Chris@0: new Scalar\String_('bar'), Chris@0: new Scalar\String_('foo') Chris@0: ), Chris@0: new Expr\ArrayItem( Chris@0: new Scalar\String_('foo'), Chris@0: new Scalar\String_('bar') Chris@0: ), Chris@0: )) Chris@0: ), Chris@0: array( Chris@0: new Scalar\MagicConst\Dir, Chris@0: new Scalar\MagicConst\Dir Chris@0: ) Chris@0: ); Chris@0: } Chris@0: }