setMwGlobals( array( 'wgLanguageCode' => 'en', 'wgContLang' => Language::factory( 'en' ), 'wgNamespacesWithSubpages' => array( 0 => false, 2 => true ), ) ); } public function basicProvider() { return array( array( new ForeignTitle( 0, '', 'MainNamespaceArticle' ), Title::newFromText( 'User:Graham' ), Title::newFromText( 'User:Graham/MainNamespaceArticle' ) ), array( new ForeignTitle( 1, 'Discussion', 'Nice_talk' ), Title::newFromText( 'User:Graham' ), Title::newFromText( 'User:Graham/Discussion:Nice_talk' ) ), array( new ForeignTitle( 0, '', 'Bogus:Nice_talk' ), Title::newFromText( 'User:Graham' ), Title::newFromText( 'User:Graham/Bogus:Nice_talk' ) ), ); } /** * @dataProvider basicProvider */ public function testBasic( ForeignTitle $foreignTitle, Title $rootPage, Title $title ) { $factory = new SubpageImportTitleFactory( $rootPage ); $testTitle = $factory->createTitleFromForeignTitle( $foreignTitle ); $this->assertTrue( $testTitle->equals( $title ) ); } public function failureProvider() { return array( array( Title::newFromText( 'Graham' ), ), ); } /** * @dataProvider failureProvider */ public function testFailures( Title $rootPage ) { $this->setExpectedException( 'MWException' ); new SubpageImportTitleFactory( $rootPage ); } }