Пример #1
0
 function testPush()
 {
     $ts = TokenStream::fromSource("<?php 1 2 3 ");
     $ts->push(new Token(T_LNUMBER, '4'));
     $ts->push(new Token(T_WHITESPACE, ' '));
     $ts->push(new Token(T_LNUMBER, '5'));
     $ts->push(new Token(T_WHITESPACE, ' '));
     $this->assertEquals('<?php 1 2 3 4 5 ', (string) $ts);
     $ts = TokenStream::fromEmpty();
     $ts->push(new Token(T_STRING, 'A'));
     $ts->push(new Token(T_WHITESPACE, ' '));
     $ts->push(new Token(T_STRING, 'B'));
     $ts->push(new Token(T_WHITESPACE, ' '));
     $this->assertEquals('A B ', (string) $ts);
     $ts->extract($ts->index(), $ts->index()->next->next->next);
     $this->assertEquals(' ', (string) $ts);
     $ts->push(new Token(T_STRING, 'C'));
     $this->assertEquals(' C', (string) $ts);
 }