forked from GNUsocial/gnu-social
		
	
		
			
	
	
		
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | /* | ||
|  |  * This file is part of the Symfony package. | ||
|  |  * | ||
|  |  * (c) Fabien Potencier <fabien@symfony.com> | ||
|  |  * | ||
|  |  * For the full copyright and license information, please view the LICENSE | ||
|  |  * file that was distributed with this source code. | ||
|  |  */ | ||
|  | 
 | ||
|  | namespace Symfony\Component\VarDumper\Tests\Caster; | ||
|  | 
 | ||
|  | use PHPUnit\Framework\TestCase; | ||
|  | use Symfony\Component\VarDumper\Caster\PdoCaster; | ||
|  | use Symfony\Component\VarDumper\Cloner\Stub; | ||
|  | use Symfony\Component\VarDumper\Test\VarDumperTestTrait; | ||
|  | 
 | ||
|  | /** | ||
|  |  * @author Nicolas Grekas <p@tchwork.com> | ||
|  |  */ | ||
|  | class PdoCasterTest extends TestCase | ||
|  | { | ||
|  |     use VarDumperTestTrait; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @requires extension pdo_sqlite | ||
|  |      */ | ||
|  |     public function testCastPdo() | ||
|  |     { | ||
|  |         $pdo = new \PDO('sqlite::memory:'); | ||
|  |         $pdo->setAttribute(\PDO::ATTR_STATEMENT_CLASS, array('PDOStatement', array($pdo))); | ||
|  | 
 | ||
|  |         $cast = PdoCaster::castPdo($pdo, array(), new Stub(), false); | ||
|  | 
 | ||
|  |         $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\EnumStub', $cast["\0~\0attributes"]); | ||
|  | 
 | ||
|  |         $attr = $cast["\0~\0attributes"] = $cast["\0~\0attributes"]->value; | ||
|  |         $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\ConstStub', $attr['CASE']); | ||
|  |         $this->assertSame('NATURAL', $attr['CASE']->class); | ||
|  |         $this->assertSame('BOTH', $attr['DEFAULT_FETCH_MODE']->class); | ||
|  | 
 | ||
|  |         $xDump = <<<'EODUMP' | ||
|  | array:2 [ | ||
|  |   "\x00~\x00inTransaction" => false | ||
|  |   "\x00~\x00attributes" => array:9 [ | ||
|  |     "CASE" => NATURAL | ||
|  |     "ERRMODE" => SILENT | ||
|  |     "PERSISTENT" => false | ||
|  |     "DRIVER_NAME" => "sqlite" | ||
|  |     "ORACLE_NULLS" => NATURAL | ||
|  |     "CLIENT_VERSION" => "%s" | ||
|  |     "SERVER_VERSION" => "%s" | ||
|  |     "STATEMENT_CLASS" => array:%d [ | ||
|  |       0 => "PDOStatement"%A | ||
|  |     ] | ||
|  |     "DEFAULT_FETCH_MODE" => BOTH | ||
|  |   ] | ||
|  | ] | ||
|  | EODUMP; | ||
|  | 
 | ||
|  |         $this->assertDumpMatchesFormat($xDump, $cast); | ||
|  |     } | ||
|  | } |