aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/diff/TextDiffer
diff options
context:
space:
mode:
authorTim Starling <tstarling@wikimedia.org>2023-07-06 15:38:16 +1000
committerTim Starling <tstarling@wikimedia.org>2023-07-19 12:38:18 +1000
commit191ec353405ea8fc0fcf8b367cd61f1be510a6ee (patch)
treeaeb2c285a05ac5b1b90bd0d7b9b94e7e01dd1dcb /tests/phpunit/includes/diff/TextDiffer
parent3f948a033599bc1a7fb19afe5c0b6ebfddab7373 (diff)
downloadmediawikicore-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')
-rw-r--r--tests/phpunit/includes/diff/TextDiffer/ManifoldTextDifferTest.php13
-rw-r--r--tests/phpunit/includes/diff/TextDiffer/PhpTextDifferTest.php7
-rw-r--r--tests/phpunit/includes/diff/TextDiffer/TextDifferData.php5
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>