php-parser/test/PhpParser/Node/Stmt/ClassTest.php
Tom Rochette 1366e833a1 Move getMethods() to new ClassLike node
Class_, Interface_ and Trait_ extend the ClassLike node, which
provides the getMethods() method.
2015-01-31 22:59:38 +01:00

43 lines
1.1 KiB
PHP

<?php
namespace PhpParser\Node\Stmt;
class ClassTest extends \PHPUnit_Framework_TestCase
{
public function testIsAbstract() {
$class = new Class_('Foo', array('type' => Class_::MODIFIER_ABSTRACT));
$this->assertTrue($class->isAbstract());
$class = new Class_('Foo');
$this->assertFalse($class->isAbstract());
}
public function testIsFinal() {
$class = new Class_('Foo', array('type' => Class_::MODIFIER_FINAL));
$this->assertTrue($class->isFinal());
$class = new Class_('Foo');
$this->assertFalse($class->isFinal());
}
public function testGetMethods() {
$methods = array(
new ClassMethod('foo'),
new ClassMethod('bar'),
new ClassMethod('fooBar'),
);
$class = new Class_('Foo', array(
'stmts' => array(
new TraitUse(array()),
$methods[0],
new ClassConst(array()),
$methods[1],
new Property(0, array()),
$methods[2],
)
));
$this->assertSame($methods, $class->getMethods());
}
}