]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - tests/phpunit/includes/page/ArticleTablesTest.php
MediaWiki 1.30.2
[autoinstalls/mediawiki.git] / tests / phpunit / includes / page / ArticleTablesTest.php
1 <?php
2
3 /**
4  * @group Database
5  */
6 class ArticleTablesTest extends MediaWikiLangTestCase {
7         /**
8          * Make sure that T16404 doesn't strike again. We don't want
9          * templatelinks based on the user language when {{int:}} is used, only the
10          * content language.
11          *
12          * @covers Title::getTemplateLinksFrom
13          * @covers Title::getLinksFrom
14          */
15         public function testTemplatelinksUsesContentLanguage() {
16                 $title = Title::newFromText( 'T16404' );
17                 $page = WikiPage::factory( $title );
18                 $user = new User();
19                 $user->mRights = [ 'createpage', 'edit', 'purge' ];
20                 $this->setContentLang( 'es' );
21                 $this->setUserLang( 'fr' );
22
23                 $page->doEditContent(
24                         new WikitextContent( '{{:{{int:history}}}}' ),
25                         'Test code for T16404',
26                         0,
27                         false,
28                         $user
29                 );
30                 $templates1 = $title->getTemplateLinksFrom();
31
32                 $this->setUserLang( 'de' );
33                 $page = WikiPage::factory( $title ); // In order to force the re-rendering of the same wikitext
34
35                 // We need an edit, a purge is not enough to regenerate the tables
36                 $page->doEditContent(
37                         new WikitextContent( '{{:{{int:history}}}}' ),
38                         'Test code for T16404',
39                         EDIT_UPDATE,
40                         false,
41                         $user
42                 );
43                 $templates2 = $title->getTemplateLinksFrom();
44
45                 /**
46                  * @var Title[] $templates1
47                  * @var Title[] $templates2
48                  */
49                 $this->assertEquals( $templates1, $templates2 );
50                 $this->assertEquals( $templates1[0]->getFullText(), 'Historial' );
51         }
52 }