61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| namespace GuzzleHttp\Tests\Command\Guzzle;
 | |
| 
 | |
| use GuzzleHttp\Command\Guzzle\SchemaFormatter;
 | |
| 
 | |
| /**
 | |
|  * @covers \GuzzleHttp\Command\Guzzle\SchemaFormatter
 | |
|  */
 | |
| class SchemaFormatterTest extends \PHPUnit_Framework_TestCase
 | |
| {
 | |
|     public function dateTimeProvider()
 | |
|     {
 | |
|         $dateUtc = 'October 13, 2012 16:15:46 UTC';
 | |
|         $dateOffset = 'October 13, 2012 10:15:46 -06:00';
 | |
|         $expectedDateTime = '2012-10-13T16:15:46Z';
 | |
| 
 | |
|         return [
 | |
|             ['foo', 'does-not-exist', 'foo'],
 | |
|             [$dateUtc, 'date-time', $expectedDateTime],
 | |
|             [$dateUtc, 'date-time-http', 'Sat, 13 Oct 2012 16:15:46 GMT'],
 | |
|             [$dateUtc, 'date', '2012-10-13'],
 | |
|             [$dateUtc, 'timestamp', strtotime($dateUtc)],
 | |
|             [new \DateTime($dateUtc), 'timestamp', strtotime($dateUtc)],
 | |
|             [$dateUtc, 'time', '16:15:46'],
 | |
|             [strtotime($dateUtc), 'time', '16:15:46'],
 | |
|             [strtotime($dateUtc), 'timestamp', strtotime($dateUtc)],
 | |
|             ['true', 'boolean-string', 'true'],
 | |
|             [true, 'boolean-string', 'true'],
 | |
|             ['false', 'boolean-string', 'false'],
 | |
|             [false, 'boolean-string', 'false'],
 | |
|             ['1350144946', 'date-time', $expectedDateTime],
 | |
|             [1350144946, 'date-time', $expectedDateTime],
 | |
|             [$dateOffset, 'date-time', $expectedDateTime],
 | |
|         ];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @dataProvider dateTimeProvider
 | |
|      */
 | |
|     public function testFilters($value, $format, $result)
 | |
|     {
 | |
|         $this->assertEquals($result, (new SchemaFormatter)->format($format, $value));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @expectedException \InvalidArgumentException
 | |
|      */
 | |
|     public function testValidatesDateTimeInput()
 | |
|     {
 | |
|         (new SchemaFormatter)->format('date-time', false);
 | |
|     }
 | |
| 
 | |
|     public function testEnsuresTimestampsAreIntegers()
 | |
|     {
 | |
|         $t = time();
 | |
|         $result = (new SchemaFormatter)->format('timestamp', $t);
 | |
|         $this->assertSame($t, $result);
 | |
|         $this->assertInternalType('int', $result);
 | |
|     }
 | |
| }
 |