aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/diff/TextSlotDiffRendererTest.php
diff options
context:
space:
mode:
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>2023-06-26 03:13:42 +0000
committerGerrit Code Review <gerrit@wikimedia.org>2023-06-26 03:13:42 +0000
commit7b7f1181d325b63499a456de78017abdf16a6386 (patch)
tree604c5d480c3eb181df4a09553f0856954d84e196 /tests/phpunit/includes/diff/TextSlotDiffRendererTest.php
parente61ec36de7a0dc9757ebcad7c97b728a54725b7e (diff)
parent8983c9d862959402e7818c779c8e1a3a957abae1 (diff)
downloadmediawikicore-7b7f1181d325b63499a456de78017abdf16a6386.tar.gz
mediawikicore-7b7f1181d325b63499a456de78017abdf16a6386.zip
Merge "diff: Move SlotDiffRenderer::getTablePrefix() parts assembly up to DifferenceEngine"
Diffstat (limited to 'tests/phpunit/includes/diff/TextSlotDiffRendererTest.php')
-rw-r--r--tests/phpunit/includes/diff/TextSlotDiffRendererTest.php57
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/phpunit/includes/diff/TextSlotDiffRendererTest.php b/tests/phpunit/includes/diff/TextSlotDiffRendererTest.php
index f428b677928a..d61e51bc5fcf 100644
--- a/tests/phpunit/includes/diff/TextSlotDiffRendererTest.php
+++ b/tests/phpunit/includes/diff/TextSlotDiffRendererTest.php
@@ -1,5 +1,6 @@
<?php
+use MediaWiki\MainConfigNames;
use Wikimedia\Assert\ParameterTypeException;
/**
@@ -128,4 +129,60 @@ class TextSlotDiffRendererTest extends MediaWikiIntegrationTestCase {
return ContentHandler::makeContent( $str, null, $model );
}
+ public static function provideGetTablePrefix() {
+ return [
+ 'php' => [
+ TextSlotDiffRenderer::ENGINE_PHP,
+ [
+ TextSlotDiffRenderer::INLINE_LEGEND_KEY => '<div></div>',
+ TextSlotDiffRenderer::INLINE_SWITCHER_KEY => null
+ ]
+ ],
+ 'wikidiff2' => [
+ TextSlotDiffRenderer::ENGINE_WIKIDIFF2,
+ [
+ TextSlotDiffRenderer::INLINE_LEGEND_KEY =>
+ 'class="mw-diff-inline-legend mw-diff-element-hidden"',
+ TextSlotDiffRenderer::INLINE_SWITCHER_KEY => 'mw-diffPage-inlineToggle-container'
+ ]
+ ],
+ 'inline' => [
+ TextSlotDiffRenderer::ENGINE_WIKIDIFF2_INLINE,
+ [
+ TextSlotDiffRenderer::INLINE_LEGEND_KEY =>
+ 'class="mw-diff-inline-legend".*\(diff-inline-tooltip-ins\)',
+ TextSlotDiffRenderer::INLINE_SWITCHER_KEY => 'mw-diffPage-inlineToggle-container'
+ ]
+ ]
+ ];
+ }
+
+ /**
+ * @dataProvider provideGetTablePrefix
+ * @param string $engine
+ * @param string[] $expectedPatterns
+ */
+ public function testGetTablePrefix( $engine, $expectedPatterns ) {
+ OOUI\Theme::setSingleton( new OOUI\BlankTheme() );
+ $this->overrideConfigValue( MainConfigNames::ShowDiffToggleSwitch, true );
+
+ $slotDiffRenderer = $this->getTextSlotDiffRenderer();
+ $slotDiffRenderer->setHookContainer( $this->createHookContainer() );
+ $slotDiffRenderer->setEngine( $engine );
+
+ $context = new RequestContext;
+ $context->setLanguage( 'qqx' );
+
+ $title = $this->getServiceContainer()->getTitleFactory()->newFromText( 'Test' );
+ $result = $slotDiffRenderer->getTablePrefix( $context, $title );
+ $this->assertSameSize( $expectedPatterns, $result );
+ foreach ( $expectedPatterns as $key => $pattern ) {
+ if ( $pattern === null ) {
+ $this->assertNull( $result[$key], "\$result[$key]" );
+ } else {
+ $this->assertMatchesRegularExpression(
+ "#$pattern#", $result[$key], "\$result[$key]" );
+ }
+ }
+ }
}