]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - tests/phpunit/includes/page/ArticleTablesTest.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / tests / phpunit / includes / page / ArticleTablesTest.php
diff --git a/tests/phpunit/includes/page/ArticleTablesTest.php b/tests/phpunit/includes/page/ArticleTablesTest.php
new file mode 100644 (file)
index 0000000..34b2525
--- /dev/null
@@ -0,0 +1,52 @@
+<?php
+
+/**
+ * @group Database
+ */
+class ArticleTablesTest extends MediaWikiLangTestCase {
+       /**
+        * Make sure that T16404 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( 'T16404' );
+               $page = WikiPage::factory( $title );
+               $user = new User();
+               $user->mRights = [ 'createpage', 'edit', 'purge' ];
+               $this->setContentLang( 'es' );
+               $this->setUserLang( 'fr' );
+
+               $page->doEditContent(
+                       new WikitextContent( '{{:{{int:history}}}}' ),
+                       'Test code for T16404',
+                       0,
+                       false,
+                       $user
+               );
+               $templates1 = $title->getTemplateLinksFrom();
+
+               $this->setUserLang( '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 T16404',
+                       EDIT_UPDATE,
+                       false,
+                       $user
+               );
+               $templates2 = $title->getTemplateLinksFrom();
+
+               /**
+                * @var Title[] $templates1
+                * @var Title[] $templates2
+                */
+               $this->assertEquals( $templates1, $templates2 );
+               $this->assertEquals( $templates1[0]->getFullText(), 'Historial' );
+       }
+}