only in patch2: unchanged: --- /dev/null +++ b/core/tests/Drupal/Tests/Core/Database/InstallerObjectTest.php @@ -0,0 +1,62 @@ +addPsr4("Drupal\\Driver\\Database\\fake\\", __DIR__ . "/fixtures/driver/fake"); + $additional_class_loader->addPsr4("Drupal\\Core\\Database\\Driver\\corefake\\", __DIR__ . "/fixtures/core-driver/corefake"); + $additional_class_loader->addPsr4("Drupal\\Driver\\Database\\corefake\\", __DIR__ . "/fixtures/driver/corefake"); + $additional_class_loader->register(TRUE); + } + + /** + * @dataProvider providerDbInstallerObject + */ + public function testDbInstallerObject($driver, $expected_class_name) { + $object = db_installer_object($driver); + $this->assertEquals(get_class($object), $expected_class_name); + } + + /** + * Dataprovider for testDbUrltoConnectionConversion(). + * + * @return array + * Array of arrays with the following elements: + * - driver: The driver name. + * - class: The fully qualified class name of the expected install task. + */ + public function providerDbInstallerObject() { + return [ + // A driver only in the core namespace. + ['mysql', \Drupal\Core\Database\Driver\mysql\Install\Tasks::class], + + // A driver only in the custom namespace. + ['fake', \Drupal\Driver\Database\fake\Install\Tasks::class], + + // A driver in both namespaces. The custom one takes precedence. + ['corefake', \Drupal\Driver\Database\corefake\Install\Tasks::class], + ]; + } + +} only in patch2: unchanged: --- /dev/null +++ b/core/tests/Drupal/Tests/Core/Database/fixtures/core-driver/corefake/Install/Tasks.php @@ -0,0 +1,16 @@ +