/** * Strip statements * * @expectOutputRegex #echo 'bar';# */ public function exampleStripNodes() { $reader = new Reader("<?php require 'Foo.php'; echo 'bar';"); $writer = new Writer(); $writer->apply(new Action\NodeStripper('Expr_Include')); // Outputs the echo statement echo $writer->write($reader->readAll()); }
public function testReader() { $text = <<<HTML HELLO WORLD HTML; $reader = new Reader($text); $this->assertEquals(strlen($text), strlen(trim($text))); $this->assertEquals("HE", $reader->read(2)); $this->assertEquals(strlen($text), $reader->length()); $this->assertEquals(6, $reader->moveCursor(6)->getCursor()); $this->assertEquals('WORLD', $reader->readToEnd()); $this->assertEquals('HELLO WORLD', $reader->rewind()->readToEnd()); $this->assertEquals('HELLO ', $reader->readAndGo(6)); $this->assertEquals('WORLD', $reader->readToEnd()); # Reset position $reader->rewind(); $this->assertNotFalse($reader->match('/(?=[a-z])/iA')); $this->assertEquals('HELLO', $reader->match('/\\w+/A')); $this->assertEquals(0, $reader->getCursor()); $this->assertFalse($reader->matchAndGo('/\\d+/A')); $this->assertEquals('HELLO', $reader->matchAndGo('/\\w+/A')); $this->assertEquals(' ', $reader->matchAndGo('/\\s+/A')); $this->assertEquals('WORLD', $reader->matchAndGo('/\\w+/A')); $this->assertTrue($reader->isEnd()); $reader->rewind(); $this->assertEquals('HELLO WORLD', $reader->readToEndAndGo()); $this->assertEquals(11, $reader->length()); $this->assertEquals(10, $reader->getCursor()); $this->assertTrue($reader->isEnd()); $reader = new Reader(' Hello World '); $reader->setCursor(strpos($reader->readAll(), 'World')); $this->assertEquals(3, $reader->getLine()); $this->assertEquals(2, $reader->getColumn()); }
public function testReadAll() { $reader = new Reader(''); $this->assertTrue(is_array($reader->readAll())); }
public function readAll() { return $this->reader->readAll(); }