2024-05-22 14:08:45 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace MediaWiki\Tests\Parser\Parsoid\Config;
|
|
|
|
|
|
2024-06-13 21:21:02 +00:00
|
|
|
use MediaWiki\Content\TextContentHandler;
|
2024-05-22 14:08:45 +00:00
|
|
|
use MediaWikiIntegrationTestCase;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @covers \MediaWiki\Parser\Parsoid\Config\SiteConfig
|
|
|
|
|
*/
|
|
|
|
|
class SiteConfigTest extends MediaWikiIntegrationTestCase {
|
|
|
|
|
|
|
|
|
|
public static function provideSupportsContentModels() {
|
|
|
|
|
yield [ CONTENT_MODEL_WIKITEXT, true ];
|
|
|
|
|
yield [ CONTENT_MODEL_JSON, true ];
|
|
|
|
|
yield [ CONTENT_MODEL_JAVASCRIPT, false ];
|
|
|
|
|
yield [ 'with-text', true ];
|
|
|
|
|
yield [ 'xyzzy', false ];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @dataProvider provideSupportsContentModels
|
|
|
|
|
*/
|
|
|
|
|
public function testSupportsContentModel( $model, $expected ) {
|
|
|
|
|
$contentHandlers = $this->getConfVar( 'ContentHandlers' );
|
|
|
|
|
$this->overrideConfigValue( 'ContentHandlers', [
|
|
|
|
|
'with-text' => [ 'factory' => static function () {
|
|
|
|
|
return new TextContentHandler( 'with-text', [ CONTENT_FORMAT_WIKITEXT, 'plain/test' ] );
|
|
|
|
|
} ],
|
|
|
|
|
] + $contentHandlers );
|
|
|
|
|
|
|
|
|
|
$this->resetServices();
|
|
|
|
|
$siteConfig = $this->getServiceContainer()->getParsoidSiteConfig();
|
|
|
|
|
$this->assertSame( $expected, $siteConfig->supportsContentModel( $model ) );
|
|
|
|
|
}
|
|
|
|
|
}
|