53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | /* | ||
|  |  * This file is part of Psy Shell. | ||
|  |  * | ||
|  |  * (c) 2012-2018 Justin Hileman | ||
|  |  * | ||
|  |  * For the full copyright and license information, please view the LICENSE | ||
|  |  * file that was distributed with this source code. | ||
|  |  */ | ||
|  | 
 | ||
|  | namespace Psy\Test\Input; | ||
|  | 
 | ||
|  | use Psy\Input\CodeArgument; | ||
|  | use Symfony\Component\Console\Input\InputArgument; | ||
|  | 
 | ||
|  | class CodeArgumentTest extends \PHPUnit\Framework\TestCase | ||
|  | { | ||
|  |     /** | ||
|  |      * @dataProvider getInvalidModes | ||
|  |      * @expectedException \InvalidArgumentException | ||
|  |      */ | ||
|  |     public function testInvalidModes($mode) | ||
|  |     { | ||
|  |         new CodeArgument('wat', $mode); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function getInvalidModes() | ||
|  |     { | ||
|  |         return [ | ||
|  |             [InputArgument::IS_ARRAY], | ||
|  |             [InputArgument::IS_ARRAY | InputArgument::REQUIRED], | ||
|  |             [InputArgument::IS_ARRAY | InputArgument::OPTIONAL], | ||
|  |         ]; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @dataProvider getValidModes | ||
|  |      */ | ||
|  |     public function testValidModes($mode) | ||
|  |     { | ||
|  |         $this->assertInstanceOf('Psy\Input\CodeArgument', new CodeArgument('yeah', $mode)); | ||
|  |     } | ||
|  | 
 | ||
|  |     public function getValidModes() | ||
|  |     { | ||
|  |         return [ | ||
|  |             [InputArgument::REQUIRED], | ||
|  |             [InputArgument::OPTIONAL], | ||
|  |         ]; | ||
|  |     } | ||
|  | } |