mocha 0.11.3 → 0.11.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +3 -3
- data/RELEASE.rdoc +3 -0
- data/Rakefile +1 -3
- data/lib/mocha/version.rb +1 -1
- data/mocha.gemspec +1 -1
- metadata +12 -67
- data/doc/.nojekyll +0 -0
- data/doc/Mocha.html +0 -112
- data/doc/Mocha/API.html +0 -898
- data/doc/Mocha/ClassMethods.html +0 -246
- data/doc/Mocha/Configuration.html +0 -471
- data/doc/Mocha/Expectation.html +0 -2570
- data/doc/Mocha/Mock.html +0 -830
- data/doc/Mocha/ObjectMethods.html +0 -668
- data/doc/Mocha/ParameterMatchers.html +0 -2715
- data/doc/Mocha/ParameterMatchers/AllOf.html +0 -137
- data/doc/Mocha/ParameterMatchers/AnyOf.html +0 -137
- data/doc/Mocha/ParameterMatchers/AnyParameters.html +0 -136
- data/doc/Mocha/ParameterMatchers/Anything.html +0 -136
- data/doc/Mocha/ParameterMatchers/Base.html +0 -419
- data/doc/Mocha/ParameterMatchers/Equals.html +0 -137
- data/doc/Mocha/ParameterMatchers/HasEntries.html +0 -137
- data/doc/Mocha/ParameterMatchers/HasEntry.html +0 -137
- data/doc/Mocha/ParameterMatchers/HasKey.html +0 -137
- data/doc/Mocha/ParameterMatchers/HasValue.html +0 -137
- data/doc/Mocha/ParameterMatchers/Includes.html +0 -137
- data/doc/Mocha/ParameterMatchers/InstanceOf.html +0 -137
- data/doc/Mocha/ParameterMatchers/IsA.html +0 -136
- data/doc/Mocha/ParameterMatchers/KindOf.html +0 -137
- data/doc/Mocha/ParameterMatchers/Not.html +0 -137
- data/doc/Mocha/ParameterMatchers/Optionally.html +0 -136
- data/doc/Mocha/ParameterMatchers/QueryStringMatches.html +0 -136
- data/doc/Mocha/ParameterMatchers/RegexpMatches.html +0 -137
- data/doc/Mocha/ParameterMatchers/RespondsWith.html +0 -137
- data/doc/Mocha/ParameterMatchers/YamlEquivalent.html +0 -137
- data/doc/Mocha/Sequence.html +0 -133
- data/doc/Mocha/StateMachine.html +0 -510
- data/doc/Mocha/StateMachine/State.html +0 -125
- data/doc/Mocha/StateMachine/StatePredicate.html +0 -125
- data/doc/Mocha/StubbingError.html +0 -134
- data/doc/Mocha/UnexpectedInvocation.html +0 -124
- data/doc/_index.html +0 -481
- data/doc/class_list.html +0 -47
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -55
- data/doc/css/style.css +0 -322
- data/doc/file.COPYING.html +0 -72
- data/doc/file.MIT-LICENSE.html +0 -86
- data/doc/file.README.html +0 -153
- data/doc/file.RELEASE.html +0 -954
- data/doc/file.misc.html +0 -108
- data/doc/file.mocha.html +0 -90
- data/doc/file.stubba.html +0 -129
- data/doc/file_list.html +0 -67
- data/doc/frames.html +0 -13
- data/doc/index.html +0 -153
- data/doc/js/app.js +0 -205
- data/doc/js/full_list.js +0 -173
- data/doc/js/jquery.js +0 -16
- data/doc/method_list.html +0 -510
- data/doc/top-level-namespace.html +0 -105
data/doc/file.MIT-LICENSE.html
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
-
<title>
|
7
|
-
File: MIT-LICENSE
|
8
|
-
|
9
|
-
— Mocha 0.11.3
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
-
|
17
|
-
<script type="text/javascript" charset="utf-8">
|
18
|
-
relpath = '';
|
19
|
-
if (relpath != '') relpath += '/';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
23
|
-
|
24
|
-
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
25
|
-
|
26
|
-
|
27
|
-
</head>
|
28
|
-
<body>
|
29
|
-
<script type="text/javascript" charset="utf-8">
|
30
|
-
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
-
</script>
|
32
|
-
|
33
|
-
<div id="header">
|
34
|
-
<div id="menu">
|
35
|
-
|
36
|
-
<a href="_index.html" title="Index">Index</a> »
|
37
|
-
<span class="title">File: MIT-LICENSE</span>
|
38
|
-
|
39
|
-
|
40
|
-
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div id="search">
|
44
|
-
|
45
|
-
<a id="class_list_link" href="#">Class List</a>
|
46
|
-
|
47
|
-
<a id="method_list_link" href="#">Method List</a>
|
48
|
-
|
49
|
-
<a id="file_list_link" href="#">File List</a>
|
50
|
-
|
51
|
-
</div>
|
52
|
-
<div class="clear"></div>
|
53
|
-
</div>
|
54
|
-
|
55
|
-
<iframe id="search_frame"></iframe>
|
56
|
-
|
57
|
-
<div id="content"><div id='filecontents'>
|
58
|
-
<p>Copyright © 2006 Revieworld Ltd.</p>
|
59
|
-
|
60
|
-
<p>Permission is hereby granted, free of charge, to any person obtaining a
|
61
|
-
copy of this software and associated documentation files (the “Software”),
|
62
|
-
to deal in the Software without restriction, including without limitation
|
63
|
-
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
64
|
-
and/or sell copies of the Software, and to permit persons to whom the
|
65
|
-
Software is furnished to do so, subject to the following conditions:</p>
|
66
|
-
|
67
|
-
<p>The above copyright notice and this permission notice shall be included in
|
68
|
-
all copies or substantial portions of the Software.</p>
|
69
|
-
|
70
|
-
<p>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
71
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
72
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
73
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
74
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
75
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
76
|
-
DEALINGS IN THE SOFTWARE.</p>
|
77
|
-
</div></div>
|
78
|
-
|
79
|
-
<div id="footer">
|
80
|
-
Generated on Wed Apr 25 16:51:30 2012 by
|
81
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
82
|
-
0.7.5 (ruby-1.9.3).
|
83
|
-
</div>
|
84
|
-
|
85
|
-
</body>
|
86
|
-
</html>
|
data/doc/file.README.html
DELETED
@@ -1,153 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
-
<title>
|
7
|
-
File: README
|
8
|
-
|
9
|
-
— Mocha 0.11.3
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
-
|
17
|
-
<script type="text/javascript" charset="utf-8">
|
18
|
-
relpath = '';
|
19
|
-
if (relpath != '') relpath += '/';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
23
|
-
|
24
|
-
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
25
|
-
|
26
|
-
|
27
|
-
</head>
|
28
|
-
<body>
|
29
|
-
<script type="text/javascript" charset="utf-8">
|
30
|
-
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
-
</script>
|
32
|
-
|
33
|
-
<div id="header">
|
34
|
-
<div id="menu">
|
35
|
-
|
36
|
-
<a href="_index.html" title="Index">Index</a> »
|
37
|
-
<span class="title">File: README</span>
|
38
|
-
|
39
|
-
|
40
|
-
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div id="search">
|
44
|
-
|
45
|
-
<a id="class_list_link" href="#">Class List</a>
|
46
|
-
|
47
|
-
<a id="method_list_link" href="#">Method List</a>
|
48
|
-
|
49
|
-
<a id="file_list_link" href="#">File List</a>
|
50
|
-
|
51
|
-
</div>
|
52
|
-
<div class="clear"></div>
|
53
|
-
</div>
|
54
|
-
|
55
|
-
<iframe id="search_frame"></iframe>
|
56
|
-
|
57
|
-
<div id="content"><div id='filecontents'>
|
58
|
-
<h1>Mocha <a href="http://travis-ci.org/floehopper/mocha"><img src="https://secure.travis-ci.org/floehopper/mocha.png" /></a></h1>
|
59
|
-
|
60
|
-
<p>Mocha is a library for mocking and stubbing using a syntax like that of <a
|
61
|
-
href="http://www.jmock.org">JMock</a>.</p>
|
62
|
-
|
63
|
-
<p>It can be used with many testing frameworks e.g. <a
|
64
|
-
href="http://www.ruby-doc.org/core/classes/Test/Unit.html">Test::Unit</a>,
|
65
|
-
<a href="http://rspec.info/">RSpec</a>, <a
|
66
|
-
href="http://chneukirchen.org/repos/testspec/README">test/spec</a>, <a
|
67
|
-
href="http://expectations.rubyforge.org/">expectations</a>, <a
|
68
|
-
href="http://dust.rubyforge.org/">Dust</a>, <a
|
69
|
-
href="http://rubyforge.org/projects/bfts">MiniTest</a> and even <a
|
70
|
-
href="http://jtestr.codehaus.org/">JtestR</a>.</p>
|
71
|
-
|
72
|
-
<p>Mocha provides a unified, simple and readable syntax for both traditional
|
73
|
-
mocking and partial mocking.</p>
|
74
|
-
|
75
|
-
<p>Mocha was harvested from projects at <a
|
76
|
-
href="http://www.reevoo.com/">Reevoo</a> by me (<a
|
77
|
-
href="http://jamesmead.org/">James</a>) and my (then) colleagues <a
|
78
|
-
href="http://www.techbelly.com/">Ben</a>, <a
|
79
|
-
href="http://chrisroos.co.uk/">Chris</a> and <a
|
80
|
-
href="http://po-ru.com/">Paul</a>.</p>
|
81
|
-
|
82
|
-
<h2>Installation</h2>
|
83
|
-
|
84
|
-
<p>Install the latest version of the gem with the following command…</p>
|
85
|
-
|
86
|
-
<pre class="code ruby"><code>$ gem install mocha</code></pre>
|
87
|
-
|
88
|
-
<p>Note that if you are intending to use Mocha with Test::Unit or MiniTest,
|
89
|
-
you should only load Mocha <b>after</b> loading the relevant test library…</p>
|
90
|
-
|
91
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>test/unit</span><span class='tstring_end'>"</span></span>
|
92
|
-
<span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>mocha</span><span class='tstring_end'>"</span></span></code></pre>
|
93
|
-
|
94
|
-
<p>If you’re using Bundler, ensure the correct load order by not
|
95
|
-
auto-requiring Mocha in the Gemfile and then later load it once you know
|
96
|
-
the test library has been loaded…</p>
|
97
|
-
|
98
|
-
<pre class="code ruby"><code><span class='comment'># Gemfile
|
99
|
-
</span><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>mocha</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='symbol'>:require</span> <span class='op'>=></span> <span class='kw'>false</span>
|
100
|
-
|
101
|
-
<span class='comment'># Elsewhere after Bundler has loaded gems
|
102
|
-
</span><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>test/unit</span><span class='tstring_end'>"</span></span>
|
103
|
-
<span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>mocha</span><span class='tstring_end'>"</span></span></code></pre>
|
104
|
-
|
105
|
-
<p>Note that versions 0.10.2, 0.10.3 & 0.11.0 included a bug. Please do
|
106
|
-
not use these versions.</p>
|
107
|
-
|
108
|
-
<p>Or install the <a href="http://www.rubyonrails.org/">Rails</a> plugin…</p>
|
109
|
-
|
110
|
-
<pre class="code ruby"><code>$ script/plugin install git://github.com/floehopper/mocha.git</code></pre>
|
111
|
-
|
112
|
-
<p>Note that versions 0.9.6 & 0.9.7 of the Rails plugin were broken. As of
|
113
|
-
version 0.9.8, you need to explicitly load Mocha after the test framework
|
114
|
-
e.g. by adding “require ‘mocha’” at the bottom of test/test_helper.rb.</p>
|
115
|
-
|
116
|
-
<h2>Examples</h2>
|
117
|
-
<ul><li>
|
118
|
-
<p>Quick Start - <a href="file.misc.html" title="Usage Examples">Usage Examples</a></p>
|
119
|
-
</li><li>
|
120
|
-
<p>Traditional mocking - <a href="file.mocha.html" title="Star Trek Example">Star Trek Example</a></p>
|
121
|
-
</li><li>
|
122
|
-
<p>Setting expectations on real classes - <a href="file.stubba.html" title="Order Example">Order Example</a></p>
|
123
|
-
</li><li>
|
124
|
-
<p>More examples on <a href="http://jamesmead.org/blog/">James Mead’s Blog</a></p>
|
125
|
-
</li><li>
|
126
|
-
<p><a href="http://groups.google.com/group/mocha-developer">Mailing List
|
127
|
-
Archives</a></p>
|
128
|
-
</li></ul>
|
129
|
-
|
130
|
-
<h2>Links</h2>
|
131
|
-
<ul><li>
|
132
|
-
<p><a href="http://github.com/floehopper/mocha">Source code</a></p>
|
133
|
-
</li><li>
|
134
|
-
<p><a href="http://github.com/floehopper/mocha/issues">Bug reports</a></p>
|
135
|
-
</li></ul>
|
136
|
-
|
137
|
-
<h2>License</h2>
|
138
|
-
|
139
|
-
<p>Copyright Revieworld Ltd. 2006</p>
|
140
|
-
|
141
|
-
<p>You may use, copy and redistribute this library under the same terms as <a
|
142
|
-
href="http://www.ruby-lang.org/en/LICENSE.txt">Ruby itself</a> or under the
|
143
|
-
<a href="file.MIT-LICENSE.html" title="MIT license">MIT license</a>.</p>
|
144
|
-
</div></div>
|
145
|
-
|
146
|
-
<div id="footer">
|
147
|
-
Generated on Wed Apr 25 16:51:30 2012 by
|
148
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
149
|
-
0.7.5 (ruby-1.9.3).
|
150
|
-
</div>
|
151
|
-
|
152
|
-
</body>
|
153
|
-
</html>
|
data/doc/file.RELEASE.html
DELETED
@@ -1,954 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
-
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
-
<head>
|
5
|
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
6
|
-
<title>
|
7
|
-
File: RELEASE
|
8
|
-
|
9
|
-
— Mocha 0.11.3
|
10
|
-
|
11
|
-
</title>
|
12
|
-
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
-
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
-
|
17
|
-
<script type="text/javascript" charset="utf-8">
|
18
|
-
relpath = '';
|
19
|
-
if (relpath != '') relpath += '/';
|
20
|
-
</script>
|
21
|
-
|
22
|
-
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
23
|
-
|
24
|
-
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
25
|
-
|
26
|
-
|
27
|
-
</head>
|
28
|
-
<body>
|
29
|
-
<script type="text/javascript" charset="utf-8">
|
30
|
-
if (window.top.frames.main) document.body.className = 'frames';
|
31
|
-
</script>
|
32
|
-
|
33
|
-
<div id="header">
|
34
|
-
<div id="menu">
|
35
|
-
|
36
|
-
<a href="_index.html" title="Index">Index</a> »
|
37
|
-
<span class="title">File: RELEASE</span>
|
38
|
-
|
39
|
-
|
40
|
-
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
-
</div>
|
42
|
-
|
43
|
-
<div id="search">
|
44
|
-
|
45
|
-
<a id="class_list_link" href="#">Class List</a>
|
46
|
-
|
47
|
-
<a id="method_list_link" href="#">Method List</a>
|
48
|
-
|
49
|
-
<a id="file_list_link" href="#">File List</a>
|
50
|
-
|
51
|
-
</div>
|
52
|
-
<div class="clear"></div>
|
53
|
-
</div>
|
54
|
-
|
55
|
-
<iframe id="search_frame"></iframe>
|
56
|
-
|
57
|
-
<div id="content"><div id='filecontents'>
|
58
|
-
<h1>0.11.3</h1>
|
59
|
-
<ul><li>
|
60
|
-
<p>Fix for #78 i.e. alias Object#method as Object#_method, not
|
61
|
-
Object#__method__ which already exists as another Ruby method.</p>
|
62
|
-
</li></ul>
|
63
|
-
|
64
|
-
<h1>0.11.2</h1>
|
65
|
-
<ul><li>
|
66
|
-
<p>Rails has a Request class which defines its own #method method. This broke
|
67
|
-
the new mechanism for stubbing a method. This release includes a slightly
|
68
|
-
modified version of fix #77 provided by @sikachu. See <a
|
69
|
-
href="https://github.com/rails/rails/pull/5907">github.com/rails/rails/pull/5907</a>
|
70
|
-
for further info.</p>
|
71
|
-
</li></ul>
|
72
|
-
|
73
|
-
<h1>0.11.1</h1>
|
74
|
-
<ul><li>
|
75
|
-
<p>In Ruby 1.8.7 methods accepting a block parameter were incorrectly restored
|
76
|
-
without the block parameter after being stubbed. Fix for #76.</p>
|
77
|
-
</li></ul>
|
78
|
-
|
79
|
-
<h1>0.11.0 (this version was yanked from rubygems.org)</h1>
|
80
|
-
<ul><li>
|
81
|
-
<p>Store original method when stubbing rather than using alias_method. This
|
82
|
-
fixes #41, #47, #74 and all tests now pass on both Ruby 1.8.7 and 1.9.3.</p>
|
83
|
-
</li><li>
|
84
|
-
<p>Attempting to stub a method on a frozen object should fail fast. See #68.</p>
|
85
|
-
</li><li>
|
86
|
-
<p>Prevent stubbing a method on nil by default. See #68.</p>
|
87
|
-
</li><li>
|
88
|
-
<p>Generate documentation using YARD instead of Rdoc - removes dependency on
|
89
|
-
Coderay.</p>
|
90
|
-
</li><li>
|
91
|
-
<p>Publish documentation on Github pages instead of Rubyforge - uses rake task
|
92
|
-
written by @tomafro.</p>
|
93
|
-
</li><li>
|
94
|
-
<p>Remove agiledox which has outlived it’s usefulness.</p>
|
95
|
-
</li><li>
|
96
|
-
<p>Removed trailing whitespace throughout codebase.</p>
|
97
|
-
</li><li>
|
98
|
-
<p>Add documentation for Mock#unstub.</p>
|
99
|
-
</li><li>
|
100
|
-
<p>Improve documentation for ObjectMethods.</p>
|
101
|
-
</li><li>
|
102
|
-
<p>Provide a way to run multiple tests within a single acceptance test method.</p>
|
103
|
-
</li></ul>
|
104
|
-
|
105
|
-
<h1>0.10.5</h1>
|
106
|
-
<ul><li>
|
107
|
-
<p>Fix for issue #66 (hopefully without regressing on issue #63) - Mocha::Mock
|
108
|
-
has Mocha::Mockery as a dependency. Stop trying to pretend otherwise.
|
109
|
-
Thanks to @kennyj for reporting.</p>
|
110
|
-
</li><li>
|
111
|
-
<p>Fix a bunch of warnings in Ruby 1.9. There are still the 6 test failures
|
112
|
-
mentioned in issue #41 which I suspect are due to the introspection gem not
|
113
|
-
being Ruby 1.9-compatible.</p>
|
114
|
-
</li><li>
|
115
|
-
<p>Add links to README for source code & issue tracker.</p>
|
116
|
-
</li><li>
|
117
|
-
<p>Fix for issue #67 - Make the travis-ci badge visible in the README. Thanks
|
118
|
-
to Diego Plentz for pull request.</p>
|
119
|
-
</li><li>
|
120
|
-
<p>Fix for issue #70 - Rename Mock#expectations to Mock#__expectations__ to
|
121
|
-
avoid conflicts. Thanks to Jeremy Stephens for pull request.</p>
|
122
|
-
</li></ul>
|
123
|
-
|
124
|
-
<h1>0.10.4</h1>
|
125
|
-
<ul><li>
|
126
|
-
<p>Fix for issue #65 - expectations not being verified in subsequent tests.</p>
|
127
|
-
</li><li>
|
128
|
-
<p>Fix for issue #63 - require Mocha::Mockery at Mocha::Mock class load time
|
129
|
-
and not on invocation of Mock#method_missing.</p>
|
130
|
-
</li><li>
|
131
|
-
<p>Fix for issue #45 - raise ArgumentError if
|
132
|
-
Mocha::ParameterMatchers#has_entry is given</p>
|
133
|
-
</li></ul>
|
134
|
-
|
135
|
-
<p>Hash with wrong number of entries.</p>
|
136
|
-
<ul><li>
|
137
|
-
<p>Make global variable name more obscure to avoid clashes with other
|
138
|
-
libraries.</p>
|
139
|
-
</li><li>
|
140
|
-
<p>Move travis-ci-related gemfiles into their own directory.</p>
|
141
|
-
</li></ul>
|
142
|
-
|
143
|
-
<h1>0.10.3</h1>
|
144
|
-
<ul><li>
|
145
|
-
<p>Fix for issue #57. Gem::Requirement#=~ was only added in rubygems v1.8.0,
|
146
|
-
but Object#=~ means the result of various monkey-patching checks is always
|
147
|
-
false/nil for earlier versions of rubygems. However, the method it aliases
|
148
|
-
#satisfied_by? has existed since Gem::Dependency was extracted from
|
149
|
-
Gem::Version in rubygems v0.9.4.4, so it’s much safer to use that. Thanks
|
150
|
-
to fguillen for reporting and helping with diagnosis.</p>
|
151
|
-
</li></ul>
|
152
|
-
|
153
|
-
<h1>0.10.2</h1>
|
154
|
-
<ul><li>
|
155
|
-
<p>Merge pull request #53. Unstubbing a method should not remove expectations
|
156
|
-
for other stubbed methods. Fixes #52. Thanks to saikat.</p>
|
157
|
-
</li></ul>
|
158
|
-
|
159
|
-
<h1>0.10.1</h1>
|
160
|
-
<ul><li>
|
161
|
-
<p>Merge pull request #51. Use Gem::Requirement & Gem::Version for version
|
162
|
-
comparison. Fixes issue #50. Thanks to meineerde.</p>
|
163
|
-
</li><li>
|
164
|
-
<p>Fixed typo in rdoc for Mocha::ObjectMethods.</p>
|
165
|
-
</li><li>
|
166
|
-
<p>Improve README as suggested in issue #46. Explain that Mocha must be loaded
|
167
|
-
after test libraries and how to achieve this using Bundler.</p>
|
168
|
-
</li><li>
|
169
|
-
<p>Merge pull request #43 - nobody expects the spanish inquisition! Thanks to
|
170
|
-
cairo140.</p>
|
171
|
-
</li><li>
|
172
|
-
<p>Fix for issue #39 - improve documentation for Expectation#multiple_yields.</p>
|
173
|
-
</li><li>
|
174
|
-
<p>Fix for issue #38 where a subtle change in test-unit v2.3.0 had been missed
|
175
|
-
- only visible in verbose mode.</p>
|
176
|
-
</li><li>
|
177
|
-
<p>Support for MiniTest up to v2.6.2 has been verified.</p>
|
178
|
-
</li><li>
|
179
|
-
<p>Add explicit development dependency on coderay for generating
|
180
|
-
syntax-highlighted code examples.</p>
|
181
|
-
</li></ul>
|
182
|
-
|
183
|
-
<h1>0.10.0</h1>
|
184
|
-
<ul><li>
|
185
|
-
<p>Add Expectation#throws to allow a stubbed method to use Kernel#throw.</p>
|
186
|
-
</li><li>
|
187
|
-
<p>Updates for versions of Test::Unit up to and including v2.3.3 (including
|
188
|
-
patch by Jens Fahnenbruck).</p>
|
189
|
-
</li><li>
|
190
|
-
<p>Updates for versions of MiniTest up to and including v2.5.1.</p>
|
191
|
-
</li><li>
|
192
|
-
<p>Since the singleton method added by Mocha masks the underlying instance
|
193
|
-
method, there’s no need to move it out the way and then back again. This
|
194
|
-
fixes Github issue #20, because the original method is left unchanged - <a
|
195
|
-
href="https://github.com/floehopper/mocha/issues/20">github.com/floehopper/mocha/issues/20</a>
|
196
|
-
(thanks to Nick Lewis).</p>
|
197
|
-
</li><li>
|
198
|
-
<p>Handle stubbing of a singleton method, leaving the original method
|
199
|
-
unchanged after the test.</p>
|
200
|
-
</li><li>
|
201
|
-
<p>When stubbing an instance method that was originally defined as a singleton
|
202
|
-
method, the original method should still exist after the test.</p>
|
203
|
-
</li><li>
|
204
|
-
<p>Fixed mis-print in Mocha::ObjectMethods#unstub documentation (patch by Gleb
|
205
|
-
Pomykalov).</p>
|
206
|
-
</li><li>
|
207
|
-
<p>Improved test coverage around stubbing of methods defined in different ways
|
208
|
-
- this makes use of the newly extracted introspection gem (although this
|
209
|
-
means some tests are now failing in Ruby v1.9.2).</p>
|
210
|
-
</li><li>
|
211
|
-
<p>Added configuration for Travis continuous integration.</p>
|
212
|
-
</li><li>
|
213
|
-
<p>Make the gemspec the canonical reference and stop generating it from the
|
214
|
-
Rakefile.</p>
|
215
|
-
</li><li>
|
216
|
-
<p>Use the built-in Bundler rake tasks for packaging the gem.</p>
|
217
|
-
</li><li>
|
218
|
-
<p>Use the “release” rake task provided by Bundler instead of using the
|
219
|
-
Rake::XForge::Release functionality.</p>
|
220
|
-
</li><li>
|
221
|
-
<p>Extract Object#__metaclass__ into a new metaclass gem.</p>
|
222
|
-
</li><li>
|
223
|
-
<p>Run rake tasks without `bundle exec`.</p>
|
224
|
-
</li><li>
|
225
|
-
<p>Avoid deprecation warning for rdoc rake task.</p>
|
226
|
-
</li><li>
|
227
|
-
<p>Remove the `use_test_unit_gem` MOCHA_OPTION which hasn’t worked since we
|
228
|
-
switched to bundler - we can now run the tests specifying a different
|
229
|
-
Gemfile instead.</p>
|
230
|
-
</li><li>
|
231
|
-
<p>Use multiple Gemfiles seems to run Travis CI builds against multiple
|
232
|
-
version of test-unit & minitest.</p>
|
233
|
-
</li></ul>
|
234
|
-
|
235
|
-
<h1>0.9.12</h1>
|
236
|
-
<ul><li>
|
237
|
-
<p>Make Mocha’s tests pass under Ruby 1.9.2 i.e. using MiniTest. One of the
|
238
|
-
main issues was that we were not parsing stacktraces on MiniTest errors
|
239
|
-
comprehensively enough.</p>
|
240
|
-
</li><li>
|
241
|
-
<p>Avoid ‘circular require considered harmful’ warning when running Mocha’s
|
242
|
-
tests in Ruby 1.9.2</p>
|
243
|
-
</li><li>
|
244
|
-
<p>Make performance tests work on Ruby 1.9.2 i.e. using MiniTest.</p>
|
245
|
-
</li><li>
|
246
|
-
<p>Declare rake as a <b>development</b> dependency with newer versions of
|
247
|
-
Rubygems since it’s only needed to carry out developer-related tasks.</p>
|
248
|
-
</li></ul>
|
249
|
-
|
250
|
-
<h1>0.9.11</h1>
|
251
|
-
<ul><li>
|
252
|
-
<p>Added explicit support for minitest v1.5.0 to v2.0.2.</p>
|
253
|
-
</li><li>
|
254
|
-
<p>Make testable by rubygems-test.</p>
|
255
|
-
</li><li>
|
256
|
-
<p>Update links to my blog and make other links consistent.</p>
|
257
|
-
</li><li>
|
258
|
-
<p>Added a URI parameter matcher that ignores the order of query parameters so
|
259
|
-
that tests can be independent of undefined hash ordering (patch by Paul
|
260
|
-
Battley).</p>
|
261
|
-
</li><li>
|
262
|
-
<p>Include unexpected invocation in failure message and change the language
|
263
|
-
slightly to make the failure message less confusing. See <a
|
264
|
-
href="http://floehopper.lighthouseapp.com/projects/22289/tickets/52">floehopper.lighthouseapp.com/projects/22289/tickets/52</a>.</p>
|
265
|
-
</li><li>
|
266
|
-
<p>No need to create regular expression every time the
|
267
|
-
BacktraceFilter#filtered method is called. See <a
|
268
|
-
href="http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/66">floehopper.lighthouseapp.com/projects/22289-mocha/tickets/66</a>.</p>
|
269
|
-
</li></ul>
|
270
|
-
|
271
|
-
<h1>0.9.10</h1>
|
272
|
-
<ul><li>
|
273
|
-
<p>Added Mocha::ObjectMethods#unstub method - <a
|
274
|
-
href="https://github.com/floehopper/mocha/issues#issue/6">github.com/floehopper/mocha/issues#issue/6</a></p>
|
275
|
-
</li><li>
|
276
|
-
<p>Inherit Mocha::ExpectationError from Exception instead of StandardError to
|
277
|
-
reduce the chances of a test passing by accident - thanks to James Sanders
|
278
|
-
(jsanders) - <a
|
279
|
-
href="https://github.com/floehopper/mocha/issues#issue/15">github.com/floehopper/mocha/issues#issue/15</a></p>
|
280
|
-
</li><li>
|
281
|
-
<p>Fixed bug - GitHub README page to link correctly to code examples - <a
|
282
|
-
href="https://github.com/floehopper/mocha/issues/closed#issue/11">github.com/floehopper/mocha/issues/closed#issue/11</a></p>
|
283
|
-
</li><li>
|
284
|
-
<p>Fixed bug - PASSTHROUGH_EXCEPTIONS are defined on MiniTest::Unit::TestCase
|
285
|
-
not in Mocha - thanks to Brian Troutwine (blt) - <a
|
286
|
-
href="https://github.com/floehopper/mocha/issues/closed#issue/14">github.com/floehopper/mocha/issues/closed#issue/14</a></p>
|
287
|
-
</li></ul>
|
288
|
-
|
289
|
-
<h1>0.9.9</h1>
|
290
|
-
<ul><li>
|
291
|
-
<p>Avoid loading bits of the test-unit gem by accident. This is an attempt at
|
292
|
-
a fix for the problem that James Adam reported [1]. By using ‘load’ instead
|
293
|
-
of ‘require’ to detect the version of Test::Unit, we can avoid rubygems
|
294
|
-
trying to load bits of the test-unit gem when it’s not wanted. [1] <a
|
295
|
-
href="http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/50#ticket-50-13">floehopper.lighthouseapp.com/projects/22289-mocha/tickets/50#ticket-50-13</a></p>
|
296
|
-
</li><li>
|
297
|
-
<p>Fix exception when running rake without test-unit gem. When test-unit gem
|
298
|
-
>=v2.0.0 was installed but the “use_test_unit_gem” MOCHA_OPTIONS was not
|
299
|
-
specified, a “comparison of Fixnum with Hash failed” exception was being
|
300
|
-
raised when running the performance tests. This was because bits of the
|
301
|
-
test-unit gem were being loaded accidentally and a Hash was being
|
302
|
-
incorrectly supplied to the TestRunner.run method.</p>
|
303
|
-
</li><li>
|
304
|
-
<p>Explicitly require rubygems for running tests via rake using test-unit gem.</p>
|
305
|
-
</li><li>
|
306
|
-
<p>Handle newer versions of test-unit gem (v2.0.2 to v2.0.9)</p>
|
307
|
-
</li><li>
|
308
|
-
<p>Handle newer versions of minitest gem (v1.4.0 to v1.6.0)</p>
|
309
|
-
</li><li>
|
310
|
-
<p>Added warnings about monkey-patching test-unit and minitest to aid
|
311
|
-
debugging. These are enabled by including “debug” in the MOCHA_OPTIONS
|
312
|
-
environment variable. This is now a comma-separated list, so that we can
|
313
|
-
specify multiple options e.g. MOCHA_OPTIONS=debug,use_test_unit_gem</p>
|
314
|
-
</li><li>
|
315
|
-
<p>Eloy Duran (alloy) made the unit tests run on 1.9.2dev r25249.</p>
|
316
|
-
</li><li>
|
317
|
-
<p>Eloy Duran (alloy) also improved some MiniTest TestResult code I’d written
|
318
|
-
and got the acceptance tests running on Ruby 1.9 HEAD. There are still 4
|
319
|
-
failures because for some reason the backtrace line numbers are off by one.
|
320
|
-
And the minitest_test test case does not run when the whole suite is run
|
321
|
-
with MiniTest. These issues still need investigation.</p>
|
322
|
-
</li><li>
|
323
|
-
<p>Fixed some acceptance tests to run in Ruby 1.9.2 - it’s no longer possible
|
324
|
-
to subvert the protection of a method by calling it via Object#send.</p>
|
325
|
-
</li><li>
|
326
|
-
<p>Fixed “test:performance” rake task so it runs in Ruby 1.9.2.</p>
|
327
|
-
</li><li>
|
328
|
-
<p>Fix test incorrectly failing under Rubinius 1.0. This test imposed too many
|
329
|
-
constraints. It appears that Object#inspect legitimately calls
|
330
|
-
Object#object_id in Rubinius. But we’re only interested in what ‘id’
|
331
|
-
methods Mocha::ObjectMethods#mocha_inspect calls. By stubbing
|
332
|
-
Object#inspect we can relax the constraints imposed by the test.</p>
|
333
|
-
</li><li>
|
334
|
-
<p>Luke Redpath (lukeredpath) added new shorthand “any” and “all” composite
|
335
|
-
parameter matchers using “&” and “|”. This provides an alternative
|
336
|
-
syntax for expecting any or all matchers to pass, e.g.
|
337
|
-
foo.expects(:bar).with(equals(1) | equals(2)).</p>
|
338
|
-
</li><li>
|
339
|
-
<p>Improved documentation for Expectation#raises. A number of people have
|
340
|
-
suggested an extension to the API to cope with custom exceptions that have
|
341
|
-
extra constructor parameters. However, since the arguments supplied to
|
342
|
-
Expectation#raises are just passed on to Kernel#raise, it’s possible to
|
343
|
-
pass in an instance of an exception. Thus no change to the API is required,
|
344
|
-
but it does seem worthwhile pointing this out in the docs.</p>
|
345
|
-
</li><li>
|
346
|
-
<p>Corrected RDoc example for Expectation#never thanks to Red David
|
347
|
-
(reddavis).</p>
|
348
|
-
</li><li>
|
349
|
-
<p>Improved RDoc including a change suggested by Rohit Arondekar (rohit).</p>
|
350
|
-
</li><li>
|
351
|
-
<p>Updated gemspec as requested by Sam Woodard (shwoodard).</p>
|
352
|
-
</li></ul>
|
353
|
-
|
354
|
-
<h1>0.9.8</h1>
|
355
|
-
<ul><li>
|
356
|
-
<p>Fixed bug “NameError raised when using Mocha as a Rails plug-in” - <a
|
357
|
-
href="http://floehopper.lighthouseapp.com/projects/22289/tickets/53">floehopper.lighthouseapp.com/projects/22289/tickets/53</a>.
|
358
|
-
Since 0.9.6 the Rails plugin has been broken. See bug report for details.
|
359
|
-
You will need to explicitly load Mocha <b>after</b> the test framework has
|
360
|
-
been loaded, e.g. by adding “require ‘mocha’” at the bottom of
|
361
|
-
test/test_helper.rb.</p>
|
362
|
-
</li><li>
|
363
|
-
<p>Make Mocha::ParameterMatchers#regexp_matches, #includes, #has_value,
|
364
|
-
#has_key more robust. Thanks to Sander Hartlage.</p>
|
365
|
-
</li><li>
|
366
|
-
<p>Allow passing a block to Mocha::Configuration methods to only change
|
367
|
-
configuration for the duration of the block. Thanks to Dan Manges.</p>
|
368
|
-
</li><li>
|
369
|
-
<p>Fixed bug “doc generation fails in 0.9.7 gem” - <a
|
370
|
-
href="http://floehopper.lighthouseapp.com/projects/22289/tickets/51">floehopper.lighthouseapp.com/projects/22289/tickets/51</a>.</p>
|
371
|
-
</li><li>
|
372
|
-
<p>Remove rdoc template incorporating google analytics from source control.
|
373
|
-
The file just needs to exist locally and be ignored by source control. This
|
374
|
-
should stop the warning showing up on e.g. RunCodeRun build results.</p>
|
375
|
-
</li></ul>
|
376
|
-
|
377
|
-
<h1>0.9.7</h1>
|
378
|
-
<ul><li>
|
379
|
-
<p>Although I had provided a deprecation warning for people using
|
380
|
-
Mocha::Standalone, I had assumed people wouldn’t be explicitly loading the
|
381
|
-
mocha/standalone.rb file. It turns out this assumption was incorrect at
|
382
|
-
least in the case of Rspec. This is now fixed.</p>
|
383
|
-
</li></ul>
|
384
|
-
|
385
|
-
<h1>0.9.6</h1>
|
386
|
-
<ul><li>
|
387
|
-
<p>Version 2.0.1 of the test-unit gem introduced a private ‘run_test’ method
|
388
|
-
on TestCase which clashed with the public TestRunner#run_test method. So
|
389
|
-
this latter method has been renamed to ‘run_as_test’.</p>
|
390
|
-
</li><li>
|
391
|
-
<p>Stop requiring rubygems - this should be an environmental choice for the
|
392
|
-
user. <a href="http://gist.github.com/54177">gist.github.com/54177</a> -
|
393
|
-
describes why requiring rubygems in your library code is a bad idea.</p>
|
394
|
-
</li><li>
|
395
|
-
<p>It seems like overkill to vendorize coderay and meta_project when they’re
|
396
|
-
only needed to generate the examples for documentation and for publishing
|
397
|
-
files on RubyForge. So I’m removing them and installing them locally as
|
398
|
-
gems when I need them.</p>
|
399
|
-
</li><li>
|
400
|
-
<p>Added support for ‘test-unit’ gem (version >= 2.0). Note that as with
|
401
|
-
other versions of Test::Unit I’m completely replacing the TestCase#run
|
402
|
-
method. Unfortunately in version 2.0.0 this method differs slightly from
|
403
|
-
the same method in version 2.0.1 & 2.0.2, so we have to provide
|
404
|
-
different implementations to ensure that the internal working of Test::Unit
|
405
|
-
are not compromised by Mocha. Note also that unless the ‘test-unit’ gem is
|
406
|
-
loaded, requiring ‘test/unit’ leads to a mixture of stdlib and gem classes
|
407
|
-
being loaded causing errors. To avoid a dependency on rubygems, the gem is
|
408
|
-
loaded only if MOCHA_OPTIONS is set to ‘use_test_unit_gem’ - this option is
|
409
|
-
only intended for use in running Mocha’s own tests. It might be worthwhile
|
410
|
-
to create a shim gem like minitest_tu_shim to allow the test-unit gem to
|
411
|
-
completely replace the stdlib, but that’s a job for another day. The
|
412
|
-
changes in the Rakefile are to make the default task run with the
|
413
|
-
‘test-unit’ gem (version >= 2.0).</p>
|
414
|
-
</li><li>
|
415
|
-
<p>Renamed Mocha::Standalone to Mocha::API to better reflect its purpose.
|
416
|
-
Added a deprecation warning for those who are referencing
|
417
|
-
Mocha::Standalone.</p>
|
418
|
-
</li><li>
|
419
|
-
<p>Fix exception raised by HasEntry#matches? if first param is not a Hash
|
420
|
-
(thanks to Taylor Barstow).</p>
|
421
|
-
</li><li>
|
422
|
-
<p>Ken Collins reported [1] that Mocha is always loading MiniTest if it is
|
423
|
-
available and loading it causes some Rails/ActionPack tests to break. I’ve
|
424
|
-
removed the loading of MiniTest, but this now means the user has to ensure
|
425
|
-
that if they want to use MiniTest in conjunction with Mocha, he must load
|
426
|
-
MiniTest before loading Mocha. [1] <a
|
427
|
-
href="http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2060">rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/2060</a></p>
|
428
|
-
</li><li>
|
429
|
-
<p>Implemented Bacon integration (thanks to Ubiratan Pires Alberton), but this
|
430
|
-
was then removed after deciding only to maintain integration with
|
431
|
-
Test::Unit and MiniTest which are both Ruby standard libraries. See mailing
|
432
|
-
list for details.</p>
|
433
|
-
</li><li>
|
434
|
-
<p>Don’t monkey-patch MiniTest if it’s already been monkey-patched by Mocha.</p>
|
435
|
-
</li><li>
|
436
|
-
<p>Fixed bug: MiniTest integration was counting ExpectationErrors as errors
|
437
|
-
not failures. <a
|
438
|
-
href="http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/41">floehopper.lighthouseapp.com/projects/22289-mocha/tickets/41</a>.</p>
|
439
|
-
</li><li>
|
440
|
-
<p>Fixed bug: Some Bacon tests were failing in Ruby 1.9.1. <a
|
441
|
-
href="http://floehopper.lighthouseapp.com/projects/22289-mocha/tickets/43">floehopper.lighthouseapp.com/projects/22289-mocha/tickets/43</a>.</p>
|
442
|
-
</li><li>
|
443
|
-
<p>Chad Humphries pointed out that in Ruby 1.9.1, if you are not using
|
444
|
-
Test::Unit or MiniTest, Mocha will attempt to load and monkey-patch
|
445
|
-
Test::Unit. Mocha will now only monkey-patch Test::Unit and/or MiniTest if
|
446
|
-
they have already been loaded. MiniTest tests will now run in both Ruby
|
447
|
-
1.8.6 (with MiniTest gem) and in Ruby 1.9.1 (with MiniTest std lib). See
|
448
|
-
Ligthouse ticket - <a
|
449
|
-
href="http://floehopper.lighthouseapp.com/projects/22289/tickets/49">floehopper.lighthouseapp.com/projects/22289/tickets/49</a>.</p>
|
450
|
-
</li><li>
|
451
|
-
<p>Made Mocha compatible with minitest 1.4.0 and above (thanks to Denis
|
452
|
-
Defreyne).</p>
|
453
|
-
</li></ul>
|
454
|
-
|
455
|
-
<h1>0.9.5</h1>
|
456
|
-
<ul><li>
|
457
|
-
<p>Fixed Lighthouse bug #32 - stub_everything should mean mock responds to
|
458
|
-
anything.</p>
|
459
|
-
</li><li>
|
460
|
-
<p>Added Expectation#twice to improve readability. Thanks to pull request from
|
461
|
-
Celestino Gomes.</p>
|
462
|
-
</li><li>
|
463
|
-
<p>In Ruby 1.9.1, requiring ‘test/unit’ loads a thin wrapper around MiniTest
|
464
|
-
and Test::Unit::TestCase ends up inheriting from MiniTest::Unit::TestCase.
|
465
|
-
So we need to avoid including the Mocha modules more than once to avoid
|
466
|
-
nasty consequences. Thanks to Matthias Hennemeyer for help with this.</p>
|
467
|
-
</li><li>
|
468
|
-
<p>Ruby 1.9 includes rake, but not rake/contrib. For the moment I’ve moved the
|
469
|
-
sshpublisher require into the only rake task that needs it, so that I can
|
470
|
-
at least run the tests in Ruby 1.9. It looks like I will need to build a
|
471
|
-
rake/contrib gem or similar to get this working properly - <a
|
472
|
-
href="http://intertwingly.net/blog/2008/01/07/Rake-Contrib-for-1-9">intertwingly.net/blog/2008/01/07/Rake-Contrib-for-1-9</a></p>
|
473
|
-
</li></ul>
|
474
|
-
|
475
|
-
<h1>0.9.4</h1>
|
476
|
-
<ul><li>
|
477
|
-
<p>Added mocha.gemspec file generated with Chad Woolley’s new rake task, so
|
478
|
-
that a floehopper-mocha gem will get built on GitHub.</p>
|
479
|
-
</li><li>
|
480
|
-
<p>Add rake task to update mocha.gemspec with unique version, which will cause
|
481
|
-
gem to be auto-built on github</p>
|
482
|
-
</li><li>
|
483
|
-
<p>As Tobias Crawley correctly pointed out in feature request #23055
|
484
|
-
“stubs(with_hash) not working with existing object” [1], following the
|
485
|
-
principle of least surprise, it should be possible to call
|
486
|
-
ObjectMethods#expects & ObjectMethods#stubs with a Hash of method_names
|
487
|
-
vs return_values like you can with Mock#expects & Mock#stubs. I’ve also
|
488
|
-
updated & improved the docs to reflect the changes. [1] <a
|
489
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=23055&group_id=1917&atid=7480">rubyforge.org/tracker/index.php?func=detail&aid=23055&group_id=1917&atid=7480</a></p>
|
490
|
-
</li><li>
|
491
|
-
<p>Removed deprecated gem autorequire.</p>
|
492
|
-
</li></ul>
|
493
|
-
|
494
|
-
<h1>0.9.3</h1>
|
495
|
-
<ul><li>
|
496
|
-
<p>Added support for MiniTest thanks to Jeff Smick.</p>
|
497
|
-
</li><li>
|
498
|
-
<p>Fixed a possible bug with some of the non-default Configuration options
|
499
|
-
relating to the argument to Object#respond_to?</p>
|
500
|
-
</li><li>
|
501
|
-
<p>As per Jay Fields recommendations [1] and with further impetus from a talk
|
502
|
-
at Ruby Manor, any methods added to core classes are now added by including
|
503
|
-
a module. This means that Mocha is a better citizen of the Ruby world and
|
504
|
-
it’s behaviour is more easily extended. [1] <a
|
505
|
-
href="http://blog.jayfields.com/2008/07/ruby-underuse-of-modules.html">blog.jayfields.com/2008/07/ruby-underuse-of-modules.html</a>
|
506
|
-
& <a
|
507
|
-
href="http://blog.jayfields.com/2008/07/ruby-redefine-method-behavior.html">blog.jayfields.com/2008/07/ruby-redefine-method-behavior.html</a></p>
|
508
|
-
</li><li>
|
509
|
-
<p>Removed deprecated gem autorequire.</p>
|
510
|
-
</li></ul>
|
511
|
-
|
512
|
-
<h1>0.9.2</h1>
|
513
|
-
<ul><li>
|
514
|
-
<p>Improved documentation to address [#22530] ‘Mock methods with multiple
|
515
|
-
return values not possible?’</p>
|
516
|
-
</li><li>
|
517
|
-
<p>respond_with parameter matcher was not available in tests.</p>
|
518
|
-
</li><li>
|
519
|
-
<p>Patch [#22630] Fix for a bug in running Rails tests with Ruby 1.8.7.
|
520
|
-
Array#flatten was being called which in turn was checking whether each
|
521
|
-
element responded to #to_ary. This check was using the two parameter
|
522
|
-
version of #respond_to?, but Mock was only defining a one parameter
|
523
|
-
version.</p>
|
524
|
-
</li></ul>
|
525
|
-
|
526
|
-
<h1>0.9.1</h1>
|
527
|
-
<ul><li>
|
528
|
-
<p>Fixed bug #21465 - expects & stubs should support method names as
|
529
|
-
strings (as well as symbols) or fail fast. Convert all expectation method
|
530
|
-
names to a symbol in case they were supplied as a string.</p>
|
531
|
-
</li><li>
|
532
|
-
<p>By removing Mock#unexpected_method_called we reduce the number of methods
|
533
|
-
vulnerable to the problem that surfaced in bug #21563.</p>
|
534
|
-
</li><li>
|
535
|
-
<p>Fix bug #21563 - stubbing ‘verified?’ method is unsafe. Instance method
|
536
|
-
names on the Mock class should be more obscure.</p>
|
537
|
-
</li><li>
|
538
|
-
<p>Performance improvement. StubbaExampleTest goes twice as fast on my local
|
539
|
-
machine.</p>
|
540
|
-
</li><li>
|
541
|
-
<p>Added primitive performance test to default rake task.</p>
|
542
|
-
</li><li>
|
543
|
-
<p>Fix format of case statements which don’t work in Ruby 1.9 and make others
|
544
|
-
consistent.</p>
|
545
|
-
</li><li>
|
546
|
-
<p>There is no point in running (potentially expensive) checks if
|
547
|
-
configuration is set to allow such checks to fail. This is a relatively
|
548
|
-
quick fix in response to Chris McGrath’s performance problems.</p>
|
549
|
-
</li><li>
|
550
|
-
<p>Fix for bug #21161 - ‘uninitialized constant Deprecation in stubba.rb’.</p>
|
551
|
-
</li><li>
|
552
|
-
<p>It’s more readable to talk about ‘once’ and ‘twice’ rather than ‘1 time’
|
553
|
-
and ‘2 times’.</p>
|
554
|
-
</li><li>
|
555
|
-
<p>Fix bug #20883 - never should raise when called to prevent follow up
|
556
|
-
errors. Fail fast when there are no matching invokable expectations and
|
557
|
-
handle the stub_everything case sensibly. This might not be entirely
|
558
|
-
backwards compatible, but I think the benefits outweigh the risks. The most
|
559
|
-
likely change is that a test that was already failing will now fail faster,
|
560
|
-
which doesn’t seem so awful.</p>
|
561
|
-
</li></ul>
|
562
|
-
|
563
|
-
<h1>0.9.0</h1>
|
564
|
-
<ul><li>
|
565
|
-
<p>Configurable warnings or errors</p>
|
566
|
-
<ul><li>
|
567
|
-
<p>when a method on a non-public method is stubbed</p>
|
568
|
-
</li><li>
|
569
|
-
<p>when a method on a non-existent method is stubbed</p>
|
570
|
-
</li><li>
|
571
|
-
<p>when a method on a non-mock object is stubbed</p>
|
572
|
-
</li><li>
|
573
|
-
<p>when a method is stubbed unnecessarily (i.e. the stubbed method is not
|
574
|
-
called during the test)</p>
|
575
|
-
</li></ul>
|
576
|
-
</li><li>
|
577
|
-
<p>Improved error messages</p>
|
578
|
-
<ul><li>
|
579
|
-
<p>User-friendly list of unsatisfied expectations, satisfied expectations and
|
580
|
-
state machines.</p>
|
581
|
-
</li><li>
|
582
|
-
<p>Improved readability of cardinality description.</p>
|
583
|
-
</li><li>
|
584
|
-
<p>Display sensible failure message for any_instance expectations e.g.
|
585
|
-
“#<AnyInstance:Foo>.bar - expected calls: 1, actual calls: 0”</p>
|
586
|
-
</li></ul>
|
587
|
-
</li><li>
|
588
|
-
<p>Parameter matchers</p>
|
589
|
-
<ul><li>
|
590
|
-
<p>New to this release</p>
|
591
|
-
<ul><li>
|
592
|
-
<p>optionally (allows matching of optional parameters if available)</p>
|
593
|
-
</li><li>
|
594
|
-
<p>yaml_equivalent (allows matching of YAML that represents the specified
|
595
|
-
object)</p>
|
596
|
-
</li><li>
|
597
|
-
<p>responds_with (tests the quack not the duck)</p>
|
598
|
-
</li></ul>
|
599
|
-
</li><li>
|
600
|
-
<p>Nesting of parameter matchers is now supported.</p>
|
601
|
-
</li></ul>
|
602
|
-
</li><li>
|
603
|
-
<p>Optional block passed into mock initializer is evaluated in the context of
|
604
|
-
the new mock instance and can be used as a shortcut to set up expectations.</p>
|
605
|
-
</li><li>
|
606
|
-
<p>Added JMock-style sequences for constraining the order of expected
|
607
|
-
invocations. See Standalone#sequence and Expectation#in_sequence.</p>
|
608
|
-
</li><li>
|
609
|
-
<p>Added JMock-style states for constraining the order of expected
|
610
|
-
invocations. See Standalone#states, Expectation#then, Expectation#when and
|
611
|
-
StateMachine.</p>
|
612
|
-
</li><li>
|
613
|
-
<p>Compatibility with versions of Ruby</p>
|
614
|
-
<ul><li>
|
615
|
-
<p>Compatibility with Ruby v1.9. All test errors and warnings fixed.</p>
|
616
|
-
</li><li>
|
617
|
-
<p>Nasty fix so that TestCaseAdaptor works consistently with earlier versions
|
618
|
-
of Test::Unit as well as more recent versions.</p>
|
619
|
-
</li><li>
|
620
|
-
<p>Added platform to gem specification to avoid bug in rubygems 0.9.5 - see <a
|
621
|
-
href="http://www.dcmanges.com/blog/rubygems-0-9-5-platform-bug">www.dcmanges.com/blog/rubygems-0-9-5-platform-bug</a>
|
622
|
-
and <a
|
623
|
-
href="http://rubygems.org/read/chapter/20#platform">rubygems.org/read/chapter/20#platform</a>.</p>
|
624
|
-
</li><li>
|
625
|
-
<p>Make ExpectationRaiser deal with subclasses of Interrupt which seem to need
|
626
|
-
a message supplied in the raise statement in Ruby 1.8.6 (but not 1.8.4 or
|
627
|
-
1.9). Not sure this is really Mocha’s responsibility.</p>
|
628
|
-
</li></ul>
|
629
|
-
</li><li>
|
630
|
-
<p>Added deprecation warning in stubba.rb which is no longer needed and will
|
631
|
-
be removed.</p>
|
632
|
-
</li><li>
|
633
|
-
<p>Supply positioning information to evals to improve any error messages. See
|
634
|
-
<a
|
635
|
-
href="http://ola-bini.blogspot.com/2008/01/ruby-antipattern-using-eval-without.html">ola-bini.blogspot.com/2008/01/ruby-antipattern-using-eval-without.html</a></p>
|
636
|
-
</li><li>
|
637
|
-
<p>Bug fixes</p>
|
638
|
-
<ul><li>
|
639
|
-
<p>18914 in revision 296 - <a
|
640
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=18914&group_id=1917&atid=7477">rubyforge.org/tracker/index.php?func=detail&aid=18914&group_id=1917&atid=7477</a></p>
|
641
|
-
</li><li>
|
642
|
-
<p>18917 in revision 295 - <a
|
643
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=18917&group_id=1917&atid=7477">rubyforge.org/tracker/index.php?func=detail&aid=18917&group_id=1917&atid=7477</a></p>
|
644
|
-
</li><li>
|
645
|
-
<p>18336 in revision 287 - <a
|
646
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=18336&group_id=1917&atid=7477">rubyforge.org/tracker/index.php?func=detail&aid=18336&group_id=1917&atid=7477</a></p>
|
647
|
-
</li><li>
|
648
|
-
<p>17835 in revision 255 - <a
|
649
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=17835&group_id=1917&atid=7477">rubyforge.org/tracker/index.php?func=detail&aid=17835&group_id=1917&atid=7477</a></p>
|
650
|
-
</li><li>
|
651
|
-
<p>17412 in revision 242 - <a
|
652
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=17412&group_id=1917&atid=7477">rubyforge.org/tracker/index.php?func=detail&aid=17412&group_id=1917&atid=7477</a></p>
|
653
|
-
</li><li>
|
654
|
-
<p>15977 in revision 198 - <a
|
655
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=15977&group_id=1917&atid=7477">rubyforge.org/tracker/index.php?func=detail&aid=15977&group_id=1917&atid=7477</a></p>
|
656
|
-
</li><li>
|
657
|
-
<p>11885 in revision 156 - <a
|
658
|
-
href="http://rubyforge.org/tracker/index.php?func=detail&aid=11885&group_id=1917&atid=7477">rubyforge.org/tracker/index.php?func=detail&aid=11885&group_id=1917&atid=7477</a></p>
|
659
|
-
</li></ul>
|
660
|
-
</li></ul>
|
661
|
-
|
662
|
-
<h1>0.5.5</h1>
|
663
|
-
<ul><li>
|
664
|
-
<p>Renamed Matches parameter matcher to RegexpMatches for clarity.</p>
|
665
|
-
</li><li>
|
666
|
-
<p>Added noframes tag to rdoc index to assist Google.</p>
|
667
|
-
</li></ul>
|
668
|
-
|
669
|
-
<h1>0.5.4</h1>
|
670
|
-
<ul><li>
|
671
|
-
<p>Added matches parameter matcher for matching regular expressions.</p>
|
672
|
-
</li></ul>
|
673
|
-
|
674
|
-
<h1>0.5.3</h1>
|
675
|
-
<ul><li>
|
676
|
-
<p>Attempt to fix packaging problems by switching to newer version (1.15.1) of
|
677
|
-
gnutar and setting COPY_EXTENDED_ATTRIBUTES_DISABLE environment variable.</p>
|
678
|
-
</li><li>
|
679
|
-
<p>Removed unused ExpectationSequenceError exception.</p>
|
680
|
-
</li><li>
|
681
|
-
<p>Added instance_of and kind_of parameter matchers.</p>
|
682
|
-
</li><li>
|
683
|
-
<p>Added Google Webmaster meta tag to rdoc template header.</p>
|
684
|
-
</li><li>
|
685
|
-
<p>Put Google Webmaster meta tag in the right header i.e. the one for the
|
686
|
-
index page.</p>
|
687
|
-
</li></ul>
|
688
|
-
|
689
|
-
<h1>0.5.2</h1>
|
690
|
-
<ul><li>
|
691
|
-
<p>Fix bug 11885 - “never doesn’t work with stub_everything” submitted by
|
692
|
-
Alexander Lang. In fixing this bug, also fixed undiscoverd bug where
|
693
|
-
expected & actual invocation counts were being incorrectly reported
|
694
|
-
which seems to have been introduced when fixes were added for invocation
|
695
|
-
dispatch (see MockedMethodDispatchAcceptanceTest).</p>
|
696
|
-
</li><li>
|
697
|
-
<p>Previously when an expectation did not allow more invocations, it was
|
698
|
-
treated as not matching. Now we prefer matching expectations which allow
|
699
|
-
more invocations, but still match expectations which cannot allow more
|
700
|
-
invocations. I think this may be overcomplicating things, but let’s see how
|
701
|
-
it goes.</p>
|
702
|
-
</li></ul>
|
703
|
-
|
704
|
-
<h1>0.5.1</h1>
|
705
|
-
<ul><li>
|
706
|
-
<p>Fixed bug #11583 “Mocha 0.5.0 throwing unexpected warnings”. Also switched
|
707
|
-
on ruby warning for all rake test tasks. Fixed majority of warnings, but
|
708
|
-
some left to fix.</p>
|
709
|
-
</li></ul>
|
710
|
-
|
711
|
-
<h1>0.5.0</h1>
|
712
|
-
<ul><li>
|
713
|
-
<p>Parameter Matchers - I’ve added a few Hamcrest-style parameter matchers
|
714
|
-
which are designed to be used inside Expectation#with. The following
|
715
|
-
matchers are currently available: anything(), includes(), has_key(),
|
716
|
-
has_value(), has_entry(), all_of() & any_of(). More to follow soon. The
|
717
|
-
idea is eventually to get rid of the nasty parameter_block option on
|
718
|
-
Expectation#with.</p>
|
719
|
-
|
720
|
-
<p>object = mock() object.expects(:method).with(has_key(‘key_1’))
|
721
|
-
object.method(‘key_1’ => 1, ‘key_2’ => 2) # no verification error
|
722
|
-
raised</p>
|
723
|
-
|
724
|
-
<p>object = mock() object.expects(:method).with(has_key(‘key_1’))
|
725
|
-
object.method(‘key_2’ => 2) # verification error raised, because method
|
726
|
-
was not called with Hash containing key: ‘key_1’</p>
|
727
|
-
</li><li>
|
728
|
-
<p>Values Returned and Exceptions Raised on Consecutive Invocations - Allow
|
729
|
-
multiple calls to Expectation#returns and Expectation#raises to build up a
|
730
|
-
sequence of responses to invocations on the mock. Added syntactic sugar
|
731
|
-
method Expectation#then to allow more readable expectations.</p>
|
732
|
-
|
733
|
-
<p>object = mock() object.stubs(:method).returns(1,
|
734
|
-
2).then.raises(Exception).then.returns(4) object.method # => 1
|
735
|
-
object.method # => 2 object.method # => raises exception of class
|
736
|
-
Exception object.method # => 4</p>
|
737
|
-
</li><li>
|
738
|
-
<p>Yields on Consecutive Invocations - Allow multiple calls to yields on
|
739
|
-
single expectation to allow yield parameters to be specified for
|
740
|
-
consecutive invocations.</p>
|
741
|
-
|
742
|
-
<p>object = mock() object.stubs(:method).yields(1, 2).then.yields(3)
|
743
|
-
object.method { |*values| p values } # => [1, 2] object.method {
|
744
|
-
|*values| p values } # => [3]</p>
|
745
|
-
</li><li>
|
746
|
-
<p>Multiple Yields on Single Invocation - Added Expectation#multiple_yields to
|
747
|
-
allow a mocked or stubbed method to yield multiple times for a single
|
748
|
-
invocation.</p>
|
749
|
-
|
750
|
-
<p>object = mock() object.stubs(:method).multiple_yields([1, 2], [3])
|
751
|
-
object.method { |*values| p values } # => [1, 2] # => [3]</p>
|
752
|
-
</li><li>
|
753
|
-
<p>Invocation Dispatch - Expectations were already being matched in reverse
|
754
|
-
order i.e. the most recently defined one was being found first. This is
|
755
|
-
still the case, but we now stop matching an expectation when its maximum
|
756
|
-
number of expected invocations is reached. c.f. JMock v1. A stub will never
|
757
|
-
stop matching by default. Hopefully this means we can soon get rid of the
|
758
|
-
need to pass a Proc to Expectation#returns.</p>
|
759
|
-
|
760
|
-
<p>object = mock() object.stubs(:method).returns(2)
|
761
|
-
object.expects(:method).once.returns(1) object.method # => 1
|
762
|
-
object.method # => 2 object.method # => 2 # no verification error
|
763
|
-
raised</p>
|
764
|
-
|
765
|
-
<p># The following should still work…</p>
|
766
|
-
|
767
|
-
<p>Time.stubs(:now).returns(Time.parse(‘Mon Jan 01 00:00:00 UTC 2007’))
|
768
|
-
Time.now # => Mon Jan 01 00:00:00 UTC 2007
|
769
|
-
Time.stubs(:now).returns(Time.parse(‘Thu Feb 01 00:00:00 UTC 2007’))
|
770
|
-
Time.now # => Thu Feb 01 00:00:00 UTC 2007</p>
|
771
|
-
</li><li>
|
772
|
-
<p>Deprecate passing an instance of Proc to Expectation#returns.</p>
|
773
|
-
</li><li>
|
774
|
-
<p>Explicitly include all Rakefile dependencies in project.</p>
|
775
|
-
</li><li>
|
776
|
-
<p>Fixed old Stubba example.</p>
|
777
|
-
</li><li>
|
778
|
-
<p>Fix so that it is possible for a stubbed method to raise an Interrupt
|
779
|
-
exception without a message in Ruby 1.8.6</p>
|
780
|
-
</li><li>
|
781
|
-
<p>Added responds_like and quacks_like.</p>
|
782
|
-
</li><li>
|
783
|
-
<p>Capture standard object methods before Mocha adds any.</p>
|
784
|
-
</li><li>
|
785
|
-
<p>Added Expectation#once method to make interface less surprising.</p>
|
786
|
-
</li><li>
|
787
|
-
<p>Use Rake::TestTask to run tests. Created three separate tasks to run unit,
|
788
|
-
integration & acceptance tests. Split inspect_test into one file per
|
789
|
-
TestCase. Deleted superfluous all_tests file.</p>
|
790
|
-
</li><li>
|
791
|
-
<p>Fiddled with mocha_inspect and tests to give more sensible results on x86
|
792
|
-
platform.</p>
|
793
|
-
</li><li>
|
794
|
-
<p>Fixed bug #7834 “infinite_range.rb makes incorrect assumption about to_f”
|
795
|
-
logged by James Moore.</p>
|
796
|
-
</li></ul>
|
797
|
-
|
798
|
-
<h1>0.4.0</h1>
|
799
|
-
<ul><li>
|
800
|
-
<p>Allow naming of mocks (patch from Chris Roos).</p>
|
801
|
-
</li><li>
|
802
|
-
<p>Specify multiple return values for consecutive calls.</p>
|
803
|
-
</li><li>
|
804
|
-
<p>Improved consistency of expectation error messages.</p>
|
805
|
-
</li><li>
|
806
|
-
<p>Allow mocking of Object instance methods e.g. kind_of?, type.</p>
|
807
|
-
</li><li>
|
808
|
-
<p>Provide aliased versions of #expects and #stubs to allow mocking of these
|
809
|
-
methods.</p>
|
810
|
-
</li><li>
|
811
|
-
<p>Added at_least, at_most, at_most_once methods to expectation.</p>
|
812
|
-
</li><li>
|
813
|
-
<p>Allow expects and stubs to take a hash of method and return values.</p>
|
814
|
-
</li><li>
|
815
|
-
<p>Eliminate warning: “instance variable @yield not initialized” (patch from
|
816
|
-
Xavier Shay).</p>
|
817
|
-
</li><li>
|
818
|
-
<p>Restore instance methods on partial mocks (patch from Chris Roos).</p>
|
819
|
-
</li><li>
|
820
|
-
<p>Allow stubbing of a method with non-word characters in its name (patch from
|
821
|
-
Paul Battley).</p>
|
822
|
-
</li><li>
|
823
|
-
<p>Removed coupling to Test::Unit.</p>
|
824
|
-
</li><li>
|
825
|
-
<p>Allow specified exception instance to be raised (patch from Chris Roos).</p>
|
826
|
-
</li><li>
|
827
|
-
<p>Make mock object_id appear in hex like normal Ruby inspect (patch from Paul
|
828
|
-
Battley).</p>
|
829
|
-
</li><li>
|
830
|
-
<p>Fix path to object.rb in rdoc rake task (patch from Tomas Pospisek).</p>
|
831
|
-
</li><li>
|
832
|
-
<p>Reverse order in which expectations are matched, so that last expectation
|
833
|
-
is matched first. This allows e.g. a call to #stubs to be effectively
|
834
|
-
overridden by a call to #expects (patch from Tobias Lutke).</p>
|
835
|
-
</li><li>
|
836
|
-
<p>Stubba & SmartTestCase modules incorporated into Mocha module so only
|
837
|
-
need to require ‘mocha’ - no longer need to require ‘stubba’.</p>
|
838
|
-
</li><li>
|
839
|
-
<p>AutoMocha removed.</p>
|
840
|
-
</li></ul>
|
841
|
-
|
842
|
-
<h1>0.3.3</h1>
|
843
|
-
<ul><li>
|
844
|
-
<p>Quick bug fix to restore instance methods on partial mocks (for Kevin
|
845
|
-
Clark).</p>
|
846
|
-
</li></ul>
|
847
|
-
|
848
|
-
<h1>0.3.2</h1>
|
849
|
-
<ul><li>
|
850
|
-
<p>Examples added.</p>
|
851
|
-
</li></ul>
|
852
|
-
|
853
|
-
<h1>0.3.1</h1>
|
854
|
-
<ul><li>
|
855
|
-
<p>Dual licensing with MIT license added.</p>
|
856
|
-
</li></ul>
|
857
|
-
|
858
|
-
<h1>0.3.0</h1>
|
859
|
-
<ul><li>
|
860
|
-
<p>Rails plugin.</p>
|
861
|
-
</li><li>
|
862
|
-
<p>Auto-verify for expectations on concrete classes.</p>
|
863
|
-
</li><li>
|
864
|
-
<p>Include each expectation verification in the test result assertion count.</p>
|
865
|
-
</li><li>
|
866
|
-
<p>Filter out noise from assertion backtraces.</p>
|
867
|
-
</li><li>
|
868
|
-
<p>Point assertion backtrace to line where failing expectation was created.</p>
|
869
|
-
</li><li>
|
870
|
-
<p>New yields method for expectations.</p>
|
871
|
-
</li><li>
|
872
|
-
<p>Create stubs which stub all method calls.</p>
|
873
|
-
</li><li>
|
874
|
-
<p>Mocks now respond_to? expected methods.</p>
|
875
|
-
</li></ul>
|
876
|
-
|
877
|
-
<h1>0.2.1</h1>
|
878
|
-
<ul><li>
|
879
|
-
<p>Rename MochaAcceptanceTest::Rover#move method to avoid conflict with Rake
|
880
|
-
(in Ruby 1.8.4 only?)</p>
|
881
|
-
</li></ul>
|
882
|
-
|
883
|
-
<h1>0.2.0</h1>
|
884
|
-
<ul><li>
|
885
|
-
<p>Small change to SetupAndTeardown#teardown_stubs suggested by Luke Redpath
|
886
|
-
(<a href="http://www.lukeredpath.co.uk">www.lukeredpath.co.uk</a>) to allow
|
887
|
-
use of Stubba with RSpec (<a
|
888
|
-
href="http://rspec.rubyforge.org">rspec.rubyforge.org</a>).</p>
|
889
|
-
</li><li>
|
890
|
-
<p>Reorganized directory structure and extracted addition of setup and
|
891
|
-
teardown methods into SmartTestCase mini-library.</p>
|
892
|
-
</li><li>
|
893
|
-
<p>Addition of auto-verify for Mocha (but not Stubba). This means there is
|
894
|
-
more significance in the choice of expects or stubs in that any expects on
|
895
|
-
a mock will automatically get verified.</p>
|
896
|
-
</li></ul>
|
897
|
-
|
898
|
-
<p>So instead of…</p>
|
899
|
-
|
900
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_wotsit'>wotsit</span> <span class='op'>=</span> <span class='const'>Mocha</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
901
|
-
<span class='id identifier rubyid_wotsit'>wotsit</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:thingummy</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_with'>with</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span>
|
902
|
-
<span class='id identifier rubyid_doobrey'>doobrey</span> <span class='op'>=</span> <span class='const'>Doobrey</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_wotsit'>wotsit</span><span class='rparen'>)</span>
|
903
|
-
<span class='id identifier rubyid_doobrey'>doobrey</span><span class='period'>.</span><span class='id identifier rubyid_hoojamaflip'>hoojamaflip</span>
|
904
|
-
<span class='id identifier rubyid_wotsit'>wotsit</span><span class='period'>.</span><span class='id identifier rubyid_verify'>verify</span></code></pre>
|
905
|
-
|
906
|
-
<p>you need to do…</p>
|
907
|
-
|
908
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_wotsit'>wotsit</span> <span class='op'>=</span> <span class='id identifier rubyid_mock'>mock</span><span class='lparen'>(</span><span class='rparen'>)</span>
|
909
|
-
<span class='id identifier rubyid_wotsit'>wotsit</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:thingummy</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_with'>with</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span>
|
910
|
-
<span class='id identifier rubyid_doobrey'>doobrey</span> <span class='op'>=</span> <span class='const'>Doobrey</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_wotsit'>wotsit</span><span class='rparen'>)</span>
|
911
|
-
<span class='id identifier rubyid_doobrey'>doobrey</span><span class='period'>.</span><span class='id identifier rubyid_hoojamaflip'>hoojamaflip</span>
|
912
|
-
<span class='comment'># no need to verify</span></code></pre>
|
913
|
-
|
914
|
-
<p>There are also shortcuts as follows…</p>
|
915
|
-
|
916
|
-
<p>instead of…</p>
|
917
|
-
|
918
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_wotsit'>wotsit</span> <span class='op'>=</span> <span class='const'>Mocha</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
919
|
-
<span class='id identifier rubyid_wotsit'>wotsit</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:thingummy</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span>
|
920
|
-
<span class='id identifier rubyid_wotsit'>wotsit</span><span class='period'>.</span><span class='id identifier rubyid_expects'>expects</span><span class='lparen'>(</span><span class='symbol'>:summat</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='int'>25</span><span class='rparen'>)</span></code></pre>
|
921
|
-
|
922
|
-
<p>you can have…</p>
|
923
|
-
|
924
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_wotsit'>wotsit</span> <span class='op'>=</span> <span class='id identifier rubyid_mock'>mock</span><span class='lparen'>(</span><span class='symbol'>:thingummy</span> <span class='op'>=></span> <span class='int'>5</span><span class='comma'>,</span> <span class='symbol'>:summat</span> <span class='op'>=></span> <span class='int'>25</span><span class='rparen'>)</span></code></pre>
|
925
|
-
|
926
|
-
<p>and instead of…</p>
|
927
|
-
|
928
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_wotsit'>wotsit</span> <span class='op'>=</span> <span class='const'>Mocha</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
929
|
-
<span class='id identifier rubyid_wotsit'>wotsit</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:thingummy</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span>
|
930
|
-
<span class='id identifier rubyid_wotsit'>wotsit</span><span class='period'>.</span><span class='id identifier rubyid_stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:summat</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_returns'>returns</span><span class='lparen'>(</span><span class='int'>25</span><span class='rparen'>)</span></code></pre>
|
931
|
-
|
932
|
-
<p>you can have…</p>
|
933
|
-
|
934
|
-
<pre class="code ruby"><code><span class='id identifier rubyid_wotsit'>wotsit</span> <span class='op'>=</span> <span class='id identifier rubyid_stub'>stub</span><span class='lparen'>(</span><span class='symbol'>:thingummy</span> <span class='op'>=></span> <span class='int'>5</span><span class='comma'>,</span> <span class='symbol'>:summat</span> <span class='op'>=></span> <span class='int'>25</span><span class='rparen'>)</span></code></pre>
|
935
|
-
|
936
|
-
<h1>0.1.2</h1>
|
937
|
-
<ul><li>
|
938
|
-
<p>Minor tweaks</p>
|
939
|
-
</li></ul>
|
940
|
-
|
941
|
-
<h1>0.1.1</h1>
|
942
|
-
<ul><li>
|
943
|
-
<p>Initial release.</p>
|
944
|
-
</li></ul>
|
945
|
-
</div></div>
|
946
|
-
|
947
|
-
<div id="footer">
|
948
|
-
Generated on Wed Apr 25 16:51:30 2012 by
|
949
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
950
|
-
0.7.5 (ruby-1.9.3).
|
951
|
-
</div>
|
952
|
-
|
953
|
-
</body>
|
954
|
-
</html>
|