2010-12-28 18:43:49 +00:00
|
|
|
<?php
|
|
|
|
|
|
2023-03-01 20:33:26 +00:00
|
|
|
use MediaWiki\Title\Title;
|
|
|
|
|
|
2010-12-28 18:43:49 +00:00
|
|
|
/**
|
|
|
|
|
* @group Database
|
|
|
|
|
*/
|
2011-05-01 23:02:27 +00:00
|
|
|
class ArticleTablesTest extends MediaWikiLangTestCase {
|
2019-04-09 06:58:04 +00:00
|
|
|
|
2013-10-24 10:54:02 +00:00
|
|
|
/**
|
2017-02-20 23:45:58 +00:00
|
|
|
* Make sure that T16404 doesn't strike again. We don't want
|
2014-09-04 01:58:33 +00:00
|
|
|
* templatelinks based on the user language when {{int:}} is used, only the
|
|
|
|
|
* content language.
|
|
|
|
|
*
|
2023-05-27 09:43:12 +00:00
|
|
|
* @covers MediaWiki\Title\Title::getTemplateLinksFrom
|
|
|
|
|
* @covers MediaWiki\Title\Title::getLinksFrom
|
2013-10-24 10:54:02 +00:00
|
|
|
*/
|
2014-09-04 01:58:33 +00:00
|
|
|
public function testTemplatelinksUsesContentLanguage() {
|
2022-09-23 19:53:11 +00:00
|
|
|
$title = Title::makeTitle( NS_MAIN, 'T16404' );
|
2022-09-01 21:18:41 +00:00
|
|
|
$wikiPageFactory = $this->getServiceContainer()->getWikiPageFactory();
|
|
|
|
|
$page = $wikiPageFactory->newFromTitle( $title );
|
2012-02-01 15:53:57 +00:00
|
|
|
$user = new User();
|
2019-04-09 06:58:04 +00:00
|
|
|
$this->overrideUserPermissions( $user, [ 'createpage', 'edit', 'purge' ] );
|
2016-03-09 16:47:58 +00:00
|
|
|
$this->setContentLang( 'es' );
|
|
|
|
|
$this->setUserLang( 'fr' );
|
2011-08-01 16:01:13 +00:00
|
|
|
|
2021-06-24 08:42:19 +00:00
|
|
|
$page->doUserEditContent(
|
2014-03-07 20:22:13 +00:00
|
|
|
new WikitextContent( '{{:{{int:history}}}}' ),
|
2021-06-24 08:42:19 +00:00
|
|
|
$user,
|
|
|
|
|
'Test code for T16404'
|
2014-03-07 20:22:13 +00:00
|
|
|
);
|
2012-08-20 14:55:28 +00:00
|
|
|
$templates1 = $title->getTemplateLinksFrom();
|
2010-12-28 18:43:49 +00:00
|
|
|
|
2016-03-09 16:47:58 +00:00
|
|
|
$this->setUserLang( 'de' );
|
2022-09-01 21:18:41 +00:00
|
|
|
$page = $wikiPageFactory->newFromTitle( $title ); // In order to force the re-rendering of the same wikitext
|
2011-08-01 16:01:13 +00:00
|
|
|
|
2010-12-28 18:43:49 +00:00
|
|
|
// We need an edit, a purge is not enough to regenerate the tables
|
2021-06-24 08:42:19 +00:00
|
|
|
$page->doUserEditContent(
|
2014-03-07 20:22:13 +00:00
|
|
|
new WikitextContent( '{{:{{int:history}}}}' ),
|
2021-06-24 08:42:19 +00:00
|
|
|
$user,
|
2017-02-20 23:45:58 +00:00
|
|
|
'Test code for T16404',
|
2021-06-24 08:42:19 +00:00
|
|
|
EDIT_UPDATE
|
2014-03-07 20:22:13 +00:00
|
|
|
);
|
2012-08-20 14:55:28 +00:00
|
|
|
$templates2 = $title->getTemplateLinksFrom();
|
2011-08-01 16:01:13 +00:00
|
|
|
|
2014-03-07 20:22:13 +00:00
|
|
|
/**
|
|
|
|
|
* @var Title[] $templates1
|
|
|
|
|
* @var Title[] $templates2
|
|
|
|
|
*/
|
2010-12-28 18:43:49 +00:00
|
|
|
$this->assertEquals( $templates1, $templates2 );
|
2021-08-04 17:26:57 +00:00
|
|
|
$this->assertSame( 'Historial', $templates1[0]->getFullText() );
|
2010-12-28 18:43:49 +00:00
|
|
|
}
|
|
|
|
|
}
|