radarrplexorganizrnginxsonarrdashboardembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpcserverhomepagesabnzbdheimdall
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							63 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							63 lines
						
					
					
						
							1.7 KiB
						
					
					
				
								<?php
							 | 
						|
								
							 | 
						|
								namespace PhpParser\Node\Stmt;
							 | 
						|
								
							 | 
						|
								class ClassMethodTest extends \PHPUnit_Framework_TestCase
							 | 
						|
								{
							 | 
						|
								    /**
							 | 
						|
								     * @dataProvider provideModifiers
							 | 
						|
								     */
							 | 
						|
								    public function testModifiers($modifier) {
							 | 
						|
								        $node = new ClassMethod('foo', array(
							 | 
						|
								            'type' => constant('PhpParser\Node\Stmt\Class_::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('PhpParser\Node\Stmt\Class_::MODIFIER_' . strtoupper($modifier))
							 | 
						|
								        ));
							 | 
						|
								
							 | 
						|
								        $this->assertTrue($node->isPublic(), 'Node should be implicitly public');
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								    public function implicitPublicModifiers() {
							 | 
						|
								        return array(
							 | 
						|
								            array('abstract'),
							 | 
						|
								            array('final'),
							 | 
						|
								            array('static'),
							 | 
						|
								        );
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 |