Function: ert--erts-file-test-diff-button-action

ert--erts-file-test-diff-button-action is a byte-compiled function defined in ert.el.gz.

Signature

(ert--erts-file-test-diff-button-action BUTTON)

Documentation

Diff actual and expected output for BUTTON's erts-file test.

It creates a new window or reuses an existing one.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/ert.el.gz
(defun ert--erts-file-test-diff-button-action (button)
  "Diff actual and expected output for BUTTON's erts-file test.
It creates a new window or reuses an existing one."
  (pcase-let (((cl-struct ert--erts-file-test-mismatch
                          actual-string
                          expected-string
                          point-char
                          actual-point
                          expected-point)
               (button-get button 'mismatch))
              (buf-actual (generate-new-buffer "*Diff-erts-actual*"))
              (buf-expected (generate-new-buffer "*Diff-erts-expected*")))
    (unwind-protect
        (progn
          (with-current-buffer buf-actual
            (insert actual-string)
            (when expected-point
              (goto-char actual-point)
              (insert point-char)))
          (with-current-buffer buf-expected
            (insert expected-string)
            (when expected-point
              (goto-char expected-point)
              (insert point-char)))
          (diff-buffers buf-expected buf-actual))
      (kill-buffer buf-actual)
      (kill-buffer buf-expected))))