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))))