mocha 0.13.1 → 0.13.2

Sign up to get free protection for your applications and to get access to all the features.
data/.yardopts CHANGED
@@ -1,3 +1,4 @@
1
+ --template-path yard-templates
1
2
  --no-private
2
3
  lib/mocha/api.rb
3
4
  lib/mocha/hooks.rb
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## Mocha [![build status](https://secure.travis-ci.org/freerange/mocha.png)](https://secure.travis-ci.org/freerange/mocha)
1
+ ## Mocha [![build status](https://secure.travis-ci.org/freerange/mocha.png)](https://secure.travis-ci.org/freerange/mocha) [![Gem Version](https://badge.fury.io/rb/mocha.png)](http://badge.fury.io/rb/mocha)
2
2
 
3
3
  ### Description
4
4
 
@@ -15,7 +15,7 @@ Install the latest version of the gem with the following command...
15
15
 
16
16
  $ gem install mocha
17
17
 
18
- Note that if you are intending to use Mocha with Test::Unit or MiniTest, you should only load Mocha *after* loading the relevant test library...
18
+ Note: If you are intending to use Mocha with Test::Unit or MiniTest, you should only load Mocha *after* loading the relevant test library...
19
19
 
20
20
  require "test/unit"
21
21
  require "mocha/setup"
@@ -41,18 +41,71 @@ If you're loading Mocha using Bundler within a Rails application, you should ens
41
41
  # At bottom of test_helper.rb
42
42
  require "mocha/setup"
43
43
 
44
+ Note: Using the latest version of Mocha (0.13.1) with the latest versions of Rails (e.g. 3.2.11, 3.1.10, or 3.0.19), you will see the following Mocha deprecation warning:
45
+
46
+ *** Mocha deprecation warning: Change `require 'mocha'` to `require 'mocha/setup'`.
47
+
48
+ This will happen until new versions of Rails are released incorporating the following pull requests:
49
+
50
+ * 3-2-stable - https://github.com/rails/rails/pull/8200
51
+ * 3-1-stable - https://github.com/rails/rails/pull/8871
52
+ * 3-0-stable - https://github.com/rails/rails/pull/8872
53
+
54
+ The deprecation warning will not cause any problems, but if you don't like seeing then you could do one of the following:
55
+
56
+ ##### Option 1 - Disable Mocha deprecation warnings with a Rails initializer
57
+
58
+ # config/mocha.rb
59
+ if Rails.env.test? || Rails.env.development?
60
+ require "mocha/version"
61
+ require "mocha/deprecation"
62
+ if Mocha::VERSION == "0.13.2" && Rails::VERSION::STRING == "3.2.11"
63
+ Mocha::Deprecation.mode = :disabled
64
+ end
65
+ end
66
+
67
+ Note 1: I have intentionally made this brittle against patch releases of Mocha and Rails, because this way you are more likely to notice when you no longer need the initializer.
68
+ Note 2: This will not work with recent versions of the Test::Unit gem (see below).
69
+
70
+ ##### Option 2 - Use "edge" Rails or one of the relevant "stable" branches of Rails
71
+
72
+ # Gemfile
73
+ gem "rails", git: "git://github.com/rails/rails.git", branch: "3-2-stable"
74
+ group :test do
75
+ gem "mocha", :require => false
76
+ end
77
+
78
+ # test/test_helper.rb
79
+ require "mocha/setup"
80
+
81
+ ##### Option 3 - Downgrade to Mocha 0.12.8
82
+
83
+ # Gemfile in Rails app
84
+ gem "mocha", "~> 0.12.8", :require => false
85
+
86
+ # At bottom of test_helper.rb
87
+ require "mocha"
88
+
89
+ Note: This isn't as bad as it sounds, because there aren't many changes in Mocha 0.13.x that are not in 0.12.x.
90
+
91
+ #### Rails with Test::Unit
92
+
93
+ Unfortunately due to Rails relying on Mocha & Test::Unit internals, there is a problem with using recent released versions of Rails with the latest version of Mocha and recent versions of the Test::Unit gem.
94
+
95
+ In this case you will have to use either Option 2 or Option 3 (see above). Option 1 will not work.
96
+
44
97
  #### Rails Plugin
