summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/ArticleTablesTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/phpunit/includes/ArticleTablesTest.php')
-rw-r--r--tests/phpunit/includes/ArticleTablesTest.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/phpunit/includes/ArticleTablesTest.php b/tests/phpunit/includes/ArticleTablesTest.php
new file mode 100644
index 00000000..9f2b7a05
--- /dev/null
+++ b/tests/phpunit/includes/ArticleTablesTest.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * @group Database
+ */
+class ArticleTablesTest extends MediaWikiLangTestCase {
+ /**
+ * Make sure that bug 14404 doesn't strike again. We don't want
+ * templatelinks based on the user language when {{int:}} is used, only the
+ * content language.
+ *
+ * @covers Title::getTemplateLinksFrom
+ * @covers Title::getLinksFrom
+ */
+ public function testTemplatelinksUsesContentLanguage() {
+ $title = Title::newFromText( 'Bug 14404' );
+ $page = WikiPage::factory( $title );
+ $user = new User();
+ $user->mRights = array( 'createpage', 'edit', 'purge' );
+ $this->setMwGlobals( 'wgLanguageCode', 'es' );
+ $this->setMwGlobals( 'wgContLang', Language::factory( 'es' ) );
+ $this->setMwGlobals( 'wgLang', Language::factory( 'fr' ) );
+
+ $page->doEditContent(
+ new WikitextContent( '{{:{{int:history}}}}' ),
+ 'Test code for bug 14404',
+ 0,
+ false,
+ $user
+ );
+ $templates1 = $title->getTemplateLinksFrom();
+
+ $this->setMwGlobals( 'wgLang', Language::factory( 'de' ) );
+ $page = WikiPage::factory( $title ); // In order to force the re-rendering of the same wikitext
+
+ // We need an edit, a purge is not enough to regenerate the tables
+ $page->doEditContent(
+ new WikitextContent( '{{:{{int:history}}}}' ),
+ 'Test code for bug 14404',
+ EDIT_UPDATE,
+ false,
+ $user
+ );
+ $templates2 = $title->getTemplateLinksFrom();
+
+ /**
+ * @var Title[] $templates1
+ * @var Title[] $templates2
+ */
+ $this->assertEquals( $templates1, $templates2 );
+ $this->assertEquals( $templates1[0]->getFullText(), 'Historial' );
+ }
+}