TemporaryQueryTest.php
Namespace
Drupal\Tests\sqlite\Kernel\sqliteFile
-
core/
modules/ sqlite/ tests/ src/ Kernel/ sqlite/ TemporaryQueryTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\sqlite\Kernel\sqlite;
use Drupal\KernelTests\Core\Database\TemporaryQueryTestBase;
use PHPUnit\Framework\Attributes\Group;
use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
/**
* Tests the temporary query functionality.
*/
class TemporaryQueryTest extends TemporaryQueryTestBase {
/**
* Confirms that temporary tables work.
*/
public function testTemporaryQuery() : void {
parent::testTemporaryQuery();
$connection = $this->getConnection();
$table_name_test = $connection->queryTemporary('SELECT [name] FROM {test}', []);
// Assert that the table is indeed a temporary one.
$this->assertStringContainsString("temp.", $table_name_test);
// Assert that both have the same field names.
$normal_table_fields = $connection->query("SELECT * FROM {test}")
->fetch();
$temp_table_name = $connection->queryTemporary('SELECT * FROM {test}');
$temp_table_fields = $connection->query("SELECT * FROM {$temp_table_name}")
->fetch();
$normal_table_fields = array_keys(get_object_vars($normal_table_fields));
$temp_table_fields = array_keys(get_object_vars($temp_table_fields));
$this->assertEmpty(array_diff($normal_table_fields, $temp_table_fields));
}
}
Classes
| Title | Deprecated | Summary |
|---|---|---|
| TemporaryQueryTest | Tests the temporary query functionality. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.