class SelectExtenderTest
Same name in this branch
- main core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php \Drupal\KernelTests\Core\Database\SelectExtenderTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php \Drupal\KernelTests\Core\Database\SelectExtenderTest
- 10 core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php \Drupal\KernelTests\Core\Database\SelectExtenderTest
- 9 core/tests/Drupal/KernelTests/Core/Database/SelectExtenderTest.php \Drupal\KernelTests\Core\Database\SelectExtenderTest
- 11.x core/modules/search/tests/src/Kernel/Database/SelectExtenderTest.php \Drupal\Tests\search\Kernel\Database\SelectExtenderTest
Tests the Select query extender classes.
Attributes
#[CoversClass(Select::class)]
#[Group('Database')]
#[RunTestsInSeparateProcesses]
Hierarchy
- class \Drupal\Tests\DrupalTestCase uses \Drupal\Tests\DrupalTestCaseTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\Tests\BrowserHtmlDebugTrait, \Drupal\Tests\HttpKernelUiHelperTrait extends \Drupal\Tests\DrupalTestCase
- class \Drupal\Tests\search\Kernel\Database\SelectExtenderTest extends \Drupal\KernelTests\KernelTestBase
- class \Drupal\KernelTests\KernelTestBase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\Tests\BrowserHtmlDebugTrait, \Drupal\Tests\HttpKernelUiHelperTrait extends \Drupal\Tests\DrupalTestCase
Expanded class hierarchy of SelectExtenderTest
File
-
core/
modules/ search/ tests/ src/ Kernel/ Database/ SelectExtenderTest.php, line 20
Namespace
Drupal\Tests\search\Kernel\DatabaseView source
class SelectExtenderTest extends KernelTestBase {
/**
* Data provider for testExtend().
*
* @return array
* Array of arrays with the following elements:
* - Expected namespaced class name.
* - The database driver namespace.
* - The namespaced class name for which to extend.
*/
public static function providerExtend() : array {
return [
[
'Drupal\\search\\SearchQuery',
'Drupal\\SearchFake\\Driver\\Database\\SearchFake',
'Drupal\\search\\SearchQuery',
],
[
'Drupal\\search\\SearchQuery',
'Drupal\\SearchFake\\Driver\\Database\\SearchFake',
'\\Drupal\\search\\SearchQuery',
],
[
'Drupal\\search\\ViewsSearchQuery',
'Drupal\\SearchFake\\Driver\\Database\\SearchFake',
'Drupal\\search\\ViewsSearchQuery',
],
[
'Drupal\\search\\ViewsSearchQuery',
'Drupal\\SearchFake\\Driver\\Database\\SearchFake',
'\\Drupal\\search\\ViewsSearchQuery',
],
[
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses\\SearchQuery',
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses',
'Drupal\\search\\SearchQuery',
],
[
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses\\SearchQuery',
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses',
'\\Drupal\\search\\SearchQuery',
],
[
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses\\ViewsSearchQuery',
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses',
'Drupal\\search\\ViewsSearchQuery',
],
[
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses\\ViewsSearchQuery',
'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses',
'\\Drupal\\search\\ViewsSearchQuery',
],
];
}
/**
* Tests extend.
*
* @legacy-covers ::extend
* @legacy-covers \Drupal\Core\Database\Query\SelectExtender::extend
*/
public function testExtend(string $expected, string $namespace, string $extend) : void {
$additional_class_loader = new ClassLoader();
$additional_class_loader->addPsr4("Drupal\\search_fake\\Driver\\Database\\SearchFake\\", __DIR__ . "/../../../modules/search_fake/src/Driver/Database/SearchFake");
$additional_class_loader->addPsr4("Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses\\", __DIR__ . "/../../../modules/search_fake/src/Driver/Database/SearchFakeWithAllCustomClasses");
$additional_class_loader->register(TRUE);
$connection = new StubConnection($this->createStub(\PDO::class), [
'namespace' => $namespace,
]);
// Tests the method \Drupal\Core\Database\Query\Select::extend().
$select = $connection->select('test')
->extend($extend);
$this->assertEquals($expected, get_class($select));
// Get an instance of the class \Drupal\Core\Database\Query\SelectExtender.
$select_extender = $connection->select('test')
->extend(SelectExtender::class);
$this->assertEquals(SelectExtender::class, get_class($select_extender));
// Tests the method \Drupal\Core\Database\Query\SelectExtender::extend().
$select_extender_extended = $select_extender->extend($extend);
$this->assertEquals($expected, get_class($select_extender_extended));
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.