diff options
author | Jorgen Schäfer <Jorgen.Schaefer@gmail.com> | 2018-08-31 10:22:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-31 10:22:46 +0200 |
commit | 5821cd06d2bb5c157ed106b71607657cfa9b4ec9 (patch) | |
tree | fda113cfe570e8e87c66fc453b8be89fc3a222c4 | |
parent | bc13b53deb1c2b590c33f5e03508b864a0116d5e (diff) | |
parent | 633061080e62feb02c75cce27e39c93b24f6e390 (diff) |
Merge pull request #131 from snogge/markdown
Add more markdown running functions
-rw-r--r-- | buttercup.el | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/buttercup.el b/buttercup.el index d32e92b..4bc8040 100644 --- a/buttercup.el +++ b/buttercup.el @@ -1282,18 +1282,26 @@ current directory." (buttercup-run))) ;;;###autoload -(defun buttercup-run-markdown () - "Run all test suites defined in Markdown files passed as arguments. -A suite must be defined within a Markdown \"lisp\" code block." - (let ((lisp-buffer (generate-new-buffer "elisp"))) - (dolist (file command-line-args-left) - (with-current-buffer (find-file-noselect file) - (goto-char (point-min)) - (let ((case-fold-search t)) - (while (re-search-forward - "```\\(?:emacs-\\|e\\)?lisp\n\\(\\(?:.\\|\n\\)*?\\)```" - nil t) - (let ((code (match-string 1))) +(defun buttercup-run-markdown-buffer (&rest markdown-buffers) + "Run all test suites defined in MARKDOWN-BUFFERS. +A suite must be defined within a Markdown \"lisp\" code block. +If MARKDOWN-BUFFERS is empty (nil), use the current buffer." + (interactive) + (unless markdown-buffers + (setq markdown-buffers (list (current-buffer)))) + (let ((lisp-buffer (generate-new-buffer "elisp")) + (case-fold-search t) + code + buttercup-suites) + (dolist (markdown-buffer markdown-buffers) + (with-current-buffer markdown-buffer + (save-excursion + (save-match-data + (goto-char (point-min)) + (while (re-search-forward + "```\\(?:emacs-\\|e\\)?lisp\n\\(\\(?:.\\|\n\\)*?\\)```" + nil t) + (setq code (match-string 1)) (with-current-buffer lisp-buffer (insert code))))))) (with-current-buffer lisp-buffer @@ -1302,6 +1310,20 @@ A suite must be defined within a Markdown \"lisp\" code block." (point-max))) (buttercup-run))) +;;;###autoload +(defun buttercup-run-markdown () + "Run all test suites defined in Markdown files passed as arguments. +A suite must be defined within a Markdown \"lisp\" code block." + (apply #'buttercup-run-markdown-buffer (mapcar #'find-file-noselect + command-line-args-left))) + +;;;###autoload +(defun buttercup-run-markdown-file (file) + "Run all test suites defined in Markdown FILE. +A suite must be defined within a Markdown \"lisp\" code block." + (interactive "fMarkdown file: ") + (buttercup-run-markdown-buffer (find-file-noselect file))) + (eval-when-compile ;; Defined below in a dedicated section (defvar buttercup-reporter)) |