rspec-expectations 2.0.0.a1

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.
Files changed (55) hide show
  1. data/.document +5 -0
  2. data/.gitignore +5 -0
  3. data/License.txt +22 -0
  4. data/README.markdown +8 -0
  5. data/Rakefile +43 -0
  6. data/VERSION +1 -0
  7. data/VERSION.yml +5 -0
  8. data/lib/rspec/expectations.rb +36 -0
  9. data/lib/rspec/expectations/differs/default.rb +62 -0
  10. data/lib/rspec/expectations/differs/load-diff-lcs.rb +12 -0
  11. data/lib/rspec/expectations/errors.rb +12 -0
  12. data/lib/rspec/expectations/extensions.rb +1 -0
  13. data/lib/rspec/expectations/extensions/kernel.rb +52 -0
  14. data/lib/rspec/expectations/fail_with.rb +43 -0
  15. data/lib/rspec/expectations/handler.rb +50 -0
  16. data/lib/rspec/matchers.rb +195 -0
  17. data/lib/rspec/matchers/be.rb +210 -0
  18. data/lib/rspec/matchers/be_close.rb +32 -0
  19. data/lib/rspec/matchers/be_instance_of.rb +26 -0
  20. data/lib/rspec/matchers/be_kind_of.rb +26 -0
  21. data/lib/rspec/matchers/change.rb +151 -0
  22. data/lib/rspec/matchers/compatibility.rb +14 -0
  23. data/lib/rspec/matchers/dsl.rb +14 -0
  24. data/lib/rspec/matchers/eql.rb +42 -0
  25. data/lib/rspec/matchers/equal.rb +53 -0
  26. data/lib/rspec/matchers/errors.rb +5 -0
  27. data/lib/rspec/matchers/exist.rb +16 -0
  28. data/lib/rspec/matchers/extensions/instance_exec.rb +23 -0
  29. data/lib/rspec/matchers/generated_descriptions.rb +36 -0
  30. data/lib/rspec/matchers/has.rb +35 -0
  31. data/lib/rspec/matchers/have.rb +151 -0
  32. data/lib/rspec/matchers/include.rb +44 -0
  33. data/lib/rspec/matchers/match.rb +21 -0
  34. data/lib/rspec/matchers/match_array.rb +71 -0
  35. data/lib/rspec/matchers/matcher.rb +86 -0
  36. data/lib/rspec/matchers/method_missing.rb +9 -0
  37. data/lib/rspec/matchers/operator_matcher.rb +78 -0
  38. data/lib/rspec/matchers/pretty.rb +37 -0
  39. data/lib/rspec/matchers/raise_error.rb +129 -0
  40. data/lib/rspec/matchers/respond_to.rb +71 -0
  41. data/lib/rspec/matchers/satisfy.rb +47 -0
  42. data/lib/rspec/matchers/simple_matcher.rb +133 -0
  43. data/lib/rspec/matchers/throw_symbol.rb +104 -0
  44. data/lib/rspec/matchers/wrap_expectation.rb +55 -0
  45. data/rspec-expectations.gemspec +104 -0
  46. data/spec/rspec/expectations/differs/default_spec.rb +128 -0
  47. data/spec/rspec/expectations/extensions/kernel_spec.rb +45 -0
  48. data/spec/rspec/expectations/fail_with_spec.rb +88 -0
  49. data/spec/rspec/expectations/handler_spec.rb +206 -0
  50. data/spec/rspec/expectations/wrap_expectation_spec.rb +30 -0
  51. data/spec/spec.opts +6 -0
  52. data/spec/spec_helper.rb +31 -0
  53. data/spec/suite.rb +1 -0
  54. data/spec/support/macros.rb +29 -0
  55. metadata +135 -0
