class ConnectionTest

Same name in this branch
  1. 11.x core/modules/sqlite/tests/src/Unit/ConnectionTest.php \Drupal\Tests\sqlite\Unit\ConnectionTest
  2. 11.x core/modules/mysql/tests/src/Unit/ConnectionTest.php \Drupal\Tests\mysql\Unit\ConnectionTest
  3. 11.x core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php \Drupal\Tests\mysql\Kernel\mysql\ConnectionTest
  4. 11.x core/tests/Drupal/KernelTests/Core/Database/ConnectionTest.php \Drupal\KernelTests\Core\Database\ConnectionTest
  5. 11.x core/tests/Drupal/Tests/Core/Database/ConnectionTest.php \Drupal\Tests\Core\Database\ConnectionTest
  6. 11.x core/modules/mysqli/tests/src/Kernel/mysqli/ConnectionTest.php \Drupal\Tests\mysqli\Kernel\mysqli\ConnectionTest
Same name and namespace in other branches
  1. 10 core/modules/sqlite/tests/src/Unit/ConnectionTest.php \Drupal\Tests\sqlite\Unit\ConnectionTest
  2. 10 core/modules/mysql/tests/src/Unit/ConnectionTest.php \Drupal\Tests\mysql\Unit\ConnectionTest
  3. 10 core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php \Drupal\Tests\mysql\Kernel\mysql\ConnectionTest
  4. 10 core/tests/Drupal/KernelTests/Core/Database/ConnectionTest.php \Drupal\KernelTests\Core\Database\ConnectionTest
  5. 10 core/tests/Drupal/Tests/Core/Database/ConnectionTest.php \Drupal\Tests\Core\Database\ConnectionTest
  6. 9 core/modules/sqlite/tests/src/Unit/ConnectionTest.php \Drupal\Tests\sqlite\Unit\ConnectionTest
  7. 9 core/modules/mysql/tests/src/Unit/ConnectionTest.php \Drupal\Tests\mysql\Unit\ConnectionTest
  8. 9 core/modules/mysql/tests/src/Kernel/mysql/ConnectionTest.php \Drupal\Tests\mysql\Kernel\mysql\ConnectionTest
  9. 9 core/tests/Drupal/KernelTests/Core/Database/ConnectionTest.php \Drupal\KernelTests\Core\Database\ConnectionTest
  10. 9 core/tests/Drupal/Tests/Core/Database/ConnectionTest.php \Drupal\Tests\Core\Database\ConnectionTest
  11. 8.9.x core/tests/Drupal/KernelTests/Core/Database/ConnectionTest.php \Drupal\KernelTests\Core\Database\ConnectionTest
  12. 8.9.x core/tests/Drupal/Tests/Core/Database/Driver/sqlite/ConnectionTest.php \Drupal\Tests\Core\Database\Driver\sqlite\ConnectionTest
  13. 8.9.x core/tests/Drupal/Tests/Core/Database/ConnectionTest.php \Drupal\Tests\Core\Database\ConnectionTest
  14. 10 core/modules/sqlite/tests/src/Kernel/sqlite/ConnectionTest.php \Drupal\Tests\sqlite\Kernel\sqlite\ConnectionTest

Tests the connections for the Search queries.

Attributes

#[CoversClass(Connection::class)] #[Group('search')]

Hierarchy

  • class \Drupal\Tests\search\Unit\Database\ConnectionTest extends \Drupal\Tests\UnitTestCase

Expanded class hierarchy of ConnectionTest

File

core/modules/search/tests/src/Unit/Database/ConnectionTest.php, line 18

Namespace

Drupal\Tests\search\Unit\Database
View source
class ConnectionTest extends UnitTestCase {
  
  /**
   * Data provider for testGetDriverClass().
   *
   * @return array
   *   Array of arrays with the following elements:
   *   - Expected namespaced class name.
   *   - Namespace.
   *   - Class name without namespace.
   */
  public static function providerGetDriverClass() : array {
    return [
      [
        'SearchQuery',
        'Drupal\\SearchFake\\Driver\\Database\\SearchFake',
        'SearchQuery',
      ],
      [
        'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses\\SearchQuery',
        'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses',
        'SearchQuery',
      ],
      [
        'Drupal\\search\\SearchQuery',
        'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses',
        'Drupal\\search\\SearchQuery',
      ],
      [
        '\\Drupal\\search\\SearchQuery',
        'Drupal\\search_fake\\Driver\\Database\\SearchFakeWithAllCustomClasses',
        '\\Drupal\\search\\SearchQuery',
      ],
    ];
  }
  
  /**
   * Tests get driver class.
   */
  public function testGetDriverClass(string $expected, ?string $namespace, string $class) : 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,
    ]);
    match ($class) {  'Install\\Tasks', 'ExceptionHandler', 'Select', 'Insert', 'Merge', 'Upsert', 'Update', 'Delete', 'Truncate', 'Schema', 'Condition', 'Transaction' => $this->expectExceptionMessageIs('Calling Drupal\\Core\\Database\\Connection::getDriverClass() for \'' . $class . '\' is not supported. Use standard autoloading in the methods that return database operations. See https://www.drupal.org/node/3217534'),
      default => NULL,
    
    };
    $this->assertEquals($expected, $connection->getDriverClass($class));
  }

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.