diff options
author | Tim Starling <tstarling@wikimedia.org> | 2023-07-06 15:38:16 +1000 |
---|---|---|
committer | Tim Starling <tstarling@wikimedia.org> | 2023-07-19 12:38:18 +1000 |
commit | 191ec353405ea8fc0fcf8b367cd61f1be510a6ee (patch) | |
tree | aeb2c285a05ac5b1b90bd0d7b9b94e7e01dd1dcb /tests/phpunit/includes/diff/TextDiffer | |
parent | 3f948a033599bc1a7fb19afe5c0b6ebfddab7373 (diff) | |
download | mediawikicore-191ec353405ea8fc0fcf8b367cd61f1be510a6ee.tar.gz mediawikicore-191ec353405ea8fc0fcf8b367cd61f1be510a6ee.zip |
Add unified format
The code is there, so we may as well expose it.
Change-Id: Ic4cf5c0d4a5b46f0f0f25454815dcea1f69970eb
Diffstat (limited to 'tests/phpunit/includes/diff/TextDiffer')
3 files changed, 20 insertions, 5 deletions
diff --git a/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php b/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php index 2a3fc836afb3..dd99d43fc621 100644 --- a/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php +++ b/tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php @@ -24,9 +24,9 @@ class ManifoldTextDifferTest extends MediaWikiIntegrationTestCase { public function testGetFormats() { if ( extension_loaded( 'wikidiff2' ) ) { - $formats = [ 'table', 'inline' ]; + $formats = [ 'table', 'inline', 'unified' ]; } else { - $formats = [ 'table' ]; + $formats = [ 'table', 'unified' ]; } $this->assertSame( $formats, @@ -85,12 +85,14 @@ class ManifoldTextDifferTest extends MediaWikiIntegrationTestCase { $differ = $this->createDiffer( [ 'ExternalDiffEngine' => __DIR__ . '/externalDiffTest.sh' ] ); - $result = $differ->renderBatch( 'foo', 'bar', [ 'table', 'inline', 'external' ] ); + $result = $differ->renderBatch( 'foo', 'bar', + [ 'table', 'inline', 'external', 'unified' ] ); $this->assertSame( [ 'table' => TextDifferData::WIKIDIFF2_TABLE, 'inline' => TextDifferData::WIKIDIFF2_INLINE, - 'external' => TextDifferData::EXTERNAL + 'external' => TextDifferData::EXTERNAL, + 'unified' => TextDifferData::PHP_UNIFIED ], $result ); @@ -100,6 +102,7 @@ class ManifoldTextDifferTest extends MediaWikiIntegrationTestCase { return [ [ 'table', false ], [ 'external', false ], + [ 'unified', true ] ]; } @@ -114,7 +117,7 @@ class ManifoldTextDifferTest extends MediaWikiIntegrationTestCase { ] ); $result = $differ->addRowWrapper( $format, 'foo' ); if ( $isWrap ) { - $this->assertSame( '<tr><td colspan="4">foo</td></tr>', $result ); + $this->assertSame( '<tr><td colspan="4"><pre>foo</pre></td></tr>', $result ); } else { $this->assertSame( 'foo', $result ); } diff --git a/tests/phpunit/includes/diff/TextDiffer/PhpTextDifferTest.php b/tests/phpunit/includes/diff/TextDiffer/PhpTextDifferTest.php index 0573eab5ad4e..93f693b4be92 100644 --- a/tests/phpunit/includes/diff/TextDiffer/PhpTextDifferTest.php +++ b/tests/phpunit/includes/diff/TextDiffer/PhpTextDifferTest.php @@ -39,6 +39,13 @@ class PhpTextDifferTest extends MediaWikiIntegrationTestCase { 'table' => TextDifferData::PHP_TABLE, ] ], + 'multiple formats' => [ + [ 'table', 'unified' ], + [ + 'table' => TextDifferData::PHP_TABLE, + 'unified' => TextDifferData::PHP_UNIFIED, + ] + ], ]; } diff --git a/tests/phpunit/includes/diff/TextDiffer/TextDifferData.php b/tests/phpunit/includes/diff/TextDiffer/TextDifferData.php index cbda305fd66c..199cc5182236 100644 --- a/tests/phpunit/includes/diff/TextDiffer/TextDifferData.php +++ b/tests/phpunit/includes/diff/TextDiffer/TextDifferData.php @@ -10,6 +10,11 @@ class TextDifferData { <tr><td class="diff-marker" data-marker="−"></td><td class="diff-deletedline diff-side-deleted"><div><del class="diffchange diffchange-inline">foo</del></div></td><td class="diff-marker" data-marker="+"></td><td class="diff-addedline diff-side-added"><div><ins class="diffchange diffchange-inline">bar</ins></div></td></tr> '; + public const PHP_UNIFIED = '@@ -1,1 +1,1 @@ +-foo ++bar +'; + public const WIKIDIFF2_TABLE = '<tr> <td colspan="2" class="diff-lineno"><!--LINE 1--></td> <td colspan="2" class="diff-lineno"><!--LINE 1--></td> |