hardmock 1.3.7 → 1.3.8

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,8 @@
1
+ Hardmock 1.3.8
2
+
3
+ * Ruby 1.9 compatibility: patched stubbing module and tests to get Hardmock working in Ruby 1.9.2 and MiniTest
4
+ * FINAL VERSION OF HARDMOCK -- see Readme
5
+
1
6
  Hardmock 1.3.7
2
7
 
3
8
  * BUG FIX: expects! could not setup expectations for more than one concrete method on an object, since the method aliasing and rewriting was only taking place when the background mock instance was first created. This logic has been updated and now you can do all the things you'd expect.
@@ -2,7 +2,16 @@
2
2
 
3
3
  Strict, ordered mock objects using very lightweight syntax in your tests.
4
4
 
5
- == How
5
+ == DISCONTINUED
6
+
7
+ After release 1.3.8, Hardmock will not be actively maintained.
8
+ (1.3.8 is a Ruby 1.9/MiniTest compatibility update, see below).
9
+
10
+ Atomic Object still believes in (and heavily utilizes) mock objects and interaction-based unit testing, however, we ourselves have begun leveraging other popular mocking tools such as RSpec, RR, Mocha, etc.
11
+
12
+ For those of you with time invested in older projects using Hardmock, but who need to migrate their older projects to Ruby 1.9, try updating to Hardmock 1.3.8.
13
+
14
+ == How to use Hardmock
6
15
 
7
16
  The basic procedure for using Hardmock in your tests is:
8
17
 
@@ -40,11 +49,10 @@ Expects <tt>@garage.open_door</tt>, <tt>@car.start(:choke)</tt> and <tt>@car.dri
40
49
 
41
50
  == Download and Install
42
51
 
43
- * Homepage: http://hardmock.rubyforge.org
44
- * GEM or TGZ or ZIP: http://rubyforge.org/frs/?group_id=2742
45
- * Rails plugin: script/plugin install
46
- * SVN access: svn co svn://rubyforge.org/var/svn/hardmock/trunk
47
- * Developer SVN access: svn co svn://developername@rubyforge.org/var/svn/hardmock/trunk
52
+ * Install: gem install hardmock
53
+ * Homepage: http://atomicobject.github.com/hardmock
54
+ * Rubygems.org: http://rubygems.org/gems/hardmock
55
+ * API documentation: http://rubydoc.info/gems/hardmock/1.3.7/frames
48
56
 
49
57
  == Setup for Test::Unit
50
58
 
@@ -65,7 +73,12 @@ Get this into your spec helper or environment or Rakefile or wherever you prefer
65
73
  This puts the implicit conveniences into your spec context, like "create_mocks" etc, and also provides for automatic
66
74
  "verify_mocks" after each Example is run.
67
75
 
76
+ == Ruby 1.9 Compatibility
77
+
78
+ As of build 1.3.8, Hardmock works in Ruby 1.9.2. Older versions of Hardmock had non-1.9 compatible code; furthermore, 1.9 ships with MiniTest, which is similar to TestUnit but has different implementation internals, which we monkey-patch.
79
+
68
80
  == Author
69
81
 
70
82
  * David Crosby crosby at http://atomicobject.com
71
- * (c) 2006,2007 Atomic Object LLC
83
+ * (c) 2006-2011 Atomic Object LLC
84
+
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rake'
2
2
  require 'rubygems'
3
3
 
4
- HARDMOCK_VERSION = "1.3.7"
4
+ HARDMOCK_VERSION = "1.3.8"
5
5
 
6
6
  Dir["rake_tasks/*.rake"].each { |f| load f }
7
7
 
@@ -38,7 +38,6 @@ module Hardmock
38
38
  end
39
39
 
40
40
  def verify
41
- # puts "MockControl #{self.object_id.to_s(16)} verify: happy? #{happy?}"
42
41
  @disappointed = !happy?
