MySQL57PlatformTest.php 1.92 KB
Newer Older
1 2 3 4 5
<?php

namespace Doctrine\Tests\DBAL\Platforms;

use Doctrine\DBAL\Platforms\MySQL57Platform;
6
use Doctrine\DBAL\Types\Type;
7

8
class MySQL57PlatformTest extends AbstractMySQLPlatformTestCase
9 10 11 12 13 14 15 16 17
{
    /**
     * {@inheritdoc}
     */
    public function createPlatform()
    {
        return new MySQL57Platform();
    }

18 19
    public function testHasNativeJsonType()
    {
Sergei Morozov's avatar
Sergei Morozov committed
20
        self::assertTrue($this->platform->hasNativeJsonType());
21 22 23 24
    }

    public function testReturnsJsonTypeDeclarationSQL()
    {
Sergei Morozov's avatar
Sergei Morozov committed
25
        self::assertSame('JSON', $this->platform->getJsonTypeDeclarationSQL([]));
26 27 28 29
    }

    public function testInitializesJsonTypeMapping()
    {
Sergei Morozov's avatar
Sergei Morozov committed
30 31
        self::assertTrue($this->platform->hasDoctrineTypeMappingFor('json'));
        self::assertSame(Type::JSON, $this->platform->getDoctrineTypeMapping('json'));
32 33
    }

34 35 36 37 38
    /**
     * @group DBAL-234
     */
    protected function getAlterTableRenameIndexSQL()
    {
Sergei Morozov's avatar
Sergei Morozov committed
39
        return ['ALTER TABLE mytable RENAME INDEX idx_foo TO idx_bar'];
40 41 42 43 44 45 46
    }

    /**
     * @group DBAL-234
     */
    protected function getQuotedAlterTableRenameIndexSQL()
    {
Sergei Morozov's avatar
Sergei Morozov committed
47
        return [
48 49
            'ALTER TABLE `table` RENAME INDEX `create` TO `select`',
            'ALTER TABLE `table` RENAME INDEX `foo` TO `bar`',
Sergei Morozov's avatar
Sergei Morozov committed
50
        ];
51
    }
52 53 54 55 56 57

    /**
     * @group DBAL-807
     */
    protected function getAlterTableRenameIndexInSchemaSQL()
    {
Sergei Morozov's avatar
Sergei Morozov committed
58
        return ['ALTER TABLE myschema.mytable RENAME INDEX idx_foo TO idx_bar'];
59 60 61 62 63 64 65
    }

    /**
     * @group DBAL-807
     */
    protected function getQuotedAlterTableRenameIndexInSchemaSQL()
    {
Sergei Morozov's avatar
Sergei Morozov committed
66
        return [
67 68
            'ALTER TABLE `schema`.`table` RENAME INDEX `create` TO `select`',
            'ALTER TABLE `schema`.`table` RENAME INDEX `foo` TO `bar`',
Sergei Morozov's avatar
Sergei Morozov committed
69
        ];
70
    }
71 72 73 74 75 76

    /**
     * {@inheritdoc}
     */
    protected function getGeneratesAlterTableRenameIndexUsedByForeignKeySQL()
    {
Sergei Morozov's avatar
Sergei Morozov committed
77
        return ['ALTER TABLE mytable RENAME INDEX idx_foo TO idx_foo_renamed'];
78
    }
79
}