(defun ert-describe-test (test-or-test-name)
"Display the documentation for TEST-OR-TEST-NAME (a symbol or ert-test)."
(interactive (list (ert-read-test-name-at-point "Describe test")))
- (when (< emacs-major-version 24)
- (user-error "Requires Emacs 24 or later"))
(let (test-name
test-definition)
(cl-etypecase test-or-test-name
(insert (substitute-command-keys
(or (ert-test-documentation test-definition)
"It is not documented."))
- "\n")))))))
+ "\n")
+ ;; For describe-symbol-backends.
+ (buffer-string)))))))
(defun ert-results-describe-test-at-point ()
"Display the documentation of the test at point.
;;; Actions on load/unload.
+(require 'help-mode)
+(add-to-list 'describe-symbol-backends
+ `("ERT test" ,#'ert-test-boundp
+ ,(lambda (s _b _f) (ert-describe-test s))))
+
(add-to-list 'find-function-regexp-alist '(ert--test . ert--find-test-regexp))
(add-to-list 'minor-mode-alist '(ert--current-run-stats
(:eval
'ert--activate-font-lock-keywords)
nil)
-(defvar ert-unload-hook '())
+(defvar ert-unload-hook ())
(add-hook 'ert-unload-hook #'ert--unload-function)
(or (and (boundp symbol) (not (keywordp symbol)))
(get symbol 'variable-documentation)))
,#'describe-variable)
- ("face" ,#'facep ,(lambda (s _b _f) (describe-face s)))))
+ ("face" ,#'facep ,(lambda (s _b _f) (describe-face s))))
+ "List of providers of information about symbols.
+Each element has the form (NAME TESTFUN DESCFUN) where:
+ NAME is a string naming a category of object, such as \"type\" or \"face\".
+ TESTFUN is a predicate which takes a symbol and returns non-nil if the
+ symbol is such an object.
+ DESCFUN is a function which takes three arguments (a symbol, a buffer,
+ and a frame), inserts the description of that symbol in the current buffer
+ and returns that text as well.")
;;;###autoload
(defun help-make-xrefs (&optional buffer)