!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache/2.2.22 (Debian). PHP/5.6.36 

uname -a: Linux h05.hvosting.ua 4.9.110-amd64 #3 SMP Sun Nov 4 16:27:09 UTC 2018 x86_64 

uid=1389(h33678) gid=1099(h33678) groups=1099(h33678),502(mgrsecure) 

Safe-mode: OFF (not secure)

/home/h33678/data/www/it-man.ztu.edu.ua/src/vendor/nikic/php-parser/test/PhpParser/   drwxr-xr-x
Free 116.83 GB of 200.55 GB (58.26%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     LexerTest.php (8.83 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace PhpParser;

use 
PhpParser\Parser\Tokens;

class 
LexerTest extends \PHPUnit_Framework_TestCase
{
    
/* To allow overwriting in parent class */
    
protected function getLexer(array $options = array()) {
        return new 
Lexer($options);
    }

    
/**
     * @dataProvider provideTestError
     */
    
public function testError($code$message) {
        if (
defined('HHVM_VERSION')) {
            
$this->markTestSkipped('HHVM does not throw warnings from token_get_all()');
        }

        
$lexer $this->getLexer();
        try {
            
$lexer->startLexing($code);
        } catch (
Error $e) {
            
$this->assertSame($message$e->getMessage());

            return;
        }

        
$this->fail('Expected PhpParser\Error');
    }

    public function 
provideTestError() {
        return array(
            array(
'<?php /*''Unterminated comment on line 1'),
            array(
'<?php ' "\1"'Unexpected character "' "\1" '" (ASCII 1) on unknown line'),
            array(
'<?php ' "\0"'Unexpected null byte on unknown line'),
        );
    }

    
/**
     * @dataProvider provideTestLex
     */
    
public function testLex($code$options$tokens) {
        
$lexer $this->getLexer($options);
        
$lexer->startLexing($code);
        while (
$id $lexer->getNextToken($value$startAttributes$endAttributes)) {
            
$token array_shift($tokens);

            
$this->assertSame($token[0], $id);
            
$this->assertSame($token[1], $value);
            
$this->assertEquals($token[2], $startAttributes);
            
$this->assertEquals($token[3], $endAttributes);
        }
    }

    public function 
provideTestLex() {
        return array(
            
// tests conversion of closing PHP tag and drop of whitespace and opening tags
            
array(
                
'<?php tokens ?>plaintext',
                array(),
                array(
                    array(
                        
Tokens::T_STRING'tokens',
                        array(
'startLine' => 1), array('endLine' => 1)
                    ),
                    array(
                        
ord(';'), '?>',
                        array(
'startLine' => 1), array('endLine' => 1)
                    ),
                    array(
                        
Tokens::T_INLINE_HTML'plaintext',
                        array(
'startLine' => 1), array('endLine' => 1)
                    ),
                )
            ),
            
// tests line numbers
            
array(
                
'<?php' "\n" '$ token /** doc' "\n" 'comment */ $',
                array(),
                array(
                    array(
                        
ord('$'), '$',
                        array(
'startLine' => 2), array('endLine' => 2)
                    ),
                    array(
                        
Tokens::T_STRING'token',
                        array(
'startLine' => 2), array('endLine' => 2)
                    ),
                    array(
                        
ord('$'), '$',
                        array(
                            
'startLine' => 3,
                            
'comments' => array(
                                new 
Comment\Doc('/** doc' "\n" 'comment */'214),
                            )
                        ),
                        array(
'endLine' => 3)
                    ),
                )
            ),
            
// tests comment extraction
            
array(
                
'<?php /* comment */ // comment' "\n" '/** docComment 1 *//** docComment 2 */ token',
                array(),
                array(
                    array(
                        
Tokens::T_STRING'token',
                        array(
                            
'startLine' => 2,
                            
'comments' => array(
                                new 
Comment('/* comment */'16),
                                new 
Comment('// comment' "\n"120),
                                new 
Comment\Doc('/** docComment 1 */'231),
                                new 
Comment\Doc('/** docComment 2 */'250),
                            ),
                        ),
                        array(
'endLine' => 2)
                    ),
                )
            ),
            
// tests differing start and end line
            
array(
                
'<?php "foo' "\n" 'bar"',
                array(),
                array(
                    array(
                        
Tokens::T_CONSTANT_ENCAPSED_STRING'"foo' "\n" 'bar"',
                        array(
'startLine' => 1), array('endLine' => 2)
                    ),
                )
            ),
            
// tests exact file offsets
            
array(
                
'<?php "a";' "\n" '// foo' "\n" '"b";',
                array(
'usedAttributes' => array('startFilePos''endFilePos')),
                array(
                    array(
                        
Tokens::T_CONSTANT_ENCAPSED_STRING'"a"',
                        array(
'startFilePos' => 6), array('endFilePos' => 8)
                    ),
                    array(
                        
ord(';'), ';',
                        array(
'startFilePos' => 9), array('endFilePos' => 9)
                    ),
                    array(
                        
Tokens::T_CONSTANT_ENCAPSED_STRING'"b"',
                        array(
'startFilePos' => 18), array('endFilePos' => 20)
                    ),
                    array(
                        
ord(';'), ';',
                        array(
'startFilePos' => 21), array('endFilePos' => 21)
                    ),
                )
            ),
            
// tests token offsets
            
array(
                
'<?php "a";' "\n" '// foo' "\n" '"b";',
                array(
'usedAttributes' => array('startTokenPos''endTokenPos')),
                array(
                    array(
                        
Tokens::T_CONSTANT_ENCAPSED_STRING'"a"',
                        array(
'startTokenPos' => 1), array('endTokenPos' => 1)
                    ),
                    array(
                        
ord(';'), ';',
                        array(
'startTokenPos' => 2), array('endTokenPos' => 2)
                    ),
                    array(
                        
Tokens::T_CONSTANT_ENCAPSED_STRING'"b"',
                        array(
'startTokenPos' => 5), array('endTokenPos' => 5)
                    ),
                    array(
                        
ord(';'), ';',
                        array(
'startTokenPos' => 6), array('endTokenPos' => 6)
                    ),
                )
            ),
            
// tests all attributes being disabled
            
array(
                
'<?php /* foo */ $bar;',
                array(
'usedAttributes' => array()),
                array(
                    array(
                        
Tokens::T_VARIABLE'$bar',
                        array(), array()
                    ),
                    array(
                        
ord(';'), ';',
                        array(), array()
                    )
                )
            )
        );
    }

    
/**
     * @dataProvider provideTestHaltCompiler
     */
    
public function testHandleHaltCompiler($code$remaining) {
        
$lexer $this->getLexer();
        
$lexer->startLexing($code);

        while (
Tokens::T_HALT_COMPILER !== $lexer->getNextToken());

        
$this->assertSame($remaining$lexer->handleHaltCompiler());
        
$this->assertSame(0$lexer->getNextToken());
    }

    public function 
provideTestHaltCompiler() {
        return array(
            array(
'<?php ... __halt_compiler();Remaining Text''Remaining Text'),
            array(
'<?php ... __halt_compiler ( ) ;Remaining Text''Remaining Text'),
            array(
'<?php ... __halt_compiler() ?>Remaining Text''Remaining Text'),
            
//array('<?php ... __halt_compiler();' . "\0", "\0"),
            //array('<?php ... __halt_compiler /* */ ( ) ;Remaining Text', 'Remaining Text'),
        
);
    }

    
/**
     * @expectedException \PhpParser\Error
     * @expectedExceptionMessage __HALT_COMPILER must be followed by "();"
     */
    
public function testHandleHaltCompilerError() {
        
$lexer $this->getLexer();
        
$lexer->startLexing('<?php ... __halt_compiler invalid ();');

        while (
Tokens::T_HALT_COMPILER !== $lexer->getNextToken());
        
$lexer->handleHaltCompiler();
    }

    public function 
testGetTokens() {
        
$code '<?php "a";' "\n" '// foo' "\n" '"b";';
        
$expectedTokens = array(
            array(
T_OPEN_TAG'<?php '1),
            array(
T_CONSTANT_ENCAPSED_STRING'"a"'1),
            
';',
            array(
T_WHITESPACE"\n"1),
            array(
T_COMMENT'// foo' "\n"2),
            array(
T_CONSTANT_ENCAPSED_STRING'"b"'3),
            
';',
        );

        
$lexer $this->getLexer();
        
$lexer->startLexing($code);
        
$this->assertSame($expectedTokens$lexer->getTokens());
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by PinoyWH1Z | C99Shell Github | Generation time: 0.0113 ]--