43
42
  raise VerifyError.new("Unmet expectations", @expectations) unless happy?
44
43
  end
@@ -86,9 +86,8 @@ module Hardmock
86
86
 
87
87
  stubbed_method = Hardmock::StubbedMethod.new(self, method_name)
88
88
 
89
-
90
89
  unless _is_mock? or already_stubbed
91
- if methods.include?(method_name.to_s)
90
+ if methods.map do |m| m.to_s end.include?(method_name)
92
91
  hm_meta_eval do
93
92
  alias_method "_hardmock_original_#{method_name}".to_sym, method_name.to_sym
94
93
  end
@@ -116,7 +115,7 @@ module Hardmock
116
115
  Hardmock::ReplacedMethod.new(self, method_name)
117
116
 
118
117
  # Preserver original implementation of the method by aliasing it away
119
- if methods.include?(method_name)
118
+ if methods.map do |m| m.to_s end.include?(method_name.to_s)
120
119
  hm_meta_eval do
121
120
  alias_method "_hardmock_original_#{method_name}".to_sym, method_name.to_sym
122
121
  end
@@ -194,7 +193,7 @@ module Hardmock
194
193
  all_replaced_methods.each do |replaced|
195
194
  unless replaced.target._is_mock?
196
195
  backed_up = "_hardmock_original_#{replaced.method_name}"
197
- if replaced.target.methods.include?(backed_up)
196
+ if replaced.target.methods.map do |m| m.to_s end.include?(backed_up)
198
197
  replaced.target.hm_meta_eval do
199
198
  alias_method replaced.method_name.to_sym, backed_up.to_sym
200
199
  end
@@ -79,34 +79,80 @@ module Test #:nodoc:#
79
79
  end
80
80
  end
81
81
 
82
- # OVERRIDE: This is a reimplementation of the default "run", updated to
83
- # execute actions after teardown.
84
- def run(result)
85
- yield(STARTED, name)
86
- @_result = result
87
- begin
88
- execute_pre_setup_actions(self)
89
- setup
90
- __send__(@method_name)
91
- rescue Test::Unit::AssertionFailedError => e
92
- add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
93
- rescue Exception
94
- raise if should_passthru_exception($!) # See implementation; this is for pre-1.8.6 compat
95
- add_error($!)
96
- ensure
82
+ if RUBY_VERSION =~ /^1\.8/
83
+ # OVERRIDE FOR RUBY 1.8.x: This is a reimplementation of the default "run", updated to
84
+ # execute actions after teardown.
85
+ # Only the lines marked with ** are different from the 1.8
86
+ # implementation of TestCase#run.
87
+ def run(result)
88
+ yield(STARTED, name)
89
+ @_result = result
97
90
  begin
98
- teardown
91
+ execute_pre_setup_actions(self) # ** Added to support TestCaseBeforeAfter
92
+ setup
93
+ __send__(@method_name)
99
94
  rescue Test::Unit::AssertionFailedError => e
100
95
  add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
101
96
  rescue Exception
102
97
  raise if should_passthru_exception($!) # See implementation; this is for pre-1.8.6 compat
103
98
  add_error($!)
104
99
  ensure
105
- execute_post_teardown_actions(self)
100
+ begin
101
+ teardown
102
+ rescue Test::Unit::AssertionFailedError => e
103
+ add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
104
+ rescue Exception
105
+ raise if should_passthru_exception($!) # See implementation; this is for pre-1.8.6 compat
106
+ add_error($!)
107
+ ensure
108
+ execute_post_teardown_actions(self) # ** Added to support TestCaseBeforeAfter
109
+ end
106
110
  end
