54 lines
1.5 KiB
EmacsLisp
54 lines
1.5 KiB
EmacsLisp
(require 'ert)
|
|
(require 'cl-lib)
|
|
(require 'espuds)
|
|
(require 'f)
|
|
|
|
(let* ((support-path (f-dirname load-file-name))
|
|
(root-path (f-parent (f-parent support-path))))
|
|
(add-to-list 'load-path (concat root-path "/lisp"))
|
|
(add-to-list 'load-path (concat root-path "/tests")))
|
|
|
|
(require 'nnreddit-test)
|
|
|
|
(defvar nnreddit--current-feature)
|
|
(add-hook 'ecukes-reporter-before-feature-hook
|
|
(lambda (feature)
|
|
(-when-let* ((intro (ecukes-feature-intro feature))
|
|
(header (ecukes-intro-header intro)))
|
|
(setq nnreddit--current-feature header))))
|
|
|
|
(defmacro if-demote (demote &rest forms)
|
|
(declare (debug t) (indent 1))
|
|
`(if ,demote
|
|
(with-demoted-errors "demoted: %s"
|
|
,@forms)
|
|
,@forms))
|
|
|
|
(defun cleanup ()
|
|
(let* ((newsrc-file (if (boundp 'gnus-current-startup-file)
|
|
(symbol-value 'gnus-current-startup-file)
|
|
(when (boundp 'gnus-dot-newsrc)
|
|
(symbol-value 'gnus-dot-newsrc))))
|
|
(quick-file (concat newsrc-file ".eld")))
|
|
(when (file-exists-p quick-file)
|
|
(message "Deleting %s" quick-file)
|
|
(delete-file quick-file))))
|
|
|
|
(Setup
|
|
(custom-set-variables '(gnus-background-get-unread-articles nil)
|
|
'(canlock-password "huh?")))
|
|
|
|
(After
|
|
(setq nnreddit--whoami nil))
|
|
|
|
(Teardown
|
|
(cleanup))
|
|
|
|
(Fail
|
|
(if noninteractive
|
|
(with-demoted-errors "demote: %s"
|
|
(Then "end recordings")
|
|
(Teardown))
|
|
(backtrace)
|
|
(keyboard-quit))) ;; useful to prevent emacs from quitting
|