1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
namespace Codeception\Lib\Console;
use SebastianBergmann\Comparator\ComparisonFailure;
use SebastianBergmann\Diff\Differ;
/**
* DiffFactory
**/
class DiffFactory
{
/**
* @param ComparisonFailure $failure
* @return string|null
*/
public function createDiff(ComparisonFailure $failure)
{
$diff = $this->getDiff($failure->getExpectedAsString(), $failure->getActualAsString());
if (!$diff) {
return null;
}
return $diff;
}
/**
* @param string $expected
* @param string $actual
* @return string
*/
private function getDiff($expected = '', $actual = '')
{
if (!$actual && !$expected) {
return '';
}
$differ = new Differ('');
return $differ->diff($expected, $actual);
}
}