45
98
 
46
99
  Install the Rails plugin...
47
100
 
48
101
  $ rails plugin install git://github.com/freerange/mocha.git
49
102
 
50
- Note that as of version 0.9.8, the Mocha plugin is not automatically loaded at plugin load time. Instead it must be manually loaded e.g. at the bottom of your `test_helper.rb`.
103
+ Note: As of version 0.9.8, the Mocha plugin is not automatically loaded at plugin load time. Instead it must be manually loaded e.g. at the bottom of your `test_helper.rb`.
51
104
 
52
105
  #### Know Issues
53
106
 
54
- * Versions 0.10.2, 0.10.3 & 0.11.0 of the gem were broken.
55
- * Versions 0.9.6 & 0.9.7 of the Rails plugin were broken.
107
+ * Versions 0.10.2, 0.10.3 & 0.11.0 of the Mocha gem were broken.
108
+ * Versions 0.9.6 & 0.9.7 of the Mocha Rails plugin were broken.
56
109
  * Please do not use these versions.
57
110
 
58
111
  ### Usage
data/RELEASE.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Release Notes
2
2
 
3
+ ## 0.13.2
4
+ * Stubbing of methods re-declared with different visibilty. Fixes #109.
5
+ * Add `Mock#responds_like_instance_of`. Fixes #119.
6
+ * Make `Expectation#inspect` less verbose and more useful. Fixes #122.
7
+ * Make unit tests more robust to changes in environment. Fixes #121.
8
+ * Update README in an attempt to head Rails-related issues off at the pass.
9
+ * Add a Gem Badge to provide a link to Mocha on Rubygems.
10
+ * Make documentation example consistent with other examples.
11
+
3
12
  ## 0.13.1
4
13
  * Fix #97 - `Mocha::ParameterMatchers#has_entry` does not work with an Array as the entry's value. Thanks to @ngokli.
5
14
  * Allow deprecation `:debug` mode to be switched on from `MOCHA_OPTIONS` environment variable.
data/Rakefile CHANGED
@@ -113,8 +113,14 @@ unless ENV["MOCHA_NO_DOCS"]
113
113
  `rm -rf ./doc`
114
114
  end
115
115
 
116
+ task 'docs_environment' do
117
+ unless ENV['GOOGLE_ANALYTICS_WEB_PROPERTY_ID']
118
+ puts "\nWarning: GOOGLE_ANALYTICS_WEB_PROPERTY_ID was not defined\n\n"
119
+ end
120
+ end
121
+
116
122
  desc 'Generate documentation'
117
- YARD::Rake::YardocTask.new('yardoc') do |task|
123
+ YARD::Rake::YardocTask.new('yardoc' => 'docs_environment') do |task|
118
124
  task.options = ["--title", "Mocha #{Mocha::VERSION}"]
119
125
  end
120
126
 
@@ -7,7 +7,8 @@ module Mocha
7
7
  attr_reader :stubbee, :method
8
8
 
9
9
  def initialize(stubbee, method)
10
- @stubbee, @original_method = stubbee, nil
10
+ @stubbee = stubbee
11
+ @original_method, @original_visibility = nil, nil
11
12
  @method = RUBY_VERSION < '1.9' ? method.to_s : method.to_sym
12
13
  end
13
14
 
@@ -37,13 +38,13 @@ module Mocha
37
38
  if method_exists?(method)
38
39
  begin
39
40
  @original_method = stubbee._method(method)
41
+ @original_visibility = :public
42
+ if stubbee.__metaclass__.protected_instance_methods.include?(method)
43
+ @original_visibility = :protected
44
+ elsif stubbee.__metaclass__.private_instance_methods.include?(method)
45
+ @original_visibility = :private
46
+ end
40
47
  if @original_method && @original_method.owner == stubbee.__metaclass__
