Chris@0: setPass(new LeavePsyshAlonePass()); Chris@0: } Chris@0: Chris@0: public function testPassesInlineHtmlThroughJustFine() Chris@0: { Chris@0: $inline = $this->parse('not php at all!', ''); Chris@0: $this->traverse($inline); Chris@0: } Chris@0: Chris@0: /** Chris@0: * @dataProvider validStatements Chris@0: */ Chris@0: public function testProcessStatementPasses($code) Chris@0: { Chris@0: $stmts = $this->parse($code); Chris@0: $this->traverse($stmts); Chris@0: } Chris@0: Chris@0: public function validStatements() Chris@0: { Chris@0: return array( Chris@0: array('array_merge()'), Chris@0: array('__psysh__()'), Chris@0: array('$this'), Chris@0: array('$psysh'), Chris@0: array('$__psysh'), Chris@0: array('$banana'), Chris@0: ); Chris@0: } Chris@0: Chris@0: /** Chris@0: * @dataProvider invalidStatements Chris@0: * @expectedException \Psy\Exception\RuntimeException Chris@0: */ Chris@0: public function testProcessStatementFails($code) Chris@0: { Chris@0: $stmts = $this->parse($code); Chris@0: $this->traverse($stmts); Chris@0: } Chris@0: Chris@0: public function invalidStatements() Chris@0: { Chris@0: return array( Chris@0: array('$__psysh__'), Chris@0: array('var_dump($__psysh__)'), Chris@0: array('$__psysh__ = "your mom"'), Chris@0: array('$__psysh__->fakeFunctionCall()'), Chris@0: ); Chris@0: } Chris@0: }