Chris@13: setPass(new FunctionContextPass()); 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: ['function foo() { yield; }'], Chris@13: ['if (function(){ yield; })'], Chris@13: ]; Chris@13: } Chris@13: Chris@13: /** Chris@13: * @dataProvider invalidYieldStatements Chris@13: * @expectedException \Psy\Exception\FatalErrorException Chris@13: */ Chris@13: public function testInvalidYield($code) Chris@13: { Chris@13: $this->parseAndTraverse($code); Chris@13: } Chris@13: Chris@13: public function invalidYieldStatements() Chris@13: { Chris@13: return [ Chris@13: ['yield'], Chris@13: ['if (yield)'], Chris@13: ]; Chris@13: } Chris@13: }