Yaffs site version 1.1
[yaffs-website] / vendor / psy / psysh / test / Psy / Test / Input / CodeArgumentTest.php
1 <?php
2
3 /*
4  * This file is part of Psy Shell.
5  *
6  * (c) 2012-2017 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\Tests\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 array(
31             array(InputArgument::IS_ARRAY),
32             array(InputArgument::IS_ARRAY | InputArgument::REQUIRED),
33             array(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 array(
48             array(InputArgument::REQUIRED),
49             array(InputArgument::OPTIONAL),
50         );
51     }
52 }