Function: ert--call-with-test-buffer

ert--call-with-test-buffer is a byte-compiled function defined in ert.el.gz.

Signature

(ert--call-with-test-buffer ERT--BASE-NAME ERT--THUNK)

Documentation

Helper function for ert-with-test-buffer.

Create a test buffer with a name based on ERT--BASE-NAME and run ERT--THUNK with that buffer as current.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/ert.el.gz
(defun ert--call-with-test-buffer (ert--base-name ert--thunk)
  "Helper function for `ert-with-test-buffer'.

Create a test buffer with a name based on ERT--BASE-NAME and run
ERT--THUNK with that buffer as current."
  (let* ((ert--buffer (generate-new-buffer
                    (ert--format-test-buffer-name ert--base-name)))
         (ert--button (ert--text-button (buffer-name ert--buffer)
                                  :type 'ert--test-buffer-button
                                  'ert--test-buffer ert--buffer)))
    (puthash ert--buffer 't ert--test-buffers)
    ;; We don't use `unwind-protect' here since we want to kill the
    ;; buffer only on success.
    (prog1 (with-current-buffer ert--buffer
             (ert-info (ert--button :prefix "Buffer: ")
               (funcall ert--thunk)))
      (kill-buffer ert--buffer)
      (remhash ert--buffer ert--test-buffers))))