c39615208d1e4ab3aa7854cb8f0d99376a099388
[yaffs-website] / vendor / psy / psysh / test / Input / CodeArgumentTest.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\Input;
13
14 use Psy\Input\CodeArgument;
15 use Symfony\Component\Console\Input\InputArgument;
16
17 class CodeArgumentTest extends \PHPUnit\Framework\TestCase
18 {
19     /**
20      * @dataProvider getInvalidModes
21      * @expectedException \InvalidArgumentException
22      */
23     public function testInvalidModes($mode)
24     {
25         new CodeArgument('wat', $mode);
26     }
27
28     public function getInvalidModes()
29     {
30         return [
31             [InputArgument::IS_ARRAY],
32             [InputArgument::IS_ARRAY | InputArgument::REQUIRED],
33             [InputArgument::IS_ARRAY | InputArgument::OPTIONAL],
34         ];
35     }
36
37     /**
38      * @dataProvider getValidModes
39      */
40     public function testValidModes($mode)
41     {
42         $this->assertInstanceOf('Psy\Input\CodeArgument', new CodeArgument('yeah', $mode));
43     }
44
45     public function getValidModes()
46     {
47         return [
48             [InputArgument::REQUIRED],
49             [InputArgument::OPTIONAL],
50         ];
51     }
52 }