mocha 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/RELEASE CHANGED
@@ -1,3 +1,11 @@
1
+ = 0.5.3 (r165)
2
+
3
+ - Attempt to fix packaging problems by switching to newer version (1.15.1) of gnutar and setting COPY_EXTENDED_ATTRIBUTES_DISABLE environment variable.
4
+ - Removed unused ExpectationSequenceError exception.
5
+ - Added instance_of and kind_of parameter matchers.
6
+ - Added Google Webmaster meta tag to rdoc template header.
7
+ - Put Google Webmaster meta tag in the right header i.e. the one for the index page.
8
+
1
9
  = 0.5.2 (r159)
2
10
 
3
11
  - Fix bug 11885 - "never doesn't work with stub_everything" submitted by Alexander Lang. In fixing this bug, also fixed undiscoverd bug where expected & actual invocation counts were being incorrectly reported which seems to have been introduced when fixes were added for invocation dispatch (see MockedMethodDispatchAcceptanceTest).
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'rake/testtask'
5
5
  require 'rake/contrib/sshpublisher'
6
6
 
7
7
  module Mocha
8
- VERSION = "0.5.2"
8
+ VERSION = "0.5.3"
9
9
  end
10
10
 
11
11
  desc "Run all tests"
@@ -6,8 +6,6 @@ require 'mocha/metaclass'
6
6
 
7
7
  module Mocha # :nodoc:
8
8
 
9
- class ExpectationSequenceError < RuntimeError; end
10
-
11
9
  # Traditional mock object.
12
10
  #
13
11
  # Methods return an Expectation which can be further modified by methods on Expectation.
@@ -0,0 +1,39 @@
1
+ module Mocha
2
+
3
+ module ParameterMatchers
4
+
5
+ # :call-seq: instance_of(klass) -> parameter_matcher
6
+ #
7
+ # Matches any object that is an instance of +klass+
8
+ # object = mock()
9
+ # object.expects(:method_1).with(instance_of(String))
10
+ # object.method_1('string')
11
+ # # no error raised
12
+ #
13
+ # object = mock()
14
+ # object.expects(:method_1).with(instance_of(String))
15
+ # object.method_1(99)
16
+ # # error raised, because method_1 was not called with an instance of String
17
+ def instance_of(klass)
18
+ InstanceOf.new(klass)
19
+ end
20
+
21
+ class InstanceOf # :nodoc:
22
+
23
+ def initialize(klass)
24
+ @klass = klass
25
+ end
26
+
27
+ def ==(parameter)
28
+ parameter.instance_of?(@klass)
29
+ end
30
+
31
+ def mocha_inspect
32
+ "instance_of(#{@klass.mocha_inspect})"
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+
39
+ end
@@ -0,0 +1,39 @@
1
+ module Mocha
2
+
3
+ module ParameterMatchers
4
+
5
+ # :call-seq: kind_of(klass) -> parameter_matcher
6
+ #
7
+ # Matches any object that is a kind of +klass+
8
+ # object = mock()
9
+ # object.expects(:method_1).with(kind_of(Integer))
10
+ # object.method_1(99)
11
+ # # no error raised
12
+ #
13
+ # object = mock()
14
+ # object.expects(:method_1).with(kind_of(Integer))
15
+ # object.method_1('string')
16
+ # # error raised, because method_1 was not called with a kind of Integer
17
+ def kind_of(klass)
18
+ KindOf.new(klass)
19
+ end
20
+
21
+ class KindOf # :nodoc:
22
+
23
+ def initialize(klass)
24
+ @klass = klass
25
+ end
26
+
27
+ def ==(parameter)
28
+ parameter.kind_of?(@klass)
29
+ end
30
+
31
+ def mocha_inspect
32
+ "kind_of(#{@klass.mocha_inspect})"
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+
39
+ end
@@ -0,0 +1,25 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "test_helper")
2
+
3
+ require 'mocha/parameter_matchers/instance_of'
4
+ require 'mocha/inspect'
5
+
6
+ class InstanceOfTest < Test::Unit::TestCase
7
+
8
+ include Mocha::ParameterMatchers
9
+
10
+ def test_should_match_object_that_is_an_instance_of_specified_class
11
+ matcher = instance_of(String)
12
+ assert matcher == 'string'
13
+ end
14
+
15
+ def test_should_not_match_object_that_is_not_an_instance_of_specified_class
16
+ matcher = instance_of(String)
17
+ assert matcher != 99
18
+ end
19
+
20
+ def test_should_describe_matcher
21
+ matcher = instance_of(String)
22
+ assert_equal "instance_of(String)", matcher.mocha_inspect
23
+ end
24
+
25
+ end
@@ -0,0 +1,25 @@
1
+ require File.join(File.dirname(__FILE__), "..", "..", "test_helper")
2
+
3
+ require 'mocha/parameter_matchers/kind_of'
4
+ require 'mocha/inspect'
5
+
6
+ class InstanceOfTest < Test::Unit::TestCase
7
+
8
+ include Mocha::ParameterMatchers
9
+
10
+ def test_should_match_object_that_is_a_kind_of_specified_class
11
+ matcher = kind_of(Integer)
12
+ assert matcher == 99
13
+ end
14
+
15
+ def test_should_not_match_object_that_is_not_a_kind_of_specified_class
16
+ matcher = kind_of(Integer)
17
+ assert matcher != 'string'
18
+ end
19
+
20
+ def test_should_describe_matcher
21
+ matcher = kind_of(Integer)
22
+ assert_equal "kind_of(Integer)", matcher.mocha_inspect
23
+ end
24
+
25
+ end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
3
3
  specification_version: 1
4
4
  name: mocha
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.5.2
7
- date: 2007-07-05 00:00:00 +01:00
6
+ version: 0.5.3
7
+ date: 2007-07-28 00:00:00 +01:00
8
8
  summary: Mocking and stubbing library
9
9
  require_paths:
10
10
  - lib
@@ -55,6 +55,8 @@ files:
55
55
  - lib/mocha/parameter_matchers/has_key.rb
56
56
  - lib/mocha/parameter_matchers/has_value.rb
57
57
  - lib/mocha/parameter_matchers/includes.rb
58
+ - lib/mocha/parameter_matchers/instance_of.rb
59
+ - lib/mocha/parameter_matchers/kind_of.rb
58
60
  - lib/mocha/parameter_matchers.rb
59
61
  - lib/mocha/pretty_parameters.rb
60
62
  - lib/mocha/return_values.rb
@@ -108,6 +110,8 @@ files:
108
110
  - test/unit/parameter_matchers/has_key_test.rb
109
111
  - test/unit/parameter_matchers/has_value_test.rb
110
112
  - test/unit/parameter_matchers/includes_test.rb
113
+ - test/unit/parameter_matchers/instance_of_test.rb
114
+ - test/unit/parameter_matchers/kind_of_test.rb
111
115
  - test/unit/parameter_matchers/stub_matcher.rb
112
116
  - test/unit/pretty_parameters_test.rb
113
117
  - test/unit/return_values_test.rb