wiki.techinc.nl/tests/phpunit/includes/title/NamespaceImportTitleFactoryTest.php
aude ffe62978e3 Avoid database access in ImportTitleFactory tests dataProviders
data providers run when the test database tables are not setup
and thus hit the regular database.

If possible, we should avoid this which can be done in these
tests by creating the Title objects in the tests themselves.

Change-Id: I084938b79d7b719a9bb524d4596635b9e1eb4486
2017-03-18 19:12:52 -04:00

78 lines
1.9 KiB
PHP

<?php
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @author This, that and the other
*/
/**
* @covers NamespaceImportTitleFactory
*
* @group Title
*/
class NamespaceImportTitleFactoryTest extends MediaWikiTestCase {
protected function setUp() {
parent::setUp();
$this->setMwGlobals( [
'wgLanguageCode' => 'en',
'wgContLang' => Language::factory( 'en' ),
] );
}
public function basicProvider() {
return [
[
new ForeignTitle( 0, '', 'MainNamespaceArticle' ),
0,
'MainNamespaceArticle'
],
[
new ForeignTitle( 0, '', 'MainNamespaceArticle' ),
2,
'User:MainNamespaceArticle'
],
[
new ForeignTitle( 1, 'Discussion', 'Nice_talk' ),
0,
'Nice_talk'
],
[
new ForeignTitle( 0, '', 'Bogus:Nice_talk' ),
0,
'Bogus:Nice_talk'
],
[
new ForeignTitle( 0, '', 'Bogus:Nice_talk' ),
2,
'User:Bogus:Nice_talk'
],
];
}
/**
* @dataProvider basicProvider
*/
public function testBasic( ForeignTitle $foreignTitle, $ns, $titleText ) {
$factory = new NamespaceImportTitleFactory( $ns );
$testTitle = $factory->createTitleFromForeignTitle( $foreignTitle );
$title = Title::newFromText( $titleText );
$this->assertTrue( $title->equals( $testTitle ) );
}
}