@@ -0,0 +1,45 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+
3
+ describe Object, "#should" do
4
+ before(:each) do
5
+ @target = "target"
6
+ @matcher = mock("matcher")
7
+ @matcher.stub!(:matches?).and_return(true)
8
+ @matcher.stub!(:failure_message_for_should)
9
+ end
10
+
11
+ it "accepts and interacts with a matcher" do
12
+ @matcher.should_receive(:matches?).with(@target).and_return(true)
13
+ @target.should @matcher
14
+ end
15
+
16
+ it "asks for a failure_message_for_should when matches? returns false" do
17
+ @matcher.should_receive(:matches?).with(@target).and_return(false)
18
+ @matcher.should_receive(:failure_message_for_should).and_return("the failure message")
19
+ lambda {
20
+ @target.should @matcher
21
+ }.should fail_with("the failure message")
22
+ end
23
+ end
24
+
25
+ describe Object, "#should_not" do
26
+ before(:each) do
27
+ @target = "target"
28
+ @matcher = mock("matcher")
29
+ end
30
+
31
+ it "accepts and interacts with a matcher" do
32
+ @matcher.should_receive(:matches?).with(@target).and_return(false)
33
+ @matcher.stub!(:failure_message_for_should_not)
34
+
35
+ @target.should_not @matcher
36
+ end
37
+
38
+ it "asks for a failure_message_for_should_not when matches? returns true" do
39
+ @matcher.should_receive(:matches?).with(@target).and_return(true)
40
+ @matcher.should_receive(:failure_message_for_should_not).and_return("the failure message for should not")
41
+ lambda {
42
+ @target.should_not @matcher
43
+ }.should fail_with("the failure message for should not")
44
+ end
45
+ end
@@ -0,0 +1,88 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ describe Rspec::Expectations, "#fail_with with no diff" do
4
+ before(:each) do
5
+ @old_differ = Rspec::Expectations.differ
6
+ Rspec::Expectations.differ = nil
7
+ end
8
+
9
+ it "should handle just a message" do
10
+ lambda {
11
+ Rspec::Expectations.fail_with "the message"
12
+ }.should fail_with("the message")
13
+ end
14
+
15
+ after(:each) do
16
+ Rspec::Expectations.differ = @old_differ
17
+ end
18
+ end
19
+
20
+ describe Rspec::Expectations, "#fail_with with Array" do
21
+ before(:each) do
22
+ Rspec::Core.stub!(:warn)
23
+ end
24
+
25
+ it "is deprecated" do
26
+ Rspec::Core.should_receive(:warn)
27
+ lambda {
28
+ Rspec::Expectations.fail_with ["message", "expected", "actual"]
29
+ }.should raise_error
30
+ end
31
+ end
32
+
33
+ describe Rspec::Expectations, "#fail_with with diff" do
34
+ before(:each) do
35
+ @old_differ = Rspec::Expectations.differ
36
+ @differ = mock("differ")
37
+ Rspec::Expectations.differ = @differ
38
+ end
39
+
40
+ it "should not call differ if no expected/actual" do
41
+ lambda {
42
+ Rspec::Expectations.fail_with "the message"
43
+ }.should fail_with("the message")
44
+ end
45
+
46
+ it "should call differ if expected/actual are presented separately" do
47
+ @differ.should_receive(:diff_as_string).and_return("diff")
48
+ lambda {
49
+ Rspec::Expectations.fail_with "the message", "expected", "actual"
50
+ }.should fail_with("the message\nDiff:diff")
51
+ end
52
+
53
+ it "should call differ if expected/actual are not strings" do
54
+ @differ.should_receive(:diff_as_object).and_return("diff")
55
+ lambda {
56
+ Rspec::Expectations.fail_with "the message", :expected, :actual
57
+ }.should fail_with("the message\nDiff:diff")
58
+ end
59
+
60
+ it "should not call differ if expected or actual are procs" do
61
+ @differ.should_not_receive(:diff_as_string)
62
+ @differ.should_not_receive(:diff_as_object)
63
+ lambda {
64
+ Rspec::Expectations.fail_with "the message", lambda {}, lambda {}
65
+ }.should fail_with("the message")
66
+ end
67
+
68
+ after(:each) do
69
+ Rspec::Expectations.differ = @old_differ
70
+ end
71
+ end
72
+
73
+ describe Rspec::Expectations, "#fail_with with a nil message" do
74
+ before(:each) do
75
+ @old_differ = Rspec::Expectations.differ
76
+ Rspec::Expectations.differ = nil
77
+ end
78
+
79
+ it "should handle just a message" do
80
+ lambda {
81
+ Rspec::Expectations.fail_with nil
82
+ }.should raise_error(ArgumentError, /Failure message is nil\. Does your matcher define the appropriate failure_message_for_\* method to return a string\?/)
83
+ end
84
+
85
+ after(:each) do
86
+ Rspec::Expectations.differ = @old_differ
87
+ end
88
+ end
@@ -0,0 +1,206 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module ExampleExpectations
4
+
5
+ class ArbitraryMatcher
6
+ def initialize(*args, &block)
7
+ if args.last.is_a? Hash
8
+ @expected = args.last[:expected]
9
+ end
10
+ @expected = block.call if block
11
+ @block = block
12
+ end
13
+
14
+ def matches?(target)
15
+ @target = target
16
+ return @expected == target
17
+ end
18
+
19
+ def with(new_value)
20
+ @expected = new_value
21
+ self
22
+ end
23
+
24
+ def failure_message
25
+ "expected #{@expected}, got #{@target}"
26
+ end
27
+
28
+ def negative_failure_message
29
+ "expected not #{@expected}, got #{@target}"
30
+ end
31
+ end
32
+
33
+ class PositiveOnlyMatcher < ArbitraryMatcher
34
+ undef negative_failure_message rescue nil
35
+ end
36
+
37
+ def arbitrary_matcher(*args, &block)
38
+ ArbitraryMatcher.new(*args, &block)
39
+ end
40
+
41
+ def positive_only_matcher(*args, &block)
42
+ PositiveOnlyMatcher.new(*args, &block)
43
+ end
44
+
45
+ end
46
+
47
+ module Rspec
48
+ module Expectations
49
+ describe PositiveExpectationHandler do
50
+ describe "#handle_matcher" do
51
+ it "asks the matcher if it matches" do
52
+ matcher = mock("matcher")
53
+ actual = Object.new
54
+ matcher.should_receive(:matches?).with(actual).and_return(true)
55
+ Rspec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
56
+ end
57
+
58
+ it "returns the match value" do
59
+ matcher = mock("matcher")
60
+ actual = Object.new
61
+ matcher.should_receive(:matches?).with(actual).and_return(:this_value)
62
+ Rspec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher).should == :this_value
63
+ end
64
+
65
+ it "calls failure_message_for_should if the matcher implements it" do
66
+ matcher = mock("matcher", :failure_message_for_should => "message", :matches? => false)
67
+ actual = Object.new
68
+
69
+ ::Rspec::Expectations.should_receive(:fail_with).with("message")
70
+
71
+ Rspec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
72
+ end
73
+
74
+ it "calls fail if matcher.diffable?" do
75
+ matcher = mock("matcher",
76
+ :diffable? => true,
77
+ :failure_message_for_should => "message",
78
+ :matches? => false,
79
+ :expected => [1],
80
+ :actual => 2
81
+ )
82
+ actual = Object.new
83
+
84
+ ::Rspec::Expectations.should_receive(:fail_with).with("message", 1, 2)
85
+
86
+ Rspec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
87
+ end
88
+
89
+ it "calls failure_message if the matcher does not implement failure_message_for_should" do
90
+ matcher = mock("matcher", :failure_message => "message", :matches? => false)
91
+ actual = Object.new
92
+
93
+ ::Rspec::Expectations.should_receive(:fail_with).with("message")
94
+
95
+ Rspec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher)
96
+
97
+ end
98
+
99
+ it "appends the :or message in the options hash passed to should" do
100
+ matcher = mock("matcher", :failure_message_for_should => "message", :matches? => false)
101
+ actual = Object.new
102
+
103
+ ::Rspec::Expectations.should_receive(:fail_with).with("custom")
104
+
105
+ Rspec::Expectations::PositiveExpectationHandler.handle_matcher(actual, matcher, "custom")
106
+ end
107
+ end
108
+ end
109
+
110
+ describe NegativeExpectationHandler do
111
+ describe "#handle_matcher" do
112
+ it "asks the matcher if it doesn't match when the matcher responds to #does_not_match?" do
113
+ matcher = mock("matcher", :does_not_match? => true, :negative_failure_message => nil)
114
+ actual = Object.new
115
+ matcher.should_receive(:does_not_match?).with(actual).and_return(true)
116
+ Rspec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
117
+ end
118
+
119
+ it "asks the matcher if it matches when the matcher doesn't respond to #does_not_match?" do
120
+ matcher = mock("matcher")
121
+ actual = Object.new
122
+ matcher.stub!(:negative_failure_message)
123
+ matcher.should_receive(:matches?).with(actual).and_return(false)
124
+ Rspec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
125
+ end
126
+
127
+ it "returns the match value" do
128
+ matcher = mock("matcher")
129
+ actual = Object.new
130
+ matcher.should_receive(:matches?).with(actual).and_return(false)
131
+ matcher.stub!(:negative_failure_message).and_return("ignore")
132
+ Rspec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher).should be_false
133
+ end
134
+
135
+
136
+ it "calls failure_message_for_should_not if the matcher implements it" do
137
+ matcher = mock("matcher", :failure_message_for_should_not => "message", :matches? => true)
138
+ actual = Object.new
139
+
140
+ ::Rspec::Expectations.should_receive(:fail_with).with("message")
141
+
142
+ Rspec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
143
+
144
+ end
145
+
146
+ it "calls negative_failure_message if the matcher does not implement failure_message_for_should_not" do
147
+ matcher = mock("matcher", :negative_failure_message => "message", :matches? => true)
148
+ actual = Object.new
149
+
150
+ ::Rspec::Expectations.should_receive(:fail_with).with("message")
151
+
152
+ Rspec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
153
+
154
+ end
155
+
156
+
157
+ it "calls fail if matcher.diffable?" do
158
+ matcher = mock("matcher",
159
+ :diffable? => true,
160
+ :failure_message_for_should_not => "message",
161
+ :matches? => true,
162
+ :expected => [1],
163
+ :actual => 2
164
+ )
165
+ actual = Object.new
166
+
167
+ ::Rspec::Expectations.should_receive(:fail_with).with("message", 1, 2)
168
+
169
+ Rspec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher)
170
+ end
171
+
172
+ it "appends the :or message in the options hash passed to should" do
173
+ matcher = mock("matcher", :failure_message_for_should_not => "message", :matches? => true)
174
+ actual = Object.new
175
+
176
+ ::Rspec::Expectations.should_receive(:fail_with).with("custom")
177
+
178
+ Rspec::Expectations::NegativeExpectationHandler.handle_matcher(actual, matcher, "custom")
179
+ end
180
+
181
+ end
182
+ end
183
+
184
+ describe PositiveExpectationHandler do
185
+ include ExampleExpectations
186
+
187
+ it "should handle submitted args" do
188
+ 5.should arbitrary_matcher(:expected => 5)
189
+ 5.should arbitrary_matcher(:expected => "wrong").with(5)
190
+ lambda { 5.should arbitrary_matcher(:expected => 4) }.should fail_with("expected 4, got 5")
191
+ lambda { 5.should arbitrary_matcher(:expected => 5).with(4) }.should fail_with("expected 4, got 5")
192
+ 5.should_not arbitrary_matcher(:expected => 4)
193
+ 5.should_not arbitrary_matcher(:expected => 5).with(4)
194
+ lambda { 5.should_not arbitrary_matcher(:expected => 5) }.should fail_with("expected not 5, got 5")
195
+ lambda { 5.should_not arbitrary_matcher(:expected => 4).with(5) }.should fail_with("expected not 5, got 5")
196
+ end
197
+
198
+ it "should handle the submitted block" do
199
+ 5.should arbitrary_matcher { 5 }
200
+ 5.should arbitrary_matcher(:expected => 4) { 5 }
201
+ 5.should arbitrary_matcher(:expected => 4).with(5) { 3 }
202
+ end
203
+
204
+ end
205
+ end
206
+ end
@@ -0,0 +1,30 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
+
3
+ module Rspec
4
+ module Matchers
5
+ describe "wrap_expectation" do
6
+
7
+ def stub_matcher
8
+ @_stub_matcher ||= simple_matcher do
9
+ end
10
+ end
11
+
12
+ def failing_matcher
13
+ @_failing_matcher ||= simple_matcher do
14
+ 1.should == 2
15
+ end
16
+ end
17
+
18
+ it "should return true if there is no error" do
19
+ wrap_expectation stub_matcher do
20
+ end.should be_true
21
+ end
22
+
23
+ it "should return false if there is an error" do
24
+ wrap_expectation failing_matcher do
25
+ raise "error"
26
+ end.should be_false
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,6 @@
1
+ --colour
2
+ --format
3
+ profile
4
+ --timeout
5
+ 20
6
+ --diff
@@ -0,0 +1,31 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../core/lib'))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../../mocks/lib'))
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ require 'rspec/expectations'
5
+ require 'rspec/mocks'
6
+ require 'rspec/core'
7
+
8
+ module Rspec
9
+ module Ruby
10
+ class << self
11
+ def version
12
+ RUBY_VERSION
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ module Rspec
19
+ module Matchers
20
+ def fail_with(message)
21
+ raise_error(Rspec::Expectations::ExpectationNotMetError, message)
22
+ end
23
+ end
24
+ end
25
+
26
+ Rspec::Core::configure do |config|
27
+ config.mock_with(:rspec)
28
+ config.include Rspec::Mocks::Methods
29
+ config.include Rspec::Matchers
30
+ config.color_enabled = true
31
+ end
@@ -0,0 +1 @@
1
+ Dir["spec/**/*_spec.rb"].each {|f| require f}
@@ -0,0 +1,29 @@
1
+ module Macros
2
+ def treats_method_missing_as_private(options = {:noop => true, :subject => nil})
3
+ it "should have method_missing as private" do
4
+ with_ruby 1.8 do
5
+ described_class.private_instance_methods.should include("method_missing")
6
+ end
7
+ with_ruby 1.9 do
8
+ described_class.private_instance_methods.should include(:method_missing)
9
+ end
10
+ end
11
+
12
+ it "should not respond_to? method_missing (because it's private)" do
13
+ formatter = options[:subject] || described_class.new({ }, StringIO.new)
14
+ formatter.should_not respond_to(:method_missing)
15
+ end
16
+
17
+ if options[:noop]
18
+ it "should respond_to? all messages" do
19
+ formatter = described_class.new({ }, StringIO.new)
20
+ formatter.should respond_to(:just_about_anything)
21
+ end
22
+
23
+ it "should respond_to? anything, when given the private flag" do
24
+ formatter = described_class.new({ }, StringIO.new)
25
+ formatter.respond_to?(:method_missing, true).should be_true
26
+ end
27
+ end
28
+ end
29
+ end
metadata ADDED
@@ -0,0 +1,135 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rspec-expectations
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0.a1
5
+ platform: ruby
6
+ authors:
7
+ - David Chelimsky
8
+ - Chad Humphries
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-09-16 00:00:00 -04:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rspec-core
18
+ type: :development
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: 2.0.0.a1
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec-mocks
28
+ type: :development
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 2.0.0.a1
35
+ version:
36
+ description:
37
+ email: dchelimsky@gmail.com;chad.humphries@gmail.com
38
+ executables: []
39
+
40
+ extensions: []
41
+
42
+ extra_rdoc_files:
43
+ - README.markdown
44
+ files:
45
+ - .document
46
+ - .gitignore
47
+ - License.txt
48
+ - README.markdown
49
+ - Rakefile
50
+ - VERSION
51
+ - VERSION.yml
52
+ - lib/rspec/expectations.rb
53
+ - lib/rspec/expectations/differs/default.rb
54
+ - lib/rspec/expectations/differs/load-diff-lcs.rb
55
+ - lib/rspec/expectations/errors.rb
56
+ - lib/rspec/expectations/extensions.rb
57
+ - lib/rspec/expectations/extensions/kernel.rb
58
+ - lib/rspec/expectations/fail_with.rb
59
+ - lib/rspec/expectations/handler.rb
60
+ - lib/rspec/matchers.rb
61
+ - lib/rspec/matchers/be.rb
62
+ - lib/rspec/matchers/be_close.rb
63
+ - lib/rspec/matchers/be_instance_of.rb
64
+ - lib/rspec/matchers/be_kind_of.rb
65
+ - lib/rspec/matchers/change.rb
66
+ - lib/rspec/matchers/compatibility.rb
67
+ - lib/rspec/matchers/dsl.rb
68
+ - lib/rspec/matchers/eql.rb
69
+ - lib/rspec/matchers/equal.rb
70
+ - lib/rspec/matchers/errors.rb
71
+ - lib/rspec/matchers/exist.rb
72
+ - lib/rspec/matchers/extensions/instance_exec.rb
73
+ - lib/rspec/matchers/generated_descriptions.rb
74
+ - lib/rspec/matchers/has.rb
75
+ - lib/rspec/matchers/have.rb
76
+ - lib/rspec/matchers/include.rb
77
+ - lib/rspec/matchers/match.rb
78
+ - lib/rspec/matchers/match_array.rb
79
+ - lib/rspec/matchers/matcher.rb
80
+ - lib/rspec/matchers/method_missing.rb
81
+ - lib/rspec/matchers/operator_matcher.rb
82
+ - lib/rspec/matchers/pretty.rb
83
+ - lib/rspec/matchers/raise_error.rb
84
+ - lib/rspec/matchers/respond_to.rb
85
+ - lib/rspec/matchers/satisfy.rb
86
+ - lib/rspec/matchers/simple_matcher.rb
87
+ - lib/rspec/matchers/throw_symbol.rb
88
+ - lib/rspec/matchers/wrap_expectation.rb
89
+ - rspec-expectations.gemspec
90
+ - spec/rspec/expectations/differs/default_spec.rb
91
+ - spec/rspec/expectations/extensions/kernel_spec.rb
92
+ - spec/rspec/expectations/fail_with_spec.rb
93
+ - spec/rspec/expectations/handler_spec.rb
94
+ - spec/rspec/expectations/wrap_expectation_spec.rb
95
+ - spec/spec.opts
96
+ - spec/spec_helper.rb
97
+ - spec/suite.rb
98
+ - spec/support/macros.rb
99
+ has_rdoc: true
100
+ homepage: http://github.com/rspec/expectations
101
+ licenses: []
102
+
103
+ post_install_message:
104
+ rdoc_options:
105
+ - --charset=UTF-8
106
+ require_paths:
107
+ - lib
108
+ required_ruby_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: "0"
113
+ version:
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: "0"
119
+ version:
120
+ requirements: []
121
+
122
+ rubyforge_project:
123
+ rubygems_version: 1.3.5
124
+ signing_key:
125
+ specification_version: 3
126
+ summary: rspec expectations (should[_not] and matchers)
127
+ test_files:
128
+ - spec/rspec/expectations/differs/default_spec.rb
129
+ - spec/rspec/expectations/extensions/kernel_spec.rb
130
+ - spec/rspec/expectations/fail_with_spec.rb
131
+ - spec/rspec/expectations/handler_spec.rb
132
+ - spec/rspec/expectations/wrap_expectation_spec.rb
133
+ - spec/spec_helper.rb
134
+ - spec/suite.rb
135
+ - spec/support/macros.rb