forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace PhpParser\Builder;
 | 
						|
 | 
						|
use PhpParser\Comment;
 | 
						|
use PhpParser\Node;
 | 
						|
use PhpParser\Node\Name;
 | 
						|
use PhpParser\Node\Stmt;
 | 
						|
 | 
						|
class TraitTest extends \PHPUnit_Framework_TestCase
 | 
						|
{
 | 
						|
    protected function createTraitBuilder($class) {
 | 
						|
        return new Trait_($class);
 | 
						|
    }
 | 
						|
 | 
						|
    public function testStmtAddition() {
 | 
						|
        $method1 = new Stmt\ClassMethod('test1');
 | 
						|
        $method2 = new Stmt\ClassMethod('test2');
 | 
						|
        $method3 = new Stmt\ClassMethod('test3');
 | 
						|
        $prop = new Stmt\Property(Stmt\Class_::MODIFIER_PUBLIC, array(
 | 
						|
            new Stmt\PropertyProperty('test')
 | 
						|
        ));
 | 
						|
        $trait = $this->createTraitBuilder('TestTrait')
 | 
						|
            ->setDocComment('/** Nice trait */')
 | 
						|
            ->addStmt($method1)
 | 
						|
            ->addStmts(array($method2, $method3))
 | 
						|
            ->addStmt($prop)
 | 
						|
            ->getNode();
 | 
						|
        $this->assertEquals(new Stmt\Trait_('TestTrait', array(
 | 
						|
            $prop, $method1, $method2, $method3
 | 
						|
        ), array(
 | 
						|
            'comments' => array(
 | 
						|
                new Comment\Doc('/** Nice trait */')
 | 
						|
            )
 | 
						|
        )), $trait);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * @expectedException \LogicException
 | 
						|
     * @expectedExceptionMessage Unexpected node of type "Stmt_Echo"
 | 
						|
     */
 | 
						|
    public function testInvalidStmtError() {
 | 
						|
        $this->createTraitBuilder('Test')
 | 
						|
            ->addStmt(new Stmt\Echo_(array()))
 | 
						|
        ;
 | 
						|
    }
 | 
						|
}
 |