
| Current Path : /var/www/html/rocksensor1/web/core/modules/mysql/tests/src/Kernel/mysql/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/rocksensor1/web/core/modules/mysql/tests/src/Kernel/mysql/SqlModeTest.php |
<?php
declare(strict_types=1);
namespace Drupal\Tests\mysql\Kernel\mysql;
use Drupal\KernelTests\Core\Database\DriverSpecificDatabaseTestBase;
/**
* Tests compatibility of the MySQL driver with various sql_mode options.
*
* @group Database
*/
class SqlModeTest extends DriverSpecificDatabaseTestBase {
/**
* Tests quoting identifiers in queries.
*/
public function testQuotingIdentifiers(): void {
// Use SQL-reserved words for both the table and column names.
$query = $this->connection->query('SELECT [update] FROM {select}');
$this->assertEquals('Update value 1', $query->fetchObject()->update);
$this->assertStringContainsString('SELECT `update` FROM `', $query->getQueryString());
}
/**
* {@inheritdoc}
*/
protected function getDatabaseConnectionInfo() {
$info = parent::getDatabaseConnectionInfo();
// This runs during setUp(), so is not yet skipped for non MySQL databases.
// We defer skipping the test to later in setUp(), so that that can be
// based on databaseType() rather than 'driver', but here all we have to go
// on is 'driver'.
if ($info['default']['driver'] === 'mysql') {
$info['default']['init_commands']['sql_mode'] = "SET sql_mode = ''";
}
return $info;
}
}