From 2ed4e600b42907acfe00afb2a804c805ad6959e5 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 6 Jul 2023 15:39:17 +1000 Subject: Add support for wikidiff2_multi_format_diff() Bug: T341754 Change-Id: I17396985d0b26516a06df17e9bd1343054521e01 --- .../diff/TextDiffer/ManifoldTextDifferTest.php | 3 ++- .../diff/TextDiffer/Wikidiff2TextDifferTest.php | 22 +++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) (limited to 'tests/phpunit/includes/diff/TextDiffer') diff --git a/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php b/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php index dd99d43fc621..f5dbdab6eee0 100644 --- a/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php +++ b/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php @@ -14,7 +14,8 @@ class ManifoldTextDifferTest extends MediaWikiIntegrationTestCase { RequestContext::getMain(), $services->getLanguageFactory()->getLanguage( 'en' ), $configVars['DiffEngine'] ?? null, - $configVars['ExternalDiffEngine'] ?? null + $configVars['ExternalDiffEngine'] ?? null, + $configVars['Wikidiff2Options'] ?? [] ); } diff --git a/tests/phpunit/includes/diff/TextDiffer/Wikidiff2TextDifferTest.php b/tests/phpunit/includes/diff/TextDiffer/Wikidiff2TextDifferTest.php index af389c4ec535..906346cdded4 100644 --- a/tests/phpunit/includes/diff/TextDiffer/Wikidiff2TextDifferTest.php +++ b/tests/phpunit/includes/diff/TextDiffer/Wikidiff2TextDifferTest.php @@ -10,7 +10,7 @@ use Wikimedia\TestingAccessWrapper; */ class Wikidiff2TextDifferTest extends MediaWikiIntegrationTestCase { private function createDiffer() { - $differ = new Wikidiff2TextDiffer(); + $differ = new Wikidiff2TextDiffer( [] ); $localizer = RequestContext::getMain(); $localizer->setLanguage( 'qqx' ); $differ->setLocalizer( $localizer ); @@ -18,13 +18,25 @@ class Wikidiff2TextDifferTest extends MediaWikiIntegrationTestCase { return $differ; } + public static function provideRenderBatch() { + return [ + [ false ], + [ true ] + ]; + } + /** * @requires extension wikidiff2 + * @dataProvider provideRenderBatch + * @param bool $useMultiFormat */ - public function testRenderBatch() { + public function testRenderBatch( $useMultiFormat ) { + if ( !function_exists( 'wikidiff2_multi_format_diff' ) && $useMultiFormat ) { + $this->markTestSkipped( 'Need wikidiff2 1.14.0+' ); + } $oldText = 'foo'; $newText = 'bar'; - $differ = new Wikidiff2TextDiffer(); + $differ = new Wikidiff2TextDiffer( [ 'useMultiFormat' => $useMultiFormat ] ); // Should not need a MessageLocalizer $result = $differ->renderBatch( $oldText, $newText, [ 'table', 'inline' ] ); $this->assertSame( @@ -37,12 +49,12 @@ class Wikidiff2TextDifferTest extends MediaWikiIntegrationTestCase { } public function testGetName() { - $differ = new Wikidiff2TextDiffer(); + $differ = new Wikidiff2TextDiffer( [] ); $this->assertSame( 'wikidiff2', $differ->getName() ); } public function testGetFormatContext() { - $differ = new Wikidiff2TextDiffer(); + $differ = new Wikidiff2TextDiffer( [] ); $this->assertSame( TextDiffer::CONTEXT_ROW, $differ->getFormatContext( 'table' ) ); } -- cgit v1.2.3