1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
<?php
declare(strict_types=1);
namespace Doctrine\DBAL\Tests\Functional;
use Doctrine\DBAL\Platforms\PostgreSQLPlatform;
use Doctrine\DBAL\Tests\FunctionalTestCase;
use Doctrine\DBAL\Tests\TestUtil;
use PHPUnit\Framework\Attributes\DataProvider;
class FetchBooleanTest extends FunctionalTestCase
{
protected function setUp(): void
{
if (
$this->connection->getDatabasePlatform() instanceof PostgreSQLPlatform
&& ! TestUtil::isPdoStringifyFetchesEnabled()
) {
return;
}
self::markTestSkipped(
'Only PostgreSQL supports boolean values natively, as long as PDO does not stringify them.',
);
}
#[DataProvider('booleanLiteralProvider')]
public function testBooleanConversionSqlLiteral(string $literal, bool $expected): void
{
self::assertSame([$expected], $this->connection->fetchNumeric(
$this->connection->getDatabasePlatform()
->getDummySelectSQL($literal),
));
}
/** @return iterable<array{string, bool}> */
public static function booleanLiteralProvider(): iterable
{
yield ['true', true];
yield ['false', false];
}
}
|