| Conditions | 1 |
| Paths | 1 |
| Total Lines | 22 |
| Code Lines | 13 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 14 |
| CRAP Score | 1 |
| Changes | 0 | ||
| 1 | <?php |
||
| 32 | 34 | public function diff(string $oldText, string $newText): string |
|
| 33 | { |
||
| 34 | // Parse $old XML. |
||
| 35 | 34 | $oldHandler = new DomTreeBuilder(); |
|
| 36 | 34 | $reader1 = new XMLReader($oldHandler); |
|
| 37 | 34 | $reader1->parse($oldText); |
|
| 38 | |||
| 39 | // Parse $new XML. |
||
| 40 | 34 | $newHandler = new DomTreeBuilder(); |
|
| 41 | 34 | $reader2 = new XMLReader($newHandler); |
|
| 42 | 34 | $reader2->parse($newText); |
|
| 43 | |||
| 44 | // Comparators. |
||
| 45 | 34 | $leftComparator = new TextNodeComparator($oldHandler); |
|
| 46 | 34 | $rightComparator = new TextNodeComparator($newHandler); |
|
| 47 | |||
| 48 | 34 | $changeText = new ChangeText(); |
|
| 49 | 34 | $output = new HtmlSaxDiffOutput($changeText); |
|
| 50 | 34 | $differ = new HtmlDiffer($output); |
|
| 51 | 34 | $differ->diff($leftComparator, $rightComparator); |
|
| 52 | |||
| 53 | 34 | return $changeText->getText(); |
|
| 54 | } |
||
| 56 |