TestDatabaseTest.php in Drupal 8
File
core/tests/Drupal/Tests/Core/Test/TestDatabaseTest.php
View source
<?php
namespace Drupal\Tests\Core\Test;
use Drupal\Core\Test\TestDatabase;
use Drupal\Tests\UnitTestCase;
class TestDatabaseTest extends UnitTestCase {
public function testConstructorException() {
$this
->expectException(\InvalidArgumentException::class);
$this
->expectExceptionMessage("Invalid database prefix: blah1253");
new TestDatabase('blah1253');
}
public function testConstructor($db_prefix, $expected_db_prefix, $expected_site_path) {
$test_db = new TestDatabase($db_prefix);
$this
->assertEquals($expected_db_prefix, $test_db
->getDatabasePrefix());
$this
->assertEquals($expected_site_path, $test_db
->getTestSitePath());
}
public function providerTestConstructor() {
return [
[
'test1234',
'test1234',
'sites/simpletest/1234',
],
[
'test123456test234567',
'test123456test234567',
'sites/simpletest/234567',
],
];
}
public function testConstructorNullPrefix() {
$test_db = new TestTestDatabase(NULL);
$this
->assertEquals('test23', $test_db
->getDatabasePrefix());
$this
->assertEquals('sites/simpletest/23', $test_db
->getTestSitePath());
}
}
class TestTestDatabase extends TestDatabase {
protected function getTestLock($create_lock = FALSE) {
return 23;
}
}