wiki.techinc.nl/tests/phpunit/includes/page/ArticleTablesTest.php
Kosta Harlan f4cbf1a41b
ArticleTablesTest: Use named user in test
Why:

- Using an anonymous user in a test that makes edits will fail when temp
  accounts are enabled

What:

- Use a named account in the test

Bug: T365669
Change-Id: Ic879530b53da9f9e3444aef5b34202f4359260f8
2024-06-27 09:08:01 +02:00

53 lines
1.5 KiB
PHP

<?php
use MediaWiki\Title\Title;
/**
* @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 \MediaWiki\Title\Title::getTemplateLinksFrom
* @covers \MediaWiki\Title\Title::getLinksFrom
*/
public function testTemplatelinksUsesContentLanguage() {
$title = Title::makeTitle( NS_MAIN, 'T16404' );
$wikiPageFactory = $this->getServiceContainer()->getWikiPageFactory();
$page = $wikiPageFactory->newFromTitle( $title );
$user = $this->getTestUser()->getUser();
$this->overrideUserPermissions( $user, [ 'createpage', 'edit', 'purge' ] );
$this->setContentLang( 'es' );
$this->setUserLang( 'fr' );
$page->doUserEditContent(
new WikitextContent( '{{:{{int:history}}}}' ),
$user,
'Test code for T16404'
);
$templates1 = $title->getTemplateLinksFrom();
$this->setUserLang( 'de' );
$page = $wikiPageFactory->newFromTitle( $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->doUserEditContent(
new WikitextContent( '{{:{{int:history}}}}' ),
$user,
'Test code for T16404',
EDIT_UPDATE
);
$templates2 = $title->getTemplateLinksFrom();
/**
* @var Title[] $templates1
* @var Title[] $templates2
*/
$this->assertEquals( $templates1, $templates2 );
$this->assertSame( 'Historial', $templates1[0]->getFullText() );
}
}