use Wikimedia\Rdbms\Blob;
use Wikimedia\Rdbms\Database;
use Wikimedia\Rdbms\DatabaseSqlite;
+use Wikimedia\Rdbms\ResultWrapper;
class DatabaseSqliteMock extends DatabaseSqlite {
- private $lastQuery;
-
public static function newInstance( array $p = [] ) {
$p['dbFilePath'] = ':memory:';
$p['schema'] = false;
}
function query( $sql, $fname = '', $tempIgnore = false ) {
- $this->lastQuery = $sql;
-
return true;
}
);
}
+ /**
+ * @coversNothing
+ */
public function testEntireSchema() {
global $IP;
/**
* Runs upgrades of older databases and compares results with current schema
* @todo Currently only checks list of tables
+ * @coversNothing
*/
public function testUpgrades() {
global $IP, $wgVersion, $wgProfiler;
$db = DatabaseSqlite::newStandaloneInstance( ':memory:' );
$databaseCreation = $db->query( 'CREATE TABLE a ( a_1 )', __METHOD__ );
- $this->assertInstanceOf( 'ResultWrapper', $databaseCreation, "Database creation" );
+ $this->assertInstanceOf( ResultWrapper::class, $databaseCreation, "Database creation" );
$insertion = $db->insert( 'a', [ 'a_1' => 10 ], __METHOD__ );
$this->assertTrue( $insertion, "Insertion worked" );
$db = DatabaseSqlite::newStandaloneInstance( ':memory:' );
$databaseCreation = $db->query( 'CREATE TABLE a ( a_1 )', __METHOD__ );
- $this->assertInstanceOf( 'ResultWrapper', $databaseCreation, "Failed to create table a" );
+ $this->assertInstanceOf( ResultWrapper::class, $databaseCreation, "Failed to create table a" );
$res = $db->select( 'a', '*' );
$this->assertEquals( 0, $db->numFields( $res ), "expects to get 0 fields for an empty table" );
$insertion = $db->insert( 'a', [ 'a_1' => 10 ], __METHOD__ );
$this->assertContains( 'SQLite ', $toString );
}
+
+ /**
+ * @covers \Wikimedia\Rdbms\DatabaseSqlite::getAttributes()
+ */
+ public function testsAttributes() {
+ $attributes = Database::attributesFromType( 'sqlite' );
+ $this->assertTrue( $attributes[Database::ATTR_DB_LEVEL_LOCKING] );
+ }
}