* @group ContentHandler
* @group Database
* ^--- important, causes temporary tables to be used instead of the real database
+* @group medium
**/
class WikiPageTest extends MediaWikiLangTestCase {
*/
protected function newPage( $title, $model = null ) {
if ( is_string( $title ) ) {
- $title = Title::newFromText( $title );
+ $ns = $this->getDefaultWikitextNS();
+ $title = Title::newFromText( $title, $ns );
}
$p = new WikiPage( $title );
* @return WikiPage
*/
protected function createPage( $page, $text, $model = null ) {
- if ( is_string( $page ) ) {
- $page = Title::newFromText( $page );
- }
-
- if ( $page instanceof Title ) {
+ if ( is_string( $page ) || $page instanceof Title ) {
$page = $this->newPage( $page, $model );
}
}
public function testDoEditContent() {
- $title = Title::newFromText( "WikiPageTest_testDoEditContent" );
-
- $page = $this->newPage( $title );
+ $page = $this->newPage( "WikiPageTest_testDoEditContent" );
+ $title = $page->getTitle();
$content = ContentHandler::makeContent( "[[Lorem ipsum]] dolor sit amet, consetetur sadipscing elitr, sed diam "
. " nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.",
* @dataProvider provideIsCountable
*/
public function testIsCountable( $title, $model, $text, $mode, $expected ) {
- global $wgArticleCountMethod;
+ global $wgContentHandlerUseDB;
- $oldArticleCountMethod = $wgArticleCountMethod;
- $wgArticleCountMethod = $mode;
+ $this->setMwGlobals( 'wgArticleCountMethod', $mode );
+
+ $title = Title::newFromText( $title );
+
+ if ( !$wgContentHandlerUseDB && ContentHandler::getDefaultModelFor( $title ) != $model ) {
+ $this->markTestSkipped( "Can not use non-default content model $model for "
+ . $title->getPrefixedDBkey() . " with \wgArticleCountMethod disabled." );
+ }
$page = $this->createPage( $title, $text, $model );
$hasLinks = wfGetDB( DB_SLAVE )->selectField( 'pagelinks', 1,
$v = $page->isCountable();
$w = $page->isCountable( $editInfo );
- $wgArticleCountMethod = $oldArticleCountMethod;
-
$this->assertEquals( $expected, $v, "isCountable( null ) returned unexpected value " . var_export( $v, true )
. " instead of " . var_export( $expected, true ) . " in mode `$mode` for text \"$text\"" );