Merge "Fix use of GenderCache in ApiPageSet::processTitlesArray"
[lhc/web/wiklou.git] / tests / phpunit / includes / import / ImportableOldRevisionImporterTest.php
1 <?php
2
3 use MediaWiki\MediaWikiServices;
4 use Psr\Log\NullLogger;
5
6 /**
7 * @group Database
8 * @coversDefaultClass ImportableOldRevisionImporter
9 */
10 class ImportableOldRevisionImporterTest extends MediaWikiIntegrationTestCase {
11
12 public function setUp() {
13 parent::setUp();
14
15 $this->tablesUsed[] = 'change_tag';
16 $this->tablesUsed[] = 'change_tag_def';
17
18 ChangeTags::defineTag( 'tag1' );
19 }
20
21 public function provideTestCases() {
22 yield [ [] ];
23 yield [ [ "tag1" ] ];
24 }
25
26 /**
27 * @covers ::import
28 * @param $expectedTags
29 * @dataProvider provideTestCases
30 */
31 public function testImport( $expectedTags ) {
32 $services = MediaWikiServices::getInstance();
33
34 $title = Title::newFromText( __CLASS__ . rand() );
35 $revision = new WikiRevision( $services->getMainConfig() );
36 $revision->setTitle( $title );
37 $revision->setTags( $expectedTags );
38 $revision->setText( "dummy edit" );
39
40 $importer = new ImportableOldRevisionImporter(
41 true,
42 new NullLogger(),
43 $services->getDBLoadBalancer()
44 );
45 $result = $importer->import( $revision );
46 $this->assertTrue( $result );
47
48 $page = WikiPage::factory( $title );
49 $tags = ChangeTags::getTags(
50 $services->getDBLoadBalancer()->getConnection( DB_MASTER ),
51 null,
52 $page->getLatest()
53 );
54 $this->assertSame( $expectedTags, $tags );
55 }
56 }