111
+ result.add_run
112
+ yield(FINISHED, name)
113
+ end
114
+
115
+ elsif RUBY_VERSION =~ /^1\.9/
116
+
117
+ # OVERRIDE FOR RUBY 1.9.x: This is a reimplementation of the default "run", updated to
118
+ # support execution of actions before setup after teardown.
119
+ # Only the lines marked with ** are different from the MiniTest implementation of TestCase#run.
120
+ # (Ruby 1.9 ships with MiniTest which is similar to TestUnit in structure but
121
+ # with a different implementation of TestCase#run)
122
+ def run runner
123
+ trap 'INFO' do
124
+ warn '%s#%s %.2fs' % [self.class, self.__name__,
125
+ (Time.now - runner.start_time)]
126
+ runner.status $stderr
127
+ end if SUPPORTS_INFO_SIGNAL
128
+
129
+ result = '.'
130
+ begin
131
+ @passed = nil
132
+ execute_pre_setup_actions(self, runner) # ** Added to support TestCaseBeforeAfter
133
+ self.setup
134
+ self.__send__ self.__name__
135
+ @passed = true
136
+ rescue *PASSTHROUGH_EXCEPTIONS
137
+ raise
138
+ rescue Exception => e
139
+ @passed = false
140
+ result = runner.puke(self.class, self.__name__, e)
141
+ ensure
142
+ begin
143
+ self.teardown
144
+ rescue *PASSTHROUGH_EXCEPTIONS
145
+ raise
146
+ rescue Exception => e
147
+ result = runner.puke(self.class, self.__name__, e)
148
+ ensure
149
+ result2 = execute_post_teardown_actions(self, runner) # ** Added to support TestCaseBeforeAfter
150
+ #result ||= result2
151
+ end
152
+ trap 'INFO', 'DEFAULT' if SUPPORTS_INFO_SIGNAL
153
+ end
154
+ result
107
155
  end
108
- result.add_run
109
- yield(FINISHED, name)
110
156
  end
111
157
 
112
158
  private
@@ -114,31 +160,42 @@ module Test #:nodoc:#
114
160
  # Run through the after_teardown actions, treating failures and errors
115
161
  # in the same way that "run" does: they are reported, and the remaining
116
162
  # actions are executed.
117
- def execute_post_teardown_actions(test_instance)
118
- self.class.post_teardown_actions.each do |action|
119
- begin
120
- action.call test_instance
121
- rescue Test::Unit::AssertionFailedError => e
122
- add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
123
- rescue Exception
124
- raise if should_passthru_exception($!)
125
- add_error($!)
163
+ if RUBY_VERSION =~ /^1\.8/
164
+ def execute_post_teardown_actions(test_instance)
165
+ self.class.post_teardown_actions.each do |action|
166
+ begin
167
+ action.call test_instance
168
+ rescue Test::Unit::AssertionFailedError => e
169
+ add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
170
+ rescue Exception
171
+ raise if should_passthru_exception($!)
172
+ add_error($!)
173
+ end
174
+ end
175
+ end
176
+ end
177
+
178
+ if RUBY_VERSION =~ /^1\.9/
179
+ def execute_post_teardown_actions(test_instance, runner)
180
+ result = nil
181
+ self.class.post_teardown_actions.each do |action|
182
+ begin
183
+ action.call test_instance
184
+ rescue *PASSTHROUGH_EXCEPTIONS
185
+ raise
186
+ rescue Exception => e
187
+ result = runner.puke(self.class, self.__name__, e)
188
+ end
126
189
  end
190
+ result
127
191
  end
128
192
  end
129
193
 
130
194
  # Run through the before_setup actions.
131
195
  # Failures or errors cause execution to stop.
132
- def execute_pre_setup_actions(test_instance)
196
+ def execute_pre_setup_actions(test_instance,runner=nil)
133
197
  self.class.pre_setup_actions.each do |action|
134
- # begin
135
- action.call test_instance
136
- # rescue Test::Unit::AssertionFailedError => e
137
- # add_failure(e.message, auxiliary_backtrace_filter(e.backtrace))
138
- # rescue Exception
139
- # raise if should_passthru_exception($!)
140
- # add_error($!)
141
- # end
198
+ action.call test_instance
142
199
  end
143
200
  end
144
201
 
@@ -8,7 +8,7 @@ namespace :doc do
8
8
  rdoc.rdoc_dir = 'doc'
9
9
  rdoc.title = "Hardmock: Strict expectation-based mock object library "
10
10
  add_rdoc_options(rdoc.options)
11
- rdoc.rdoc_files.include('lib/**/*.rb', 'README','CHANGES','LICENSE')
11
+ rdoc.rdoc_files.include('lib/**/*.rb', 'README.rdoc','CHANGES','LICENSE')
12
12
  }
13
13
 
14
14
  task :show => [ 'doc:rerdoc' ] do
@@ -1,4 +1,4 @@
1
1
 
2
2
  def add_rdoc_options(options)
3
- options << '--line-numbers' << '--inline-source' << '--main' << 'README' << '--title' << 'Hardmock'
3
+ options << '--line-numbers' << '--inline-source' << '--main' << 'README.rdoc' << '--title' << 'Hardmock'
4
4
  end
@@ -2,6 +2,12 @@ require File.expand_path(File.dirname(__FILE__) + "/../test_helper")
2
2
  require 'assert_error'
3
3
 
4
4
  class AssertErrorTest < Test::Unit::TestCase
5
+ TEST_FAILURE = nil
6
+ if RUBY_VERSION =~ /^1\.8/
7
+ TEST_FAILURE = Test::Unit::AssertionFailedError
8
+ elsif RUBY_VERSION =~ /^1\.9/
9
+ TEST_FAILURE = MiniTest::Assertion
10
+ end
5
11
 
6
12
  it "specfies an error type and message that should be raised" do
7
13
  assert_error RuntimeError, "Too funky" do
@@ -10,7 +16,7 @@ class AssertErrorTest < Test::Unit::TestCase
10
16
  end
11
17
 
12
18
  it "flunks if the error message is wrong" do
13
- err = assert_raise Test::Unit::AssertionFailedError do
19
+ err = assert_raise TEST_FAILURE do
14
20
  assert_error RuntimeError, "not good" do
15
21
  raise RuntimeError.new("Too funky")
16
22
  end
@@ -20,7 +26,7 @@ class AssertErrorTest < Test::Unit::TestCase
20
26
  end
21
27
 
22
28
  it "flunks if the error type is wrong" do
23
- err = assert_raise Test::Unit::AssertionFailedError do
29
+ err = assert_raise TEST_FAILURE do
24
30
  assert_error StandardError, "Too funky" do
25
31
  raise RuntimeError.new("Too funky")
26
32
  end
@@ -36,7 +42,8 @@ class AssertErrorTest < Test::Unit::TestCase
36
42
  end
37
43
 
38
44
  it "flunks if the error message doesn't match all the Regexps" do
39
- err = assert_raise Test::Unit::AssertionFailedError do
45
+ #err = assert_raise Test::Unit::AssertionFailedError do
46
+ err = assert_raise TEST_FAILURE do
40
47
  assert_error StandardError, /way/i, /too/i, /funky/i do
41
48
  raise StandardError.new("Too funky")
42
49
  end
@@ -251,8 +251,12 @@ class ExpectationTest < Test::Unit::TestCase
251
251
  err = assert_raise ExpectationError do
252
252
  se.apply_method_call(@mock,'each_bean',[:side_slot],a_block)
253
253
  end
254
+
255
+ expected_arity = "-1"
256
+ expected_arity = "0" if RUBY_VERSION =~ /^1\.9/
257
+
254
258
  assert_match(/wont_fit/i, err.message)
255
- assert_match(/arity -1/i, err.message)
259
+ assert_match(/arity #{expected_arity}/i, err.message)
256
260
  assert_equal [], things, "Wrong things"
257
261
  end
258
262
 
@@ -11,12 +11,14 @@ class MethodCleanoutTest < Test::Unit::TestCase
11
11
  @victim = Victim.new
12
12
  end
13
13
 
14
- def test_should_remove_most_methods_from_a_class
15
- expect_removed = Victim::OriginalMethods.reject { |m|
16
- Hardmock::MethodCleanout::SACRED_METHODS.include?(m)
17
- }
18
- expect_removed.each do |m|
19
- assert !@victim.respond_to?(m), "should not have method #{m}"
14
+ if RUBY_VERSION =~ /^1\.8/
15
+ def test_should_remove_most_methods_from_a_class
16
+ expect_removed = Victim::OriginalMethods.reject { |m|
17
+ Hardmock::MethodCleanout::SACRED_METHODS.include?(m)
18
+ }
19
+ expect_removed.each do |m|
20
+ assert !@victim.respond_to?(m), "should not have method #{m}"
21
+ end
20
22
  end
21
23
  end
22
24
 
@@ -6,6 +6,8 @@ class TestUnitBeforeAfter < Test::Unit::TestCase
6
6
  # after_teardown
7
7
  #
8
8
 
9
+ USING_RUBY_1_9 = RUBY_VERSION =~ /^1\.9/
10
+
9
11
  it "adds TestCase.after_teardown hook for appending post-teardown actions" do
10
12
  write_and_run_test :use_after_teardown => true
11
13
 
@@ -21,16 +23,28 @@ class TestUnitBeforeAfter < Test::Unit::TestCase
21
23
 
22
24
  should "execute all after_teardowns, even if the main teardown flunks" do
23
25
  write_and_run_test :use_after_teardown => true, :flunk_in_teardown => true
24
- see_in_order "Loaded suite",
25
- "THE SETUP",
26
- "A TEST",
27
- "F",
28
- "1st after_teardown",
29
- "2nd after_teardown",
30
- "Finished in",
31
- "1) Failure:",
32
- "test_something(MyExampleTest) [_test_file_temp.rb:20]:",
33
- "FLUNK IN TEARDOWN"
26
+ if USING_RUBY_1_9
27
+ see_in_order "Loaded suite",
28
+ "THE SETUP",
29
+ "A TEST",
30
+ "1st after_teardown",
31
+ "2nd after_teardown",
32
+ "Finished in",
33
+ "1) Failure:",
34
+ "test_something(MyExampleTest) [_test_file_temp.rb:20]:",
35
+ "FLUNK IN TEARDOWN"
36
+ else
37
+ see_in_order "Loaded suite",
38
+ "THE SETUP",
39
+ "A TEST",
40
+ "F",
41
+ "1st after_teardown",
42
+ "2nd after_teardown",
43
+ "Finished in",
44
+ "1) Failure:",
45
+ "test_something(MyExampleTest) [_test_file_temp.rb:20]:",
46
+ "FLUNK IN TEARDOWN"
47
+ end
34
48
  see_results :tests => 1, :assertions => 1, :failures => 1, :errors => 0
35
49
  end
36
50
 
@@ -54,7 +68,6 @@ class TestUnitBeforeAfter < Test::Unit::TestCase
54
68
  "A TEST",
55
69
  "THE TEARDOWN",
56
70
  "1st after_teardown",
57
- "F",
58
71
  "2nd after_teardown",
59
72
  "Finished in",
60
73
  "1) Failure:",
@@ -68,16 +81,28 @@ class TestUnitBeforeAfter < Test::Unit::TestCase
68
81
 
69
82
  should "execute all after_teardowns, even if some of them explode" do
70
83
  write_and_run_test :use_after_teardown => true, :raise_in_after_teardown => true
71
- see_in_order "Loaded suite",
72
- "THE SETUP",
73
- "A TEST",
74
- "THE TEARDOWN",
75
- "1st after_teardown",
76
- "E",
77
- "2nd after_teardown",
78
- "Finished in",
79
- "RuntimeError: Error in first after_teardown",
80
- "RuntimeError: Error in second after_teardown"
84
+ if USING_RUBY_1_9
85
+ see_in_order "Loaded suite",
86
+ "THE SETUP",
87
+ "A TEST",
88
+ "THE TEARDOWN",
89
+ "1st after_teardown",
90
+ "2nd after_teardown",
91
+ "Finished in",
92
+ "RuntimeError: Error in first after_teardown",
93
+ "RuntimeError: Error in second after_teardown"
94
+ else
95
+ see_in_order "Loaded suite",
96
+ "THE SETUP",
97
+ "A TEST",
98
+ "THE TEARDOWN",
99
+ "1st after_teardown",
100
+ "E",
101
+ "2nd after_teardown",
102
+ "Finished in",
103
+ "RuntimeError: Error in first after_teardown",
104
+ "RuntimeError: Error in second after_teardown"
105
+ end
81
106
  see_results :tests => 1, :assertions => 0, :failures => 0, :errors => 2
82
107
  end
83
108
 
@@ -104,32 +129,56 @@ class TestUnitBeforeAfter < Test::Unit::TestCase
104
129
 
105
130
  it "provides a cleaned-up backtrace" do
106
131
  write_and_run_test :with_failure => true
107
- see_in_order "Loaded suite",
108
- "THE SETUP",
109
- "A FAILING TEST",
110
- "F", "THE TEARDOWN",
111
- "Finished in",
112
- "1) Failure:",
113
- "test_something(MyExampleTest) [_test_file_temp.rb:17]:",
114
- "Instrumented failure.",
115
- "<false> is not true."
132
+ if USING_RUBY_1_9
133
+ see_in_order "Loaded suite",
134
+ "THE SETUP",
135
+ "A FAILING TEST",
136
+ "THE TEARDOWN",
137
+ "F\n",
138
+ "Finished in",
139
+ "1) Failure:",
140
+ "test_something(MyExampleTest) [_test_file_temp.rb:17]:",
141
+ "Instrumented failure"
142
+ else
143
+ see_in_order "Loaded suite",
144
+ "THE SETUP",
145
+ "A FAILING TEST",
146
+ "F",
147
+ "THE TEARDOWN",
148
+ "Finished in",
149
+ "1) Failure:",
150
+ "test_something(MyExampleTest) [_test_file_temp.rb:17]:",
151
+ "Instrumented failure.",
152
+ "<false> is not true."
153
+ end
116
154
  see_results :tests => 1, :assertions => 1, :failures => 1, :errors => 0
117
155
  end
118
156
 
119
157
  it "provides a cleaned-up backtrace, but not TOO cleaned up" do
120
158
  write_and_run_test :with_failure => true, :use_helpers => true
121
- see_in_order "Loaded suite",
122
- "THE SETUP",
123
- "A FAILING TEST",
124
- "F", "THE TEARDOWN",
125
- "Finished in",
126
- "1) Failure:",
127
- "test_something(MyExampleTest)\n",
128
- "[_test_file_temp.rb:25:in `tripwire'",
129
- "_test_file_temp.rb:21:in `my_helper'",
130
- "_test_file_temp.rb:17:in `test_something']:",
131
- "Instrumented failure.",
132
- "<false> is not true."
159
+ if USING_RUBY_1_9
160
+ see_in_order "Loaded suite",
161
+ "THE SETUP",
162
+ "A FAILING TEST",
163
+ "F", "THE TEARDOWN",
164
+ "Finished in",
165
+ "1) Failure:",
166
+ "test_something(MyExampleTest)",
167
+ "Instrumented failure"
168
+ else
169
+ see_in_order "Loaded suite",
170
+ "THE SETUP",
171
+ "A FAILING TEST",
172
+ "F", "THE TEARDOWN",
173
+ "Finished in",
174
+ "1) Failure:",
175
+ "test_something(MyExampleTest)\n",
176
+ "[_test_file_temp.rb:25:in `tripwire'",
177
+ "_test_file_temp.rb:21:in `my_helper'",
178
+ "_test_file_temp.rb:17:in `test_something']:",
179
+ "Instrumented failure.",
180
+ "<false> is not true."
181
+ end
133
182
  see_results :tests => 1, :assertions => 1, :failures => 1, :errors => 0
134
183
  end
135
184
 
@@ -165,10 +214,10 @@ class TestUnitBeforeAfter < Test::Unit::TestCase
165
214
  see_in_order "Loaded suite",
166
215
  "3rd before_setup",
167
216
  "2nd before_setup",
168
- "FTHE TEARDOWN",
217
+ "THE TEARDOWN",
169
218
  "1) Failure:",
170
219
  "test_something(MyExampleTest) [_test_file_temp.rb:10]:",
171
- "Flunk in 2nd before_setup."
220
+ "Flunk in 2nd before_setup"
172
221
  see_results :tests => 1, :assertions => 1, :failures => 1, :errors => 0
173
222
  end
174
223
 
@@ -177,7 +226,7 @@ class TestUnitBeforeAfter < Test::Unit::TestCase
177
226
  see_in_order "Loaded suite",
178
227
  "3rd before_setup",
179
228
  "2nd before_setup",
180
- "ETHE TEARDOWN",
229
+ "THE TEARDOWN",
181
230
  "Finished in",
182
231
  "test_something(MyExampleTest):",
183
232
  "RuntimeError: Error in 2nd before_setup",
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hardmock
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 3
8
+ - 8
9
+ version: 1.3.8
5
10
  platform: ruby
6
11
  authors:
7
12
  - David Crosby
@@ -9,7 +14,7 @@ autorequire: hardmock
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-11-08 00:00:00 -05:00
17
+ date: 2011-01-05 00:00:00 -05:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
@@ -20,7 +25,7 @@ executables: []
20
25
  extensions: []
21
26
 
22
27
  extra_rdoc_files:
23
- - README
28
+ - README.rdoc
24
29
  - CHANGES
25
30
  - LICENSE
26
31
  files:
@@ -58,7 +63,7 @@ files:
58
63
  - rake_tasks/rdoc_options.rb
59
64
  - rake_tasks/rdoc.rake
60
65
  - rake_tasks/test.rake
61
- - README
66
+ - README.rdoc
62
67
  - CHANGES
63
68
  - LICENSE
64
69
  has_rdoc: true
@@ -70,30 +75,34 @@ rdoc_options:
70
75
  - --line-numbers
71
76
  - --inline-source
72
77
  - --main
73
- - README
78
+ - README.rdoc
74
79
  - --title
75
80
  - Hardmock
76
81
  require_paths:
77
82
  - lib
78
83
  required_ruby_version: !ruby/object:Gem::Requirement
84
+ none: false
79
85
  requirements:
80
86
  - - ">="
81
87
  - !ruby/object:Gem::Version
88
+ segments:
89
+ - 0
82
90
  version: "0"
83
- version:
84
91
  required_rubygems_version: !ruby/object:Gem::Requirement
92
+ none: false
85
93
  requirements:
86
94
  - - ">="
87
95
  - !ruby/object:Gem::Version
96
+ segments:
97
+ - 0
88
98
  version: "0"
89
- version:
90
99
  requirements: []
91
100
 
92
101
  rubyforge_project: hardmock
93
- rubygems_version: 1.3.5
102
+ rubygems_version: 1.3.7
94
103
  signing_key:
95
104
  specification_version: 3
96
- summary: A strict, ordered, expectation-oriented mock object library.
105
+ summary: A strict, ordered, expectation-oriented mock object library. DISCONTINUED AS OF JAN 2011, see Readme
97
106
  test_files:
98
107
  - test/functional/assert_error_test.rb
99
108
  - test/functional/auto_verify_test.rb