Tests: Use xr to help format test results

This commit is contained in:
Adam Porter 2019-07-23 19:01:16 -05:00
parent ad6624d9ae
commit dbb94ff3b8
2 changed files with 25 additions and 9 deletions

4
Cask
View file

@ -2,7 +2,9 @@
(files "org-ql.el" "org-ql-agenda.el") (files "org-ql.el" "org-ql-agenda.el")
(source gnu)
(source melpa) (source melpa)
(development (development
(depends-on "buttercup")) (depends-on "buttercup")
(depends-on "xr"))

View file

@ -35,16 +35,30 @@
"FIXME: docstring" "FIXME: docstring"
(interactive) (interactive)
(if-let* ((sexp (elisp--preceding-sexp)) (if-let* ((sexp (elisp--preceding-sexp))
(correct-sexp-p (eq (car sexp) 'org-ql)) (correct-sexp-p (pcase (car sexp)
(value (eval sexp)) ('org-ql 'org-ql)
(prefix (if (and value (listp value)) ('org-ql--query-preamble 'query-preamble)
"'" (_ nil)))
""))) (result (pcase (car sexp)
(insert " :to-equal " ('org-ql (org-ql-test--format-result--ql sexp))
prefix ('org-ql--query-preamble (org-ql-test--format-result--query-preamble sexp))
(format "%S" value)) (_ nil))))
(insert " :to-equal " result)
(user-error "Point must be after an `org-ql' form"))) (user-error "Point must be after an `org-ql' form")))
(defun org-ql-test--format-result--ql (sexp)
(let* ((value (eval sexp))
(prefix (if (and value (listp value))
"'"
"")))
(format "%S" value)))
(defun org-ql-test--format-result--query-preamble (sexp)
(-let* (((query preamble) (eval sexp))
(preamble (when preamble
(xr preamble 'brief))))
(format "`(%S ,(rx %S))" query preamble)))
(defun org-ql-test-show-result () (defun org-ql-test-show-result ()
"Show `org-ql-agenda' for `org-ql' form." "Show `org-ql-agenda' for `org-ql' form."
(interactive) (interactive)