Вход Регистрация
Файл: gapps/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassMethodTest.php
Строк: 40
<?php

namespace PhpParserNodeStmt;

class 
ClassMethodTest extends PHPUnit_Framework_TestCase
{
    
/**
     * @dataProvider provideModifiers
     */
    
public function testModifiers($modifier) {
        
$node = new ClassMethod('foo', array(
            
'type' => constant('PhpParserNodeStmtClass_::MODIFIER_' strtoupper($modifier))
        ));

        
$this->assertTrue($node->{'is' $modifier}());
    }

    public function 
testNoModifiers() {
        
$node = new ClassMethod('foo', array('type' => 0));

        
$this->assertTrue($node->isPublic());
        
$this->assertFalse($node->isProtected());
        
$this->assertFalse($node->isPrivate());
        
$this->assertFalse($node->isAbstract());
        
$this->assertFalse($node->isFinal());
        
$this->assertFalse($node->isStatic());
    }

    public function 
provideModifiers() {
        return array(
            array(
'public'),
            array(
'protected'),
            array(
'private'),
            array(
'abstract'),
            array(
'final'),
            array(
'static'),
        );
    }

    
/**
     * Checks that implicit public modifier detection for method is working
     *
     * @dataProvider implicitPublicModifiers
     *
     * @param integer $modifier Node type modifier
     */
    
public function testImplicitPublic($modifier)
    {
        
$node = new ClassMethod('foo', array(
            
'type' => constant('PhpParserNodeStmtClass_::MODIFIER_' strtoupper($modifier))
        ));

        
$this->assertTrue($node->isPublic(), 'Node should be implicitly public');
    }

    public function 
implicitPublicModifiers() {
        return array(
            array(
'abstract'),
            array(
'final'),
            array(
'static'),
        );
    }
}
Онлайн: 1
Реклама