<?php namespace Doctrine\Tests\DBAL\Platforms; use Doctrine\DBAL\Platforms\PostgreSQL92Platform; use Doctrine\DBAL\Types\Type; class PostgreSQL92PlatformTest extends AbstractPostgreSqlPlatformTestCase { /** * {@inheritdoc} */ public function createPlatform() { return new PostgreSQL92Platform(); } /** * @group DBAL-553 */ public function testHasNativeJsonType() { $this->assertTrue($this->_platform->hasNativeJsonType()); } /** * @group DBAL-553 */ public function testReturnsJsonTypeDeclarationSQL() { $this->assertSame('JSON', $this->_platform->getJsonTypeDeclarationSQL(array())); } public function testReturnsSmallIntTypeDeclarationSQL() { $this->assertSame( 'SMALLSERIAL', $this->_platform->getSmallIntTypeDeclarationSQL(array('autoincrement' => true)) ); $this->assertSame( 'SMALLINT', $this->_platform->getSmallIntTypeDeclarationSQL(array('autoincrement' => false)) ); $this->assertSame( 'SMALLINT', $this->_platform->getSmallIntTypeDeclarationSQL(array()) ); } /** * @group DBAL-553 */ public function testInitializesJsonTypeMapping() { $this->assertTrue($this->_platform->hasDoctrineTypeMappingFor('json')); $this->assertEquals(Type::JSON, $this->_platform->getDoctrineTypeMapping('json')); } /** * @group DBAL-1220 */ public function testReturnsCloseActiveDatabaseConnectionsSQL() { $this->assertSame( "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'foo'", $this->_platform->getCloseActiveDatabaseConnectionsSQL('foo') ); } }