annotate vendor/symfony/var-dumper/Tests/Caster/PdoCasterTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of the Symfony package.
Chris@0 5 *
Chris@0 6 * (c) Fabien Potencier <fabien@symfony.com>
Chris@0 7 *
Chris@0 8 * For the full copyright and license information, please view the LICENSE
Chris@0 9 * file that was distributed with this source code.
Chris@0 10 */
Chris@0 11
Chris@0 12 namespace Symfony\Component\VarDumper\Tests\Caster;
Chris@0 13
Chris@0 14 use PHPUnit\Framework\TestCase;
Chris@0 15 use Symfony\Component\VarDumper\Caster\PdoCaster;
Chris@0 16 use Symfony\Component\VarDumper\Cloner\Stub;
Chris@0 17 use Symfony\Component\VarDumper\Test\VarDumperTestTrait;
Chris@0 18
Chris@0 19 /**
Chris@0 20 * @author Nicolas Grekas <p@tchwork.com>
Chris@0 21 */
Chris@0 22 class PdoCasterTest extends TestCase
Chris@0 23 {
Chris@0 24 use VarDumperTestTrait;
Chris@0 25
Chris@0 26 /**
Chris@0 27 * @requires extension pdo_sqlite
Chris@0 28 */
Chris@0 29 public function testCastPdo()
Chris@0 30 {
Chris@0 31 $pdo = new \PDO('sqlite::memory:');
Chris@17 32 $pdo->setAttribute(\PDO::ATTR_STATEMENT_CLASS, ['PDOStatement', [$pdo]]);
Chris@0 33
Chris@17 34 $cast = PdoCaster::castPdo($pdo, [], new Stub(), false);
Chris@0 35
Chris@0 36 $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\EnumStub', $cast["\0~\0attributes"]);
Chris@0 37
Chris@0 38 $attr = $cast["\0~\0attributes"] = $cast["\0~\0attributes"]->value;
Chris@0 39 $this->assertInstanceOf('Symfony\Component\VarDumper\Caster\ConstStub', $attr['CASE']);
Chris@0 40 $this->assertSame('NATURAL', $attr['CASE']->class);
Chris@0 41 $this->assertSame('BOTH', $attr['DEFAULT_FETCH_MODE']->class);
Chris@0 42
Chris@0 43 $xDump = <<<'EODUMP'
Chris@0 44 array:2 [
Chris@0 45 "\x00~\x00inTransaction" => false
Chris@0 46 "\x00~\x00attributes" => array:9 [
Chris@0 47 "CASE" => NATURAL
Chris@0 48 "ERRMODE" => SILENT
Chris@0 49 "PERSISTENT" => false
Chris@0 50 "DRIVER_NAME" => "sqlite"
Chris@0 51 "ORACLE_NULLS" => NATURAL
Chris@0 52 "CLIENT_VERSION" => "%s"
Chris@0 53 "SERVER_VERSION" => "%s"
Chris@0 54 "STATEMENT_CLASS" => array:%d [
Chris@0 55 0 => "PDOStatement"%A
Chris@0 56 ]
Chris@0 57 "DEFAULT_FETCH_MODE" => BOTH
Chris@0 58 ]
Chris@0 59 ]
Chris@0 60 EODUMP;
Chris@0 61
Chris@0 62 $this->assertDumpMatchesFormat($xDump, $cast);
Chris@0 63 }
Chris@0 64 }