marick/Midje — Issue #64: Allow more clojure.core functions to be faked
Author: marick
Created: 2011-11-09 16:55:44+00:00
State: open
Labels: wishlist

Currently, you can't do this:

```
(fact (f ..x..) => 1 (provided (every? odd? ..x..))
```

Because `every?` is used in the Midje code that processes prerequisites.

As of Midje 1.0.3-alpha5, you'll get a helpful failure message, but it'd be better if it didn't fail. Possibility:

Isolate a narrow core of Midje functions that can cause this kind of you-tried-to-use-a-faked-function-to-see-if-it-was-a-faked-function problem, and use guaranteed-unfaked alternates within that core. That is:

(def m-every? clojure.core/every?)

; ... midje code ...
... (m-every? ....)