branch: elpa/buttercup commit 77d1dac2ba612a8dff735937951d12044562c2b3 Author: Jorgen Schaefer <cont...@jorgenschaefer.de> Commit: Jorgen Schaefer <cont...@jorgenschaefer.de>
Test buttercup-suite-add-child. This was renamed from buttercup-suite-add-nested, and the relevant field in buttercup-suite was renamed as well. --- buttercup-test.el | 19 +++++++++++++++++++ buttercup.el | 25 ++++++++++++------------- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/buttercup-test.el b/buttercup-test.el index ba9b266..c31d2f6 100644 --- a/buttercup-test.el +++ b/buttercup-test.el @@ -126,3 +126,22 @@ :to-throw))) ;; Built-in matchers are tested in README.md + +(describe "The `buttercup-suite-add-child' function" + (it "should add an element at the end of the list" + (let ((suite (make-buttercup-suite :children '(1 2 3)))) + + (buttercup-suite-add-child suite 4) + + (expect (buttercup-suite-children suite) + :to-equal + '(1 2 3 4)))) + + (it "should add an element even if the list is empty" + (let ((suite (make-buttercup-suite :children nil))) + + (buttercup-suite-add-child suite 23) + + (expect (buttercup-suite-children suite) + :to-equal + '(23))))) diff --git a/buttercup.el b/buttercup.el index 7628897..c482539 100644 --- a/buttercup.el +++ b/buttercup.el @@ -232,13 +232,12 @@ MATCHER is either a matcher defined with (cl-defstruct buttercup-suite description - nested - specs) + children) -(defun buttercup-suite-add-nested (parent child) - "Add a CHILD suite as a nested suite to a PARENT suite." - (setf (buttercup-suite-nested parent) - (append (buttercup-suite-nested parent) +(defun buttercup-suite-add-child (parent child) + "Add a CHILD suite to a PARENT suite." + (setf (buttercup-suite-children parent) + (append (buttercup-suite-children parent) (list child)))) (defvar buttercup-suites nil @@ -262,8 +261,8 @@ form.") :description description))) (funcall body-function) (if enclosing-suite - (buttercup-suite-add-nested enclosing-suite - buttercup--current-suite) + (buttercup-suite-add-child enclosing-suite + buttercup--current-suite) (setq buttercup-suites (append buttercup-suites (list buttercup--current-suite)))))) @@ -283,10 +282,10 @@ form.") "Function to handle an `it' form." (when (not description) (error "`it' has to be called from within a `describe' form.")) - (buttercup-suite-add-nested buttercup--current-suite - (make-buttercup-spec - :description description - :function body-function))) + (buttercup-suite-add-child buttercup--current-suite + (make-buttercup-spec + :description description + :function body-function))) ;; (let* ((buttercup--descriptions (cons description ;; buttercup--descriptions)) @@ -331,7 +330,7 @@ form.") (let* ((level (or level 0)) (indent (make-string (* 2 level) ?\s))) (message "%s%s" indent (buttercup-suite-description suite)) - (dolist (sub (buttercup-suite-nested suite)) + (dolist (sub (buttercup-suite-children suite)) (cond ((buttercup-suite-p sub) (buttercup-run-suite sub (1+ level)))