branch: elpa/buttercup commit 25bc00d99a08c95569461e259366997d16b9ab07 Author: Ola Nilsson <ola.nils...@gmail.com> Commit: Ola Nilsson <ola.nils...@gmail.com>
test: Set up suite "The batch reporter" to use fake terminal Use a spy to mock send-string-to-terminal with send-string-to-ansi-buffer, storing output in a temporary buffer. The temporary buffer is created and killed in the before-each and after-each blocks. --- tests/test-buttercup.el | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/test-buttercup.el b/tests/test-buttercup.el index 2719a37..f926287 100644 --- a/tests/test-buttercup.el +++ b/tests/test-buttercup.el @@ -1066,14 +1066,27 @@ text properties using `ansi-color-apply'." ;;; Reporters (describe "The batch reporter" + :var (print-buffer) (let (parent-suite child-suite spec) (before-each (setq parent-suite (make-buttercup-suite :description "parent-suite") child-suite (make-buttercup-suite :description "child-suite") - spec (make-buttercup-spec :description "spec")) + spec (make-buttercup-spec :description "spec") + print-buffer (generate-new-buffer "*btrcp-reporter-test*")) (buttercup-suite-add-child parent-suite child-suite) (buttercup-suite-add-child child-suite spec) - (spy-on 'buttercup--print)) + (spy-on 'buttercup--print) + (spy-on 'send-string-to-terminal :and-call-fake + (apply-partially #'send-string-to-ansi-buffer print-buffer)) + ;; Convenience function + (spy-on 'buttercup-output :and-call-fake + (lambda () + "Return the text of print-buffer." + (with-current-buffer print-buffer + (buffer-string))))) + (after-each + (kill-buffer print-buffer) + (setq print-buffer nil)) (describe "on the buttercup-started event" (it "should emit the number of specs"