Example #1
0
 /**
  * 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);
 }
Example #2
0
 /**
  * @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'));
    }