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