branch: elpa/buttercup
commit 77d1dac2ba612a8dff735937951d12044562c2b3
Author: Jorgen Schaefer <[email protected]>
Commit: Jorgen Schaefer <[email protected]>
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)))