manualTest ) ) { $this->queryPages[$class] = new $class; } } } /** * Test SQL for each of our QueryPages objects * @group Database */ function testQuerypageSqlQuery() { global $wgDBtype; foreach( $this->queryPages as $page ) { // With MySQL, skips special pages reopening a temporary table // See http://bugs.mysql.com/bug.php?id=10327 if( $wgDBtype === 'mysql' && in_array( $page->getName(), $this->reopensTempTable ) ) { $this->markTestSkipped( "SQL query for page {$page->getName()} can not be tested on MySQL backend (it reopens a temporary table)" ); continue; } $msg = "SQL query for page {$page->getName()} should give a result wrapper object" ; $result = $page->reallyDoQuery( 50 ); if( $result instanceof ResultWrapper ) { $this->assertTrue( true, $msg ); } else { $this->assertFalse( false, $msg ); } } } }