Merge "DatabaseMssql: Don't duplicate body of makeList()"
[mediawiki.git] / tests / phpunit / includes / page / ArticleTablesTest.php
blob9f2b7a053457e5decd1fee36b0765e8a090b8517
1 <?php
3 /**
4 * @group Database
5 */
6 class ArticleTablesTest extends MediaWikiLangTestCase {
7 /**
8 * Make sure that bug 14404 doesn't strike again. We don't want
9 * templatelinks based on the user language when {{int:}} is used, only the
10 * content language.
12 * @covers Title::getTemplateLinksFrom
13 * @covers Title::getLinksFrom
15 public function testTemplatelinksUsesContentLanguage() {
16 $title = Title::newFromText( 'Bug 14404' );
17 $page = WikiPage::factory( $title );
18 $user = new User();
19 $user->mRights = array( 'createpage', 'edit', 'purge' );
20 $this->setMwGlobals( 'wgLanguageCode', 'es' );
21 $this->setMwGlobals( 'wgContLang', Language::factory( 'es' ) );
22 $this->setMwGlobals( 'wgLang', Language::factory( 'fr' ) );
24 $page->doEditContent(
25 new WikitextContent( '{{:{{int:history}}}}' ),
26 'Test code for bug 14404',
28 false,
29 $user
31 $templates1 = $title->getTemplateLinksFrom();
33 $this->setMwGlobals( 'wgLang', Language::factory( 'de' ) );
34 $page = WikiPage::factory( $title ); // In order to force the re-rendering of the same wikitext
36 // We need an edit, a purge is not enough to regenerate the tables
37 $page->doEditContent(
38 new WikitextContent( '{{:{{int:history}}}}' ),
39 'Test code for bug 14404',
40 EDIT_UPDATE,
41 false,
42 $user
44 $templates2 = $title->getTemplateLinksFrom();
46 /**
47 * @var Title[] $templates1
48 * @var Title[] $templates2
50 $this->assertEquals( $templates1, $templates2 );
51 $this->assertEquals( $templates1[0]->getFullText(), 'Historial' );