aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/test_contrib
diff options
context:
space:
mode:
authorStuart Sierra <mail@stuartsierra.com>2009-11-02 10:41:23 -0500
committerStuart Sierra <mail@stuartsierra.com>2009-11-02 10:41:23 -0500
commit7e11a5525bc35083ebdf53484cbdfb76755b252f (patch)
tree1ae708f568b1e152fda21df2c4460e0313c18c6b /src/clojure/contrib/test_contrib
parente0080e640a2d9b79564a3fb6eb7ee36be1882901 (diff)
test-is: don't compose fixtures forever; fixes #36
This is the same as Clojure ticket #194, same changes applied. clojure.contrib.test-is/use-fixtures would compose fixtures repeatedly when called multiple times.
Diffstat (limited to 'src/clojure/contrib/test_contrib')
-rw-r--r--src/clojure/contrib/test_contrib/test_is_fixtures.clj11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/clojure/contrib/test_contrib/test_is_fixtures.clj b/src/clojure/contrib/test_contrib/test_is_fixtures.clj
index 218c45d5..4b723235 100644
--- a/src/clojure/contrib/test_contrib/test_is_fixtures.clj
+++ b/src/clojure/contrib/test_contrib/test_is_fixtures.clj
@@ -17,6 +17,8 @@
(declare *a* *b* *c* *d*)
+(def *n* 0)
+
(defn fixture-a [f]
(binding [*a* 3] (f)))
@@ -29,9 +31,13 @@
(defn fixture-d [f]
(binding [*d* 11] (f)))
+(defn inc-n-fixture [f]
+ (binding [*n* (inc *n*)] (f)))
+
(use-fixtures :once fixture-a fixture-b)
-(use-fixtures :each fixture-c fixture-d)
+(use-fixtures :each fixture-c fixture-d inc-n-fixture)
+(use-fixtures :each fixture-c fixture-d inc-n-fixture)
(deftest can-use-once-fixtures
(is (= 3 *a*))
@@ -40,3 +46,6 @@
(deftest can-use-each-fixtures
(is (= 7 *c*))
(is (= 11 *d*)))
+
+(deftest use-fixtures-replaces
+ (is (= *n* 1)))