41
- @original_visibility = :public
42
- if stubbee.__metaclass__.protected_instance_methods.include?(method)
43
- @original_visibility = :protected
44
- elsif stubbee.__metaclass__.private_instance_methods.include?(method)
45
- @original_visibility = :private
46
- end
47
48
  stubbee.__metaclass__.send(:remove_method, method)
48
49
  end
49
50
  rescue NameError
@@ -74,6 +75,8 @@ module Mocha
74
75
  else
75
76
  stubbee.__metaclass__.send(:define_method, method, @original_method)
76
77
  end
78
+ end
79
+ if @original_visibility
77
80
  stubbee.__metaclass__.send(@original_visibility, method)
78
81
  end
79
82
  end
@@ -580,6 +580,13 @@ module Mocha
580
580
  @cardinality.used?(@invocation_count)
581
581
  end
582
582
 
583
+ # @private
584
+ def inspect
585
+ address = __id__ * 2
586
+ address += 0x100000000 if address < 0
587
+ "#<Expectation:0x#{'%x' % address} #{mocha_inspect} >"
588
+ end
589
+
583
590
  # @private
584
591
  def mocha_inspect
585
592
  message = "#{@cardinality.mocha_inspect}, "
@@ -25,12 +25,12 @@ module Mocha
25
25
 
26
26
  # @private
27
27
  def build(message = nil, backtrace = [])
28
- self.exception_class ||= ExpectationError
29
28
  exception = exception_class.new(message)
30
29
  filter = BacktraceFilter.new
31
30
  exception.set_backtrace(filter.filtered(backtrace))
32
31
  exception
33
32
  end
34
33
  end
34
+ self.exception_class = ExpectationError
35
35
  end
36
36
  end
@@ -119,6 +119,7 @@ module Mocha
119
119
  #
120
120
  # @param [Object, #respond_to?] responder an object used to determine whether {Mock} instance should +#respond_to?+ to an invocation.
121
121
  # @return [Mock] the same {Mock} instance, thereby allowing invocations of other {Mock} methods to be chained.
122
+ # @see #responds_like_instance_of
122
123
  #
123
124
  # @example Normal mocking
124
125
  # sheep = mock('sheep')
@@ -155,13 +156,43 @@ module Mocha
155
156
  # sheep_class.expects(:foo)
156
157
  # sheep_class.respond_to?(:number_of_legs) # => true
157
158
  # sheep_class.respond_to?(:foo) # => false
158
- # assert_equal 4, sheep_class.number_of_legs
159
+ # sheep_class.number_of_legs # => 4
159
160
  # sheep_class.foo # => raises NoMethodError exception
160
161
  def responds_like(responder)
161
162
  @responder = responder
162
163
  self
163
164
  end
164
165
 
166
+ # Constrains the {Mock} instance so that it can only expect or stub methods to which an instance of the +responder_class+ responds. The constraint is only applied at method invocation time. Note that the responder instance is instantiated using +Class#allocate+.
167
+ #
168
+ # A +NoMethodError+ will be raised if the responder instance does not +#respond_to?+ a method invocation (even if the method has been expected or stubbed).
169
+ #
170
+ # The {Mock} instance will delegate its +#respond_to?+ method to the responder instance.
171
+ #
172
+ # @param [Class] responder_class a class used to determine whether {Mock} instance should +#respond_to?+ to an invocation.
173
+ # @return [Mock] the same {Mock} instance, thereby allowing invocations of other {Mock} methods to be chained.
174
+ # @see #responds_like
175
+ #
176
+ # @example Using {#responds_like_instance_of}
177
+ # class Sheep
178
+ # def initialize
179
+ # raise "some awkward code we don't want to call"
180
+ # end
181
+ # def chew(grass); end
182
+ # end
183
+ #
184
+ # sheep = mock('sheep')
185
+ # sheep.responds_like_instance_of(Sheep)
186
+ # sheep.expects(:chew)
187
+ # sheep.expects(:foo)
188
+ # sheep.respond_to?(:chew) # => true
189
+ # sheep.respond_to?(:foo) # => false
190
+ # sheep.chew
191
+ # sheep.foo # => raises NoMethodError exception
192
+ def responds_like_instance_of(responder_class)
193
+ responds_like(responder_class.allocate)
194
+ end
195
+
165
196
  # @private
