annotate vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassTest.php @ 2:92f882872392

Trusted hosts, + remove migration modules
author Chris Cannam
date Tue, 05 Dec 2017 09:26:43 +0000
parents 4c8ae668cc8c
children 5fb285c0d0e3
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace PhpParser\Node\Stmt;
Chris@0 4
Chris@0 5 class ClassTest extends \PHPUnit_Framework_TestCase
Chris@0 6 {
Chris@0 7 public function testIsAbstract() {
Chris@0 8 $class = new Class_('Foo', array('type' => Class_::MODIFIER_ABSTRACT));
Chris@0 9 $this->assertTrue($class->isAbstract());
Chris@0 10
Chris@0 11 $class = new Class_('Foo');
Chris@0 12 $this->assertFalse($class->isAbstract());
Chris@0 13 }
Chris@0 14
Chris@0 15 public function testIsFinal() {
Chris@0 16 $class = new Class_('Foo', array('type' => Class_::MODIFIER_FINAL));
Chris@0 17 $this->assertTrue($class->isFinal());
Chris@0 18
Chris@0 19 $class = new Class_('Foo');
Chris@0 20 $this->assertFalse($class->isFinal());
Chris@0 21 }
Chris@0 22
Chris@0 23 public function testGetMethods() {
Chris@0 24 $methods = array(
Chris@0 25 new ClassMethod('foo'),
Chris@0 26 new ClassMethod('bar'),
Chris@0 27 new ClassMethod('fooBar'),
Chris@0 28 );
Chris@0 29 $class = new Class_('Foo', array(
Chris@0 30 'stmts' => array(
Chris@0 31 new TraitUse(array()),
Chris@0 32 $methods[0],
Chris@0 33 new ClassConst(array()),
Chris@0 34 $methods[1],
Chris@0 35 new Property(0, array()),
Chris@0 36 $methods[2],
Chris@0 37 )
Chris@0 38 ));
Chris@0 39
Chris@0 40 $this->assertSame($methods, $class->getMethods());
Chris@0 41 }
Chris@0 42
Chris@0 43 public function testGetMethod() {
Chris@0 44 $methodConstruct = new ClassMethod('__CONSTRUCT');
Chris@0 45 $methodTest = new ClassMethod('test');
Chris@0 46 $class = new Class_('Foo', array(
Chris@0 47 'stmts' => array(
Chris@0 48 new ClassConst(array()),
Chris@0 49 $methodConstruct,
Chris@0 50 new Property(0, array()),
Chris@0 51 $methodTest,
Chris@0 52 )
Chris@0 53 ));
Chris@0 54
Chris@0 55 $this->assertSame($methodConstruct, $class->getMethod('__construct'));
Chris@0 56 $this->assertSame($methodTest, $class->getMethod('test'));
Chris@0 57 $this->assertNull($class->getMethod('nonExisting'));
Chris@0 58 }
Chris@0 59
Chris@0 60 public function testDeprecatedTypeNode() {
Chris@0 61 $class = new Class_('Foo', array('type' => Class_::MODIFIER_ABSTRACT));
Chris@0 62 $this->assertTrue($class->isAbstract());
Chris@0 63 $this->assertSame(Class_::MODIFIER_ABSTRACT, $class->flags);
Chris@0 64 $this->assertSame(Class_::MODIFIER_ABSTRACT, $class->type);
Chris@0 65 }
Chris@0 66 }