home
/
zktecojo
/
public_html
/
vendor
/
nikic
/
php-parser
/
test
/
PHPParser
/
Tests
/
Builder
➕ New
📤 Upload
✎ Editing:
ClassTest.php
← Back
<?php class PHPParser_Tests_Builder_ClassTest extends PHPUnit_Framework_TestCase { protected function createClassBuilder($class) { return new PHPParser_Builder_Class($class); } public function testExtendsImplements() { $node = $this->createClassBuilder('SomeLogger') ->extend('BaseLogger') ->implement('Namespaced\Logger', new PHPParser_Node_Name('SomeInterface')) ->getNode() ; $this->assertEquals( new PHPParser_Node_Stmt_Class('SomeLogger', array( 'extends' => new PHPParser_Node_Name('BaseLogger'), 'implements' => array( new PHPParser_Node_Name('Namespaced\Logger'), new PHPParser_Node_Name('SomeInterface') ), )), $node ); } public function testAbstract() { $node = $this->createClassBuilder('Test') ->makeAbstract() ->getNode() ; $this->assertEquals( new PHPParser_Node_Stmt_Class('Test', array( 'type' => PHPParser_Node_Stmt_Class::MODIFIER_ABSTRACT )), $node ); } public function testFinal() { $node = $this->createClassBuilder('Test') ->makeFinal() ->getNode() ; $this->assertEquals( new PHPParser_Node_Stmt_Class('Test', array( 'type' => PHPParser_Node_Stmt_Class::MODIFIER_FINAL )), $node ); } public function testStatementOrder() { $method = new PHPParser_Node_Stmt_ClassMethod('testMethod'); $property = new PHPParser_Node_Stmt_Property( PHPParser_Node_Stmt_Class::MODIFIER_PUBLIC, array(new PHPParser_Node_Stmt_PropertyProperty('testProperty')) ); $const = new PHPParser_Node_Stmt_ClassConst(array( new PHPParser_Node_Const('TEST_CONST', new PHPParser_Node_Scalar_String('ABC')) )); $use = new PHPParser_Node_Stmt_TraitUse(array(new PHPParser_Node_Name('SomeTrait'))); $node = $this->createClassBuilder('Test') ->addStmt($method) ->addStmt($property) ->addStmts(array($const, $use)) ->getNode() ; $this->assertEquals( new PHPParser_Node_Stmt_Class('Test', array( 'stmts' => array($use, $const, $property, $method) )), $node ); } /** * @expectedException LogicException * @expectedExceptionMessage Unexpected node of type "Stmt_Echo" */ public function testInvalidStmtError() { $this->createClassBuilder('Test') ->addStmt(new PHPParser_Node_Stmt_Echo(array())) ; } }
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel