X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fpsy%2Fpsysh%2Ftest%2FCodeCleaner%2FCallTimePassByReferencePassTest.php;fp=vendor%2Fpsy%2Fpsysh%2Ftest%2FCodeCleaner%2FCallTimePassByReferencePassTest.php;h=cd321b5def260fe75c344993b2183903d144a68b;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=0000000000000000000000000000000000000000;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website diff --git a/vendor/psy/psysh/test/CodeCleaner/CallTimePassByReferencePassTest.php b/vendor/psy/psysh/test/CodeCleaner/CallTimePassByReferencePassTest.php new file mode 100644 index 000000000..cd321b5de --- /dev/null +++ b/vendor/psy/psysh/test/CodeCleaner/CallTimePassByReferencePassTest.php @@ -0,0 +1,59 @@ +setPass(new CallTimePassByReferencePass()); + } + + /** + * @dataProvider invalidStatements + * @expectedException \Psy\Exception\FatalErrorException + */ + public function testProcessStatementFails($code) + { + $this->parseAndTraverse($code); + } + + public function invalidStatements() + { + return [ + ['f(&$arg)'], + ['$object->method($first, &$arg)'], + ['$closure($first, &$arg, $last)'], + ['A::b(&$arg)'], + ]; + } + + /** + * @dataProvider validStatements + */ + public function testProcessStatementPasses($code) + { + $this->parseAndTraverse($code); + $this->assertTrue(true); + } + + public function validStatements() + { + return [ + ['array(&$var)'], + ['$a = &$b'], + ['f(array(&$b))'], + ]; + } +}