function Diff::_check

Check a Diff for validity.

This is here only for debugging purposes.

File

drupal/core/lib/Drupal/Component/Diff/DiffEngine.php, line 678
A PHP diff engine for phpwiki. (Taken from phpwiki-1.3.3)

Class

Diff
Class representing a 'diff' between two sequences of strings. @todo document @private @subpackage DifferenceEngine

Code

function _check($from_lines, $to_lines) {
  if (serialize($from_lines) != serialize($this
    ->orig())) {
    trigger_error("Reconstructed original doesn't match", E_USER_ERROR);
  }
  if (serialize($to_lines) != serialize($this
    ->closing())) {
    trigger_error("Reconstructed closing doesn't match", E_USER_ERROR);
  }
  $rev = $this
    ->reverse();
  if (serialize($to_lines) != serialize($rev
    ->orig())) {
    trigger_error("Reversed original doesn't match", E_USER_ERROR);
  }
  if (serialize($from_lines) != serialize($rev
    ->closing())) {
    trigger_error("Reversed closing doesn't match", E_USER_ERROR);
  }
  $prevtype = 'none';
  foreach ($this->edits as $edit) {
    if ($prevtype == $edit->type) {
      trigger_error("Edit sequence is non-optimal", E_USER_ERROR);
    }
    $prevtype = $edit->type;
  }
  $lcs = $this
    ->lcs();
  trigger_error('Diff okay: LCS = ' . $lcs, E_USER_NOTICE);
}