annotate vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassMethodTest.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 ClassMethodTest extends \PHPUnit_Framework_TestCase
Chris@0 6 {
Chris@0 7 /**
Chris@0 8 * @dataProvider provideModifiers
Chris@0 9 */
Chris@0 10 public function testModifiers($modifier) {
Chris@0 11 $node = new ClassMethod('foo', array(
Chris@0 12 'type' => constant('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier))
Chris@0 13 ));
Chris@0 14
Chris@0 15 $this->assertTrue($node->{'is' . $modifier}());
Chris@0 16 }
Chris@0 17
Chris@0 18 public function testNoModifiers() {
Chris@0 19 $node = new ClassMethod('foo', array('type' => 0));
Chris@0 20
Chris@0 21 $this->assertTrue($node->isPublic());
Chris@0 22 $this->assertFalse($node->isProtected());
Chris@0 23 $this->assertFalse($node->isPrivate());
Chris@0 24 $this->assertFalse($node->isAbstract());
Chris@0 25 $this->assertFalse($node->isFinal());
Chris@0 26 $this->assertFalse($node->isStatic());
Chris@0 27 }
Chris@0 28
Chris@0 29 public function provideModifiers() {
Chris@0 30 return array(
Chris@0 31 array('public'),
Chris@0 32 array('protected'),
Chris@0 33 array('private'),
Chris@0 34 array('abstract'),
Chris@0 35 array('final'),
Chris@0 36 array('static'),
Chris@0 37 );
Chris@0 38 }
Chris@0 39
Chris@0 40 /**
Chris@0 41 * Checks that implicit public modifier detection for method is working
Chris@0 42 *
Chris@0 43 * @dataProvider implicitPublicModifiers
Chris@0 44 *
Chris@0 45 * @param integer $modifier Node type modifier
Chris@0 46 */
Chris@0 47 public function testImplicitPublic($modifier)
Chris@0 48 {
Chris@0 49 $node = new ClassMethod('foo', array(
Chris@0 50 'type' => constant('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier))
Chris@0 51 ));
Chris@0 52
Chris@0 53 $this->assertTrue($node->isPublic(), 'Node should be implicitly public');
Chris@0 54 }
Chris@0 55
Chris@0 56 public function implicitPublicModifiers() {
Chris@0 57 return array(
Chris@0 58 array('abstract'),
Chris@0 59 array('final'),
Chris@0 60 array('static'),
Chris@0 61 );
Chris@0 62 }
Chris@0 63 }