166
197
  def initialize(mockery, name = nil, &block)
167
198
  @mockery = mockery
@@ -180,6 +211,7 @@ module Mocha
180
211
  alias_method :__stubs__, :stubs
181
212
 
182
213
  alias_method :quacks_like, :responds_like
214
+ alias_method :quacks_like_instance_of, :responds_like_instance_of
183
215
 
184
216
  # @private
185
217
  def __expectations__
@@ -1,3 +1,3 @@
1
1
  module Mocha
2
- VERSION = "0.13.1"
2
+ VERSION = "0.13.2"
3
3
  end
@@ -50,6 +50,23 @@ class UnstubbingTest < Test::Unit::TestCase
50
50
  assert_passed(test_result)
51
51
  end
52
52
 
53
+ def test_unstubbing_a_module_method_defined_like_fileutils_in_ruby_2_0_should_restore_original_behaviour
54
+ mod = Module.new do
55
+ def my_module_method; :original_return_value; end
56
+ private :my_module_method
57
+ extend self
58
+ class << self
59
+ public :my_module_method
60
+ end
61
+ end
62
+ test_result = run_as_test do
63
+ mod.stubs(:my_module_method).returns(:new_return_value)
64
+ mod.unstub(:my_module_method)
65
+ assert_equal :original_return_value, mod.my_module_method
66
+ end
67
+ assert_passed(test_result)
68
+ end
69
+
53
70
  def test_unstubbing_an_any_instance_method_should_restore_original_behaviour
54
71
  klass = Class.new do
55
72
  def my_instance_method; :original_return_value; end
@@ -477,4 +477,21 @@ class ExpectationTest < Test::Unit::TestCase
477
477
  assert expectation.match?(:method_one)
478
478
  end
479
479
 
480
+ def test_should_include_default_representation_of_object_in_inspect
481
+ object = Object.new
482
+ class << object
483
+ define_method(:inspect) { 'mock' }
484
+ end
485
+ expectation = Expectation.new(object, :method_one)
486
+ assert_match Regexp.new("^#<Expectation:0x[0-9A-Fa-f]{1,12} .* >$"), expectation.inspect
487
+ end
488
+
489
+ def test_should_include_output_of_mocha_inspect_in_inspect
490
+ object = Object.new
491
+ class << object
492
+ define_method(:inspect) { 'mock' }
493
+ end
494
+ expectation = Expectation.new(object, :method_one)
495
+ assert expectation.inspect.include?(expectation.mocha_inspect)
496
+ end
480
497
  end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path('../../test_helper', __FILE__)
2
2
  require 'mocha/mock'
3
- require 'mocha/expectation_error'
3
+ require 'mocha/expectation_error_factory'
4
4
  require 'set'
5
5
  require 'simple_counter'
6
6
 
@@ -11,7 +11,7 @@ class MockTest < Test::Unit::TestCase
11
11
  def test_should_set_single_expectation
12
12
  mock = build_mock
13
13
  mock.expects(:method1).returns(1)
14
- assert_nothing_raised(ExpectationError) do
14
+ assert_nothing_raised(ExpectationErrorFactory.exception_class) do
15
15
  assert_equal 1, mock.method1
16
16
  end
17
17
  end
@@ -36,7 +36,7 @@ class MockTest < Test::Unit::TestCase
36
36
 
37
37
  def test_should_be_able_to_extend_mock_object_with_module
38
38
  mock = build_mock
39
- assert_nothing_raised(ExpectationError) { mock.extend(Module.new) }
39
+ assert_nothing_raised(ExpectationErrorFactory.exception_class) { mock.extend(Module.new) }
40
40
  end
41
41
 
42
42
  def test_should_be_equal
@@ -102,7 +102,7 @@ class MockTest < Test::Unit::TestCase
102
102
  mock = build_mock
103
103
  mock.stub_everything
104
104
  result = nil
105
- assert_nothing_raised(ExpectationError) do
105
+ assert_nothing_raised(ExpectationErrorFactory.exception_class) do
106
106
  result = mock.unexpected_method
107
107
  end
108
108
  assert_nil result
@@ -110,7 +110,7 @@ class MockTest < Test::Unit::TestCase
110
110
 
111
111
  def test_should_raise_assertion_error_for_unexpected_method_call
112
112
  mock = build_mock
113
- error = assert_raise(ExpectationError) do
113
+ error = assert_raise(ExpectationErrorFactory.exception_class) do
114
114
  mock.unexpected_method_called(:my_method, :argument1, :argument2)
115
115
  end
116
116
  assert_match(/unexpected invocation/, error.message)
@@ -243,11 +243,34 @@ class MockTest < Test::Unit::TestCase
243
243
  assert_equal false, mock.respond_to?(:invoked_method)
244
244
  end
245
245
 
246
- def test_should_return_itself_to_allow_method_chaining
246
+ def test_should_respond_to_methods_which_the_responder_instance_does_responds_to
247
+ klass = Class.new do
248
+ define_method(:respond_to?) { |symbol| true }
249
+ end
250
+ mock = build_mock
251
+ mock.responds_like_instance_of(klass)
252
+ assert_equal true, mock.respond_to?(:invoked_method)
253
+ end
254
+
255
+ def test_should_not_respond_to_methods_which_the_responder_instance_does_not_responds_to
256
+ klass = Class.new do
257
+ define_method(:respond_to?) { |symbol| false }
258
+ end
259
+ mock = build_mock
260
+ mock.responds_like_instance_of(klass)
261
+ assert_equal false, mock.respond_to?(:invoked_method)
262
+ end
263
+
264
+ def test_respond_like_should_return_itself_to_allow_method_chaining
247
265
  mock = build_mock
248
266
  assert_same mock.responds_like(Object.new), mock
249
267
  end
250
268
 
269
+ def test_respond_like_instance_of_should_return_itself_to_allow_method_chaining
270
+ mock = build_mock
271
+ assert_same mock.responds_like_instance_of(Object), mock
272
+ end
273
+
251
274
  def test_should_not_raise_no_method_error_if_mock_is_not_restricted_to_respond_like_a_responder
252
275
  mock = build_mock
253
276
  mock.stubs(:invoked_method)
@@ -292,7 +315,7 @@ class MockTest < Test::Unit::TestCase
292
315
 
293
316
  def test_should_handle_respond_to_with_private_methods_param_without_error
294
317
  mock = build_mock
295
- assert_nothing_raised{ mock.respond_to?(:object_id, false) }
318
+ assert_nothing_raised { mock.respond_to?(:object_id, false) }
296
319
  end
297
320
 
298
321
  def test_should_respond_to_any_method_if_stubbing_everything
@@ -306,7 +329,7 @@ class MockTest < Test::Unit::TestCase
306
329
  mock = build_mock
307
330
  mock.expects(:method1)
308
331
  mock.unstub(:method1)
309
- e = assert_raises(ExpectationError) { mock.method1 }
332
+ e = assert_raises(ExpectationErrorFactory.exception_class) { mock.method1 }
310
333
  assert_match(/unexpected invocation/, e.message)
311
334
  end
312
335
 
@@ -1,6 +1,7 @@
1
1
  require File.expand_path('../../test_helper', __FILE__)
2
2
  require 'mocha/mockery'
3
3
  require 'mocha/state_machine'
4
+ require 'mocha/expectation_error_factory'
4
5
 
5
6
  class MockeryTest < Test::Unit::TestCase
6
7
 
@@ -31,14 +32,14 @@ class MockeryTest < Test::Unit::TestCase
31
32
  mock_2 = mockery.named_mock('mock-2') { expects(:method_2) }
32
33
  1.times { mock_1.method_1 }
33
34
  0.times { mock_2.method_2 }
34
- assert_raises(ExpectationError) { mockery.verify }
35
+ assert_raises(ExpectationErrorFactory.exception_class) { mockery.verify }
35
36
  end
36
37
 
37
38
  def test_should_reset_list_of_mocks_on_teardown
38
39
  mockery = Mockery.new
39
40
  mockery.unnamed_mock { expects(:my_method) }
40
41
  mockery.teardown
41
- assert_nothing_raised(ExpectationError) { mockery.verify }
42
+ assert_nothing_raised(ExpectationErrorFactory.exception_class) { mockery.verify }
42
43
  end
43
44
 
44
45
  def test_should_build_instance_of_stubba_on_instantiation
@@ -1,6 +1,7 @@
1
1
  require File.expand_path('../../test_helper', __FILE__)
2
2
  require 'mocha/object_methods'
3
3
  require 'mocha/mock'
4
+ require 'mocha/expectation_error_factory'
4
5
 
5
6
  class ObjectMethodsTest < Test::Unit::TestCase
6
7
 
@@ -34,7 +35,7 @@ class ObjectMethodsTest < Test::Unit::TestCase
34
35
  end
35
36
 
36
37
  def test_nobody_expects_the_spanish_inquisition
37
- assert_raise(Mocha::ExpectationError) { @object.expects(:the_spanish_inquisition) }
38
+ assert_raise(Mocha::ExpectationErrorFactory.exception_class) { @object.expects(:the_spanish_inquisition) }
38
39
  end
39
40
 
40
41
  def test_should_alias_object_method
@@ -0,0 +1,11 @@
1
+ <script src="/javascripts/app.js" type="text/javascript" charset="utf-8"></script>
2
+
3
+ <script type="text/javascript">
4
+ var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
5
+ document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
6
+ </script>
7
+ <script type="text/javascript">
8
+ try {
9
+ var pageTracker = _gat._getTracker("<%= ENV['GOOGLE_ANALYTICS_WEB_PROPERTY_ID'] %>");
10
+ pageTracker._trackPageview();
11
+ } catch(err) {}</script>
@@ -0,0 +1,6 @@
1
+ def init
2
+ super
3
+ if ENV['GOOGLE_ANALYTICS_WEB_PROPERTY_ID']
4
+ sections[:layout] << :google_analytics
5
+ end
6
+ end
metadata CHANGED
@@ -1,105 +1,103 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: mocha
3
- version: !ruby/object:Gem::Version
4
- hash: 41
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
6
- segments:
7
- - 0
8
- - 13
9
- - 1
10
- version: 0.13.1
5
+ version: 0.13.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - James Mead
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-12-04 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
12
+ date: 2013-01-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: metaclass
16
+ requirement: !ruby/object:Gem::Requirement
22
17
  none: false
23
- requirements:
18
+ requirements:
24
19
  - - ~>
25
- - !ruby/object:Gem::Version
26
- hash: 29
27
- segments:
28
- - 0
29
- - 0
30
- - 1
20
+ - !ruby/object:Gem::Version
31
21
  version: 0.0.1
32
- name: metaclass
33
22
  type: :runtime
34
- prerelease: false
35
- requirement: *id001
36
- - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
23
+ version_requirements: !ruby/object:Gem::Requirement
38
24
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ version: 0.0.1
29
+ prerelease: false
30
+ - !ruby/object:Gem::Dependency
46
31
  name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
47
38
  type: :development
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
48
45
  prerelease: false
49
- requirement: *id002
50
- - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
46
+ - !ruby/object:Gem::Dependency
47
+ name: introspection
48
+ requirement: !ruby/object:Gem::Requirement
52
49
  none: false
53
- requirements:
50
+ requirements:
54
51
  - - ~>
