Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F585057
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php b/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php
index c8e16d7ac01..d53f84800a6 100644
--- a/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php
+++ b/tests/phpunit/integration/includes/Rest/Handler/ParsoidHandlerTest.php
@@ -7,8 +7,6 @@ use Exception;
use Generator;
use MediaWiki\Content\JavaScriptContent;
use MediaWiki\Content\WikitextContent;
-use MediaWiki\Language\Language;
-use MediaWiki\Language\LanguageCode;
use MediaWiki\MainConfigNames;
use MediaWiki\Page\PageIdentity;
use MediaWiki\Parser\ParserCache;
@@ -38,6 +36,8 @@ use MediaWiki\Title\TitleValue;
use MediaWiki\User\UserIdentityValue;
use MediaWikiIntegrationTestCase;
use PHPUnit\Framework\MockObject\MockObject;
+use Wikimedia\Bcp47Code\Bcp47Code;
+use Wikimedia\Bcp47Code\Bcp47CodeValue;
use Wikimedia\Message\MessageValue;
use Wikimedia\Parsoid\Config\DataAccess;
use Wikimedia\Parsoid\Config\PageConfig;
@@ -115,18 +115,15 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
?? $this->getServiceContainer()->getParsoidPageConfigFactory();
$handler = new class (
- $this,
$revisionLookup,
$siteConfig,
$pageConfigFactory,
$dataAccess,
$methodOverrides
) extends ParsoidHandler {
- private $testCase;
private $overrides;
public function __construct(
- $testCase,
RevisionLookup $revisionLookup,
SiteConfig $siteConfig,
PageConfigFactory $pageConfigFactory,
@@ -140,7 +137,6 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
$dataAccess
);
- $this->testCase = $testCase;
$this->overrides = $overrides;
}
@@ -216,7 +212,7 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
);
}
$attribs += [
- 'pagelanguage' => $this->testCase->createLanguageMock( 'en' ),
+ 'pagelanguage' => new Bcp47CodeValue( 'en' ),
];
return parent::tryToCreatePageConfig(
@@ -1418,10 +1414,10 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
}
/** @return Generator */
- public function provideTryToCreatePageConfigData() {
- $en = $this->createLanguageMock( 'en' );
- $ar = $this->createLanguageMock( 'ar' );
- $de = $this->createLanguageMock( 'de' );
+ public static function provideTryToCreatePageConfigData() {
+ $en = new Bcp47CodeValue( 'en' );
+ $ar = new Bcp47CodeValue( 'ar' );
+ $de = new Bcp47CodeValue( 'de' );
yield 'Default attribs for tryToCreatePageConfig()' => [
'attribs' => [ 'oldid' => 1, 'pageName' => 'Test', 'pagelanguage' => $en ],
'wikitext' => null,
@@ -1481,7 +1477,7 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
array $attribs,
?string $wikitext,
$html2WtMode,
- Language $expectedLanguage
+ Bcp47Code $expectedLanguage
) {
// Create a page, if needed, to test with oldid
$origContent = 'Test content for ' . __METHOD__;
@@ -1498,12 +1494,12 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
$pageName = ( $attribs['pageName'] === '' ) ? 'Main Page' : $attribs['pageName'];
$this->assertSame( $pageName, $pageConfig->getLinkTarget()->getPrefixedText() );
- $this->assertSame( $expectedLanguage->getCode(), $pageConfig->getPageLanguageBcp47()->getCode() );
+ $this->assertTrue( $expectedLanguage->isSameCodeAs( $pageConfig->getPageLanguageBcp47() ) );
}
/** @return Generator */
- public function provideTryToCreatePageConfigDataThrows() {
- $en = $this->createLanguageMock( 'en' );
+ public static function provideTryToCreatePageConfigDataThrows() {
+ $en = new Bcp47CodeValue( 'en' );
yield "PageConfig with oldid that doesn't exist" => [
'attribs' => [ 'oldid' => null, 'pageName' => 'Test', 'pagelanguage' => $en ],
'wikitext' => null,
@@ -1720,9 +1716,9 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
$this->assertSame( $wikitext, $actual );
}
- public function provideLanguageConversion() {
- $en = $this->createLanguageMock( 'en' );
- $enPigLatin = $this->createLanguageMock( 'en-x-piglatin' );
+ public static function provideLanguageConversion() {
+ $en = new Bcp47CodeValue( 'en' );
+ $enPigLatin = new Bcp47CodeValue( 'en-x-piglatin' );
$profileVersion = Parsoid::AVAILABLE_VERSIONS[0];
$htmlProfileUri = 'https://www.mediawiki.org/wiki/Specs/HTML/' . $profileVersion;
$htmlContentType = "text/html; charset=utf-8; profile=\"$htmlProfileUri\"";
@@ -1764,7 +1760,7 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
'>esttay anguagelay onversioncay<',
[
'content-type' => $htmlContentType,
- 'content-language' => $enPigLatin->toBcp47Code(),
+ 'content-language' => 'en-x-piglatin',
]
];
}
@@ -2255,27 +2251,4 @@ class ParsoidHandlerTest extends MediaWikiIntegrationTestCase {
// TODO: test wt2html failure modes
// TODO: test redlinks
- public function createLanguageMock( string $code ) {
- // Ensure that we always return the same object for a given code.
- static $seen = [];
- if ( !isset( $seen[$code] ) ) {
- $langMock = $this->createMock( Language::class );
- $langMock
- ->method( 'getCode' )
- ->willReturn( $code );
- $bcp47 = LanguageCode::bcp47( $code );
- $langMock
- ->method( 'getHtmlCode' )
- ->willReturn( $bcp47 );
- $langMock
- ->method( 'toBcp47Code' )
- ->willReturn( $bcp47 );
- $langMock
- ->method( 'getDir' )
- ->willReturn( 'ltr' );
- $seen[$code] = $langMock;
- }
- return $seen[$code];
- }
-
}
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Jul 5, 5:32 AM (11 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
227500
Default Alt Text
(5 KB)
Attached To
Mode
rMW mediawiki
Attached
Detach File
Event Timeline
Log In to Comment