/
HISTORY
150 lines (127 loc) · 5.34 KB
/
HISTORY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
= 1.1-RC1
* Can defer individual checks in a fact with the =future=>
arrow.
https://github.com/marick/Midje/wiki/Future-facts
= 1.1-alpha-3
* Negating arrows in facts
https://github.com/marick/Midje/wiki/Negating-arrows
* Folded prerequisites are much more competent
https://github.com/marick/Midje/wiki/Folded-prerequisites
= 1.1-alpha-2
* Better error checking infrastructure (not much user
visible yet)
* Fixed bug in folded prerequisites.
= 1.1-alpha-1
* Syntax errors made in Midje forms are somewhat better
more gracefully reported.
* The #'roughly checker can be used for inexact numerical
comparisons.
* #'irrelevant is a synonym for #anything
* Line numbers are better reported for failures of very
stripped-down forms (like (fact 1 => odd?)
* When stack traces are reported, they are better trimmed
down.
* A prerequisite like (f 1) =streams=> [1 2 3] produces
the next value each time it's called.
* Issue warning when bare function is used in a
prerequisite. Behavior will change in 1.2.
* Several ways to make checkers that can be used in
prerequisites.
= 1.0.1 (stable)
* Ben Mabey fix: eagerly preserve record types
* Extended-= and collection checkers have semantics for
mixing maps and records.
= 1.0.0
* Allow, where unambiguous, collection checkers to have multiple element arguments:
(f) => (just 1 2 3 ) ; same as..
(f) => (just [1 2 3])
* Unexpected exceptions are displayed with a trimmed stack trace
FAIL at (t_collection.clj:427)
Expected: 33
Actual: java.lang.Error: Oops!
midje.checkers.t_collection$go.invoke(t_collection.clj:425)
midje.checkers.t_collection$eval4728$fn__4729.invoke(t_collection.clj:427)
midje.unprocessed$expect_STAR_$fn__2586$fn__2587.invoke(unprocessed.clj:69)
midje.unprocessed$expect_STAR_$fn__2586.invoke(unprocessed.clj:67)
midje.util.thread_safe_var_nesting$with_altered_roots_STAR_.invoke(thread_safe_var_nesting.clj:33)
midje.unprocessed$expect_STAR_.invoke(unprocessed.clj:66)
midje.checkers.t_collection$eval4728.invoke(t_collection.clj:426)
user$eval19.invoke(NO_SOURCE_FILE:1)
* `lein midje` runs clojure.test deftests and integrates the results into the summary.
* `cake midje` does the same for Cake users.
= 0.9.0
* Regexps can be placed on the right-hand-side of an
expression: "foo" => #"fo+"
* Throws and other checkers are "checker-aware", so
you can write: (f) => (throws Error (contains #"part of a message"))
* Containment checkers
https://github.com/marick/Midje/wiki/Checkers-for-collections-and-strings
= 0.8.1 (stable)
* before/after/around
http://bit.ly/hgw1CU
* background facts work within deftests
* future-fact, pending-fact
= 0.8.0
* Dropping support for Clojure 1.1.
* Incompatible syntax change for #'against-background
* Backgrounds can now be set for a namespace or within a
#'fact body.
* Background-setting functions obey *include-midje-checks*
* Compiling out test code from production code actually
works.
= 0.7.2
* Use alter-var-root instead of with-binding in preparation
for Clojure 1.3 (and use with threads).
* against-background
https://github.com/marick/Midje/wiki/Background-prerequisites
= 0.7.1
* Three new checkers: map-containing, maps-containing, and
only-maps-containing.
* Chatty checkers are much improved.
http://github.com/marick/Midje/wiki/Chatty-checkers
* Some bug fixes
= 0.7.0
* Chatty checkers
http://github.com/marick/Midje/wiki/Chatty-checkers
* Added a leiningen plugin to get tidy test reports.
http://github.com/marick/Midje/wiki/Lein-midje
* Set midje.semi-sweet/*include-midje-checks* to false to
compile tests out of production code.
http://github.com/marick/Midje/wiki/Production-mode
* Incompatible change: Midje no longer defines fakes for
you at the top level. As with any other identifier used in
code, they must be defined before use. The unfinished macro
is good for that.
* Functions print as their names, if they have them, in case
of an (exactly x) failure.
* Does a better job forcing seqs in the result to fully calculate
themselves.
* Emacs midje-mode is a little smarter about what a Clojure
identifier is (for M-x midje-unfinished)
= 0.6.1
* Midje-mode is (more) compatible with clojure-test-mode.
= 0.6.0
* Can "unfold" nested function calls in provided facts, so
that (f (g 1)) produces two mock calls, the first of which
returns a metaconstant that the second expects.
* If a fact fails for more than one reason, report them all.
* midje-mode.el provides a smooth workflow for those
who use slime/swank.
= 0.5.0
* Line numbers almost always point to the line that provoked
the error (one of the lines with => on them).
* The in-any-order checker should work correctly.
* Expectations (x => y) can appear at any level, so they can
be nested within lets.
= 0.4.0
* midje.sweet in workable shape.
* (not-called f) expectation added (Wilkes Joiner)
* key&value arguments can be passed to expect(), fake(), and
not-called() to override defaults.
* (fact) and (expect) return boolean variables because
that's more informative in REPL.
* The checker for (f) => (throws Throwable) is supported.
= 0.3.0
* Works with 1.2-RC1 (Wilkes Joiner)
= 0.2.0
* Can fake functions from other namespaces. (Wilkes Joiner)