55
- - !ruby/object:Gem::Version
56
- hash: 29
57
- segments:
58
- - 0
59
- - 0
60
- - 1
52
+ - !ruby/object:Gem::Version
61
53
  version: 0.0.1
62
- name: introspection
63
54
  type: :development
64
- prerelease: false
65
- requirement: *id003
66
- - !ruby/object:Gem::Dependency
67
- version_requirements: &id004 !ruby/object:Gem::Requirement
55
+ version_requirements: !ruby/object:Gem::Requirement
68
56
  none: false
69
- requirements:
70
- - - ">="
71
- - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
- version: "0"
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ version: 0.0.1
61
+ prerelease: false
62
+ - !ruby/object:Gem::Dependency
76
63
  name: yard
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
77
70
  type: :development
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
78
77
  prerelease: false
79
- requirement: *id004
80
- - !ruby/object:Gem::Dependency
81
- version_requirements: &id005 !ruby/object:Gem::Requirement
78
+ - !ruby/object:Gem::Dependency
79
+ name: redcarpet
80
+ requirement: !ruby/object:Gem::Requirement
82
81
  none: false
83
- requirements:
82
+ requirements:
84
83
  - - ~>
85
- - !ruby/object:Gem::Version
86
- hash: 1
87
- segments:
88
- - 1
89
- version: "1"
90
- name: redcarpet
84
+ - !ruby/object:Gem::Version
85
+ version: '1'
91
86
  type: :development
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ version: '1'
92
93
  prerelease: false
93
- requirement: *id005
94
- description: Mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.
94
+ description: Mocking and stubbing library with JMock/SchMock syntax, which allows
95
+ mocking and stubbing of methods on real (non-mock) classes.
95
96
  email: mocha-developer@googlegroups.com
96
97
  executables: []
97
-
98
98
  extensions: []
99
-
100
99
  extra_rdoc_files: []
101
-
102
- files:
100
+ files:
103
101
  - .gemtest
104
102
  - .yardopts
105
103
  - COPYING.md
@@ -336,39 +334,34 @@ files:
336
334
  - test/unit/string_inspect_test.rb
337
335
  - test/unit/thrower_test.rb
338
336
  - test/unit/yield_parameters_test.rb
337
+ - yard-templates/default/layout/html/google_analytics.erb
338
+ - yard-templates/default/layout/html/setup.rb
339
339
  homepage: http://gofreerange.com/mocha/docs
340
340
  licenses: []
341
-
342
341
  post_install_message:
343
342
  rdoc_options: []
344
-
345
- require_paths:
343
+ require_paths:
346
344
  - lib
347
- required_ruby_version: !ruby/object:Gem::Requirement
345
+ required_ruby_version: !ruby/object:Gem::Requirement
348
346
  none: false
349
- requirements:
350
- - - ">="
351
- - !ruby/object:Gem::Version
352
- hash: 3
353
- segments:
347
+ requirements:
348
+ - - ! '>='
349
+ - !ruby/object:Gem::Version
350
+ segments:
354
351
  - 0
355
- version: "0"
356
- required_rubygems_version: !ruby/object:Gem::Requirement
352
+ hash: -598143186987414032
353
+ version: '0'
354
+ required_rubygems_version: !ruby/object:Gem::Requirement
357
355
  none: false
358
- requirements:
359
- - - ">="
360
- - !ruby/object:Gem::Version
361
- hash: 3
362
- segments:
363
- - 0
364
- version: "0"
356
+ requirements:
357
+ - - ! '>='
358
+ - !ruby/object:Gem::Version
359
+ version: '0'
365
360
  requirements: []
366
-
367
361
  rubyforge_project: mocha
368
- rubygems_version: 1.8.22
362
+ rubygems_version: 1.8.23
369
363
  signing_key:
370
364
  specification_version: 3
371
365
  summary: Mocking and stubbing library
372
366
  test_files: []
373
-
374
367
  has_rdoc: yard