DiffFormatterTest.php in Drupal 9
Same filename and directory in other branches
Namespace
Drupal\Tests\Component\DiffFile
core/tests/Drupal/Tests/Component/Diff/DiffFormatterTest.phpView source
<?php
namespace Drupal\Tests\Component\Diff;
use Drupal\Component\Diff\Diff;
use Drupal\Component\Diff\DiffFormatter;
use PHPUnit\Framework\TestCase;
/**
* Test DiffFormatter classes.
*
* @coversDefaultClass \Drupal\Component\Diff\DiffFormatter
*
* @group Diff
*/
class DiffFormatterTest extends TestCase {
/**
* @return array
* - Expected formatted diff output.
* - First array of text to diff.
* - Second array of text to diff.
*/
public function provideTestDiff() {
return [
'empty' => [
'',
[],
[],
],
'add' => [
"3a3\n> line2a\n",
[
'line1',
'line2',
'line3',
],
[
'line1',
'line2',
'line2a',
'line3',
],
],
'delete' => [
"3d3\n< line2a\n",
[
'line1',
'line2',
'line2a',
'line3',
],
[
'line1',
'line2',
'line3',
],
],
'change' => [
"3c3\n< line2a\n---\n> line2b\n",
[
'line1',
'line2',
'line2a',
'line3',
],
[
'line1',
'line2',
'line2b',
'line3',
],
],
];
}
/**
* Tests whether op classes returned by DiffEngine::diff() match expectations.
*
* @covers ::format
* @dataProvider provideTestDiff
*/
public function testDiff($expected, $from, $to) {
$diff = new Diff($from, $to);
$formatter = new DiffFormatter();
$output = $formatter
->format($diff);
$this
->assertEquals($expected, $output);
}
}
Classes
Name | Description |
---|---|
DiffFormatterTest | Test DiffFormatter classes. |