You are here

public function Diff::check in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/Diff/Diff.php \Drupal\Component\Diff\Diff::check()
  2. 9 core/lib/Drupal/Component/Diff/Diff.php \Drupal\Component\Diff\Diff::check()

Check a Diff for validity.

This is here only for debugging purposes.

File

core/lib/Drupal/Component/Diff/Diff.php, line 135

Class

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

Namespace

Drupal\Component\Diff

Code

public 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);
}