Chris@13: setPass(new AssignThisVariablePass()); Chris@13: } Chris@13: Chris@13: /** Chris@13: * @dataProvider invalidStatements Chris@13: * @expectedException \Psy\Exception\FatalErrorException 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: ['$this = 3'], Chris@13: ['strtolower($this = "this")'], Chris@13: ]; 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: ['$this'], Chris@13: ['$a = $this'], Chris@13: ['$a = "this"; $$a = 3'], Chris@13: ['$$this = "b"'], Chris@13: ]; Chris@13: } Chris@13: }