8f3b1ca8161b91d5092ad0574cc985a841dfc46e
[lhc/web/wiklou.git] / maintenance / tests / MediaWiki_Setup.php
1 <?php
2
3 abstract class MediaWiki_Setup extends PHPUnit_Framework_TestCase {
4
5 protected function buildTestDatabase( $tables ) {
6 global $wgDBprefix;
7
8 $db = wfGetDB( DB_MASTER );
9 $oldTableNames = array();
10 foreach ( $tables as $table )
11 $oldTableNames[$table] = $db->tableName( $table );
12 if ( $db->getType() == 'oracle' ) {
13 $wgDBprefix = 'pt_';
14 } else {
15 $wgDBprefix = 'parsertest_';
16 }
17
18 $db->tablePrefix( $wgDBprefix );
19
20 if ( $db->isOpen() ) {
21 foreach ( $tables as $tbl ) {
22 $newTableName = $db->tableName( $tbl );
23 $tableName = $oldTableNames[$tbl];
24 $db->query( "DROP TABLE IF EXISTS $newTableName", __METHOD__ );
25 $db->duplicateTableStructure( $tableName, $newTableName, __METHOD__ );
26 }
27 return $db;
28 } else {
29 // Something amiss
30 return null;
31 }
32 }
33 }
34