/** * Parses PHP classes from text contents. * * @param string $contents PHP script contents. * @return mixed */ public static function parseContents($contents) { $lexer = new Stagehand_PHP_Lexer(); $lexer->setContents($contents); return self::_parse($lexer); }
/** * @test */ public function splitTokensFromPhpContents() { $lexer = new Stagehand_PHP_Lexer(); $contents = file_get_contents(dirname(__FILE__) . '/LexerTest/example.php'); $lexer->setContents($contents); $lexerToken = null; $parserToken = $lexer->yylex($lexerToken); $this->assertEquals($lexerToken->getValue(), '$foo'); $this->assertEquals($lexerToken->getPosition(), 1); $this->assertEquals($parserToken, Stagehand_PHP_Parser::T_VARIABLE); }
/** * @test */ public function getTokens() { $lexer = new Stagehand_PHP_Lexer(dirname(__FILE__) . '/LexerTest/example.php'); $tokens = $lexer->getTokens(0, 2); $this->assertEquals(count($tokens), 3); $this->assertEquals($this->_createCode($tokens), '<?php $foo '); $tokens = $lexer->getTokens(1, 6); $this->assertEquals(count($tokens), 6); $this->assertEquals($this->_createCode($tokens), '$foo = \'example\';'); $tokens = $lexer->getTokens(); $this->assertEquals(count($tokens), 8); $this->assertEquals($this->_createCode($tokens), file_get_contents(dirname(__FILE__) . '/LexerTest/example.php')); }