More updates to stop using dev or alpha or beta versions.
[yaffs-website] / vendor / psy / psysh / test / CodeCleaner / FunctionContextPassTest.php
1 <?php
2
3 /*
4  * This file is part of Psy Shell.
5  *
6  * (c) 2012-2018 Justin Hileman
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Psy\Test\CodeCleaner;
13
14 use Psy\CodeCleaner\FunctionContextPass;
15
16 class FunctionContextPassTest extends CodeCleanerTestCase
17 {
18     public function setUp()
19     {
20         $this->setPass(new FunctionContextPass());
21     }
22
23     /**
24      * @dataProvider validStatements
25      */
26     public function testProcessStatementPasses($code)
27     {
28         $this->parseAndTraverse($code);
29         $this->assertTrue(true);
30     }
31
32     public function validStatements()
33     {
34         return [
35             ['function foo() { yield; }'],
36             ['if (function(){ yield; })'],
37         ];
38     }
39
40     /**
41      * @dataProvider invalidYieldStatements
42      * @expectedException \Psy\Exception\FatalErrorException
43      */
44     public function testInvalidYield($code)
45     {
46         $this->parseAndTraverse($code);
47     }
48
49     public function invalidYieldStatements()
50     {
51         return [
52             ['yield'],
53             ['if (yield)'],
54         ];
55     }
56 }