rspec-expectations 2.11.2 → 2.11.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. data/Changelog.md +16 -0
  2. data/lib/rspec/expectations.rb +1 -1
  3. data/lib/rspec/expectations/expectation_target.rb +30 -0
  4. data/lib/rspec/expectations/syntax.rb +8 -0
  5. data/lib/rspec/expectations/version.rb +1 -1
  6. data/lib/rspec/matchers/built_in/be_within.rb +1 -0
  7. data/lib/rspec/matchers/built_in/change.rb +1 -0
  8. data/lib/rspec/matchers/built_in/has.rb +1 -0
  9. data/lib/rspec/matchers/built_in/have.rb +1 -0
  10. data/lib/rspec/matchers/built_in/raise_error.rb +1 -0
  11. data/lib/rspec/matchers/built_in/respond_to.rb +1 -0
  12. data/lib/rspec/matchers/built_in/satisfy.rb +1 -0
  13. data/lib/rspec/matchers/built_in/throw_symbol.rb +1 -0
  14. data/lib/rspec/matchers/built_in/yield.rb +2 -0
  15. data/spec/rspec/matchers/be_instance_of_spec.rb +4 -0
  16. data/spec/rspec/matchers/be_kind_of_spec.rb +4 -0
  17. data/spec/rspec/matchers/be_within_spec.rb +5 -1
  18. data/spec/rspec/matchers/change_spec.rb +6 -0
  19. data/spec/rspec/matchers/configuration_spec.rb +42 -0
  20. data/spec/rspec/matchers/cover_spec.rb +4 -0
  21. data/spec/rspec/matchers/eq_spec.rb +4 -0
  22. data/spec/rspec/matchers/eql_spec.rb +4 -0
  23. data/spec/rspec/matchers/equal_spec.rb +3 -0
  24. data/spec/rspec/matchers/exist_spec.rb +6 -0
  25. data/spec/rspec/matchers/has_spec.rb +5 -0
  26. data/spec/rspec/matchers/have_spec.rb +3 -0
  27. data/spec/rspec/matchers/include_spec.rb +4 -0
  28. data/spec/rspec/matchers/match_array_spec.rb +4 -0
  29. data/spec/rspec/matchers/match_spec.rb +4 -0
  30. data/spec/rspec/matchers/raise_error_spec.rb +5 -0
  31. data/spec/rspec/matchers/respond_to_spec.rb +3 -0
  32. data/spec/rspec/matchers/satisfy_spec.rb +4 -0
  33. data/spec/rspec/matchers/start_with_end_with_spec.rb +8 -0
  34. data/spec/rspec/matchers/throw_symbol_spec.rb +5 -0
  35. data/spec/rspec/matchers/yield_spec.rb +28 -0
  36. data/spec/support/shared_examples.rb +13 -0
  37. metadata +7 -5
@@ -1,3 +1,19 @@
1
+ ### 2.11.3 / 2012-09-04
2
+ [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.2...v.2.11.3)
3
+
4
+ Bug fixes
5
+
6
+ * Fix (and deprecate) `expect { }.should` syntax so that it works even
7
+ though it was never a documented or intended syntax. It worked as a
8
+ consequence of the implementation of `expect` in RSpec 2.10 and
9
+ earlier. (Myron Marston)
10
+ * Ensure #== is defined on build in matchers so that they can be composed.
11
+ For example:
12
+
13
+ expect {
14
+ user.emailed!
15
+ }.to change { user.last_emailed_at }.to be_within(1.second).of(Time.zone.now)
16
+
1
17
  ### 2.11.2 / 2012-07-25
2
18
  [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.11.1...v2.11.2)
3
19
 
@@ -1,7 +1,7 @@
1
1
  require 'rspec/expectations/extensions'
2
2
  require 'rspec/matchers'
3
- require 'rspec/matchers/configuration'
4
3
  require 'rspec/expectations/expectation_target'
4
+ require 'rspec/matchers/configuration'
5
5
  require 'rspec/expectations/fail_with'
6
6
  require 'rspec/expectations/errors'
7
7
  require 'rspec/expectations/deprecation'
@@ -10,6 +10,11 @@ module RSpec
10
10
  # # with `to_not`
11
11
  # expect(actual).to_not eq(3)
12
12
  class ExpectationTarget
13
+ class << self
14
+ attr_accessor :deprecated_should_enabled
15
+ alias deprecated_should_enabled? deprecated_should_enabled
16
+ end
17
+
13
18
  # @api private
14
19
  def initialize(target)
15
20
  @target = target
@@ -44,6 +49,31 @@ module RSpec
44
49
  end
45
50
  alias not_to to_not
46
51
 
52
+ def self.enable_deprecated_should
53
+ return if deprecated_should_enabled?
54
+
55
+ def should(*args)
56
+ RSpec.deprecate "`expect { }.should`", "`expect { }.to`", 3
57
+ @target.should(*args)
58
+ end
59
+
60
+ def should_not(*args)
61
+ RSpec.deprecate "`expect { }.should_not`", "`expect { }.to_not`", 3
62
+ @target.should_not(*args)
63
+ end
64
+
65
+ self.deprecated_should_enabled = true
66
+ end
67
+
68
+ def self.disable_deprecated_should
69
+ return unless deprecated_should_enabled?
70
+
71
+ remove_method :should
72
+ remove_method :should_not
73
+
74
+ self.deprecated_should_enabled = false
75
+ end
76
+
47
77
  private
48
78
 
49
79
  def prevent_operator_matchers(verb, matcher)
@@ -57,6 +57,8 @@ module RSpec
57
57
  ::RSpec::Expectations::NegativeExpectationHandler.handle_matcher(self, matcher, message, &block)
58
58
  end
59
59
  end
60
+
61
+ ::RSpec::Expectations::ExpectationTarget.enable_deprecated_should if expect_enabled?
60
62
  end
61
63
 
62
64
  # @api private
@@ -68,6 +70,8 @@ module RSpec
68
70
  undef should
69
71
  undef should_not
70
72
  end
73
+
74
+ ::RSpec::Expectations::ExpectationTarget.disable_deprecated_should
71
75
  end
72
76
 
73
77
  # @api private
@@ -82,6 +86,8 @@ module RSpec
82
86
  ::RSpec::Expectations::ExpectationTarget.new(target.first)
83
87
  end
84
88
  end
89
+
90
+ ::RSpec::Expectations::ExpectationTarget.enable_deprecated_should if should_enabled?
85
91
  end
86
92
 
87
93
  # @api private
@@ -92,6 +98,8 @@ module RSpec
92
98
  syntax_host.module_eval do
93
99
  undef expect
94
100
  end
101
+
102
+ ::RSpec::Expectations::ExpectationTarget.disable_deprecated_should
95
103
  end
96
104
 
97
105
  # @api private
@@ -2,7 +2,7 @@ module RSpec
2
2
  module Expectations
3
3
  # @private
4
4
  module Version
5
- STRING = '2.11.2'
5
+ STRING = '2.11.3'
6
6
  end
7
7
  end
8
8
  end
@@ -12,6 +12,7 @@ module RSpec
12
12
  raise needs_subtractable unless @actual.respond_to? :-
13
13
  (@actual - @expected).abs <= @delta
14
14
  end
15
+ alias == matches?
15
16
 
16
17
  def of(expected)
17
18
  @expected = expected
@@ -18,6 +18,7 @@ module RSpec
18
18
 
19
19
  (!change_expected? || changed?) && matches_before? && matches_after? && matches_expected_delta? && matches_min? && matches_max?
20
20
  end
21
+ alias == matches?
21
22
 
22
23
  def raise_block_syntax_error
23
24
  raise SyntaxError.new(<<-MESSAGE)
@@ -9,6 +9,7 @@ module RSpec
9
9
  def matches?(actual)
10
10
  actual.__send__(predicate(@expected), *@args)
11
11
  end
12
+ alias == matches?
12
13
 
13
14
  def failure_message_for_should
14
15
  "expected ##{predicate(@expected)}#{failure_message_args_description} to return true, got false"
@@ -31,6 +31,7 @@ module RSpec
31
31
  else @actual == @expected
32
32
  end
33
33
  end
34
+ alias == matches?
34
35
 
35
36
  def determine_collection(collection_or_owner)
36
37
  if collection_or_owner.respond_to?(@collection_name)
@@ -35,6 +35,7 @@ module RSpec
35
35
  ensure
36
36
  return (@raised_expected_error & @with_expected_message) ? (@eval_block ? @eval_block_passed : true) : false
37
37
  end
38
+ alias == matches?
38
39
 
39
40
  def eval_block
40
41
  @eval_block = true
@@ -10,6 +10,7 @@ module RSpec
10
10
  def matches?(actual)
11
11
  find_failing_method_names(actual, :reject).empty?
12
12
  end
13
+ alias == matches?
13
14
 
14
15
  def does_not_match?(actual)
15
16
  find_failing_method_names(actual, :select).empty?
@@ -11,6 +11,7 @@ module RSpec
11
11
  @actual = actual
12
12
  @block.call(actual)
13
13
  end
14
+ alias == matches?
14
15
 
15
16
  def failure_message_for_should
16
17
  "expected #{@actual} to satisfy block"
@@ -51,6 +51,7 @@ module RSpec
51
51
  end
52
52
  end
53
53
  end
54
+ alias == matches?
54
55
 
55
56
  def failure_message_for_should
56
57
  "expected #{expected} to be thrown, got #{caught}"
@@ -115,6 +115,7 @@ module RSpec
115
115
  @actual = @probe.single_yield_args
116
116
  @probe.yielded_once?(:yield_with_args) && args_match?
117
117
  end
118
+ alias == matches?
118
119
 
119
120
  def failure_message_for_should
120
121
  "expected given block to yield with arguments, but #{positive_failure_reason}"
@@ -184,6 +185,7 @@ module RSpec
184
185
  @actual = @probe.successive_yield_args
185
186
  args_match?
186
187
  end
188
+ alias == matches?
187
189
 
188
190
  def failure_message_for_should
189
191
  "expected given block to yield successively with arguments, but yielded with unexpected arguments" +
@@ -4,6 +4,10 @@ module RSpec
4
4
  module Matchers
5
5
  [:be_an_instance_of, :be_instance_of].each do |method|
6
6
  describe "actual.should #{method}(expected)" do
7
+ it_behaves_like "an RSpec matcher", :valid_value => 5, :invalid_value => "a" do
8
+ let(:matcher) { send(method, Fixnum) }
9
+ end
10
+
7
11
  it "passes if actual is instance of expected class" do
8
12
  5.should send(method, Fixnum)
9
13
  end
@@ -4,6 +4,10 @@ module RSpec
4
4
  module Matchers
5
5
  [:be_a_kind_of, :be_kind_of].each do |method|
6
6
  describe "actual.should #{method}(expected)" do
7
+ it_behaves_like "an RSpec matcher", :valid_value => 5, :invalid_value => "a" do
8
+ let(:matcher) { send(method, Fixnum) }
9
+ end
10
+
7
11
  it "passes if actual is instance of expected class" do
8
12
  5.should send(method, Fixnum)
9
13
  end
@@ -3,6 +3,10 @@ require 'spec_helper'
3
3
  module RSpec
4
4
  module Matchers
5
5
  describe "[actual.should] be_within(delta).of(expected)" do
6
+ it_behaves_like "an RSpec matcher", :valid_value => 5, :invalid_value => -5 do
7
+ let(:matcher) { be_within(2).of(4.0) }
8
+ end
9
+
6
10
  it "matches when actual == expected" do
7
11
  be_within(0.5).of(5.0).matches?(5.0).should be_true
8
12
  end
@@ -50,7 +54,7 @@ module RSpec
50
54
  end
51
55
 
52
56
  it "works with Time" do
53
- Time.now.should be_within(0.001).of(Time.now)
57
+ Time.now.should be_within(0.1).of(Time.now)
54
58
  end
55
59
 
56
60
  it "provides a description" do
@@ -153,6 +153,12 @@ describe "should_not change(actual, message)" do
153
153
  end
154
154
 
155
155
  describe "should change { block }" do
156
+ o = SomethingExpected.new
157
+ it_behaves_like "an RSpec matcher", :valid_value => lambda { o.some_value = 5 },
158
+ :invalid_value => lambda { } do
159
+ let(:matcher) { change { o.some_value } }
160
+ end
161
+
156
162
  before(:each) do
157
163
  @instance = SomethingExpected.new
158
164
  @instance.some_value = 5
@@ -121,6 +121,48 @@ module RSpec
121
121
  expect(3).to eq(3)
122
122
  end
123
123
  end
124
+
125
+ it 'does not add the deprecated #should to ExpectationTarget when only :should is enabled' do
126
+ et = Expectations::ExpectationTarget
127
+
128
+ sandboxed do
129
+ configure_syntax :should
130
+ et.new(Proc.new {}).should be_an(et)
131
+ et.new(Proc.new {}).should_not be_a(Proc)
132
+ end
133
+ end
134
+
135
+ it 'does not add the deprecated #should to ExpectationTarget when only :expect is enabled' do
136
+ sandboxed do
137
+ configure_syntax :expect
138
+ expect(expect(3)).not_to respond_to(:should)
139
+ expect(expect(3)).not_to respond_to(:should_not)
140
+ end
141
+ end
142
+
143
+ context 'when both :expect and :should are enabled' do
144
+ before { RSpec.stub(:warn) }
145
+
146
+ it 'allows `expect {}.should` to be used' do
147
+ sandboxed do
148
+ configure_syntax [:should, :expect]
149
+ expect { raise "boom" }.should raise_error("boom")
150
+ expect { }.should_not raise_error
151
+ end
152
+ end
153
+
154
+ it 'prints a deprecation notice when `expect {}.should` is used' do
155
+ sandboxed do
156
+ configure_syntax [:should, :expect]
157
+
158
+ RSpec.should_receive(:warn).with(/please use `expect \{ \}.to.*instead/)
159
+ expect { raise "boom" }.should raise_error("boom")
160
+
161
+ RSpec.should_receive(:warn).with(/please use `expect \{ \}.to_not.*instead/)
162
+ expect { }.should_not raise_error
163
+ end
164
+ end
165
+ end
124
166
  end
125
167
 
126
168
  describe "configuring rspec-expectations directly" do
@@ -2,6 +2,10 @@ require 'spec_helper'
2
2
 
3
3
  if (1..2).respond_to?(:cover?)
4
4
  describe "should cover(expected)" do
5
+ it_behaves_like "an RSpec matcher", :valid_value => (1..10), :invalid_value => (20..30) do
6
+ let(:matcher) { cover(5) }
7
+ end
8
+
5
9
  context "for a range target" do
6
10
  it "passes if target covers expected" do
7
11
  (1..10).should cover(5)
@@ -3,6 +3,10 @@ require 'spec_helper'
3
3
  module RSpec
4
4
  module Matchers
5
5
  describe "eq" do
6
+ it_behaves_like "an RSpec matcher", :valid_value => 1, :invalid_value => 2 do
7
+ let(:matcher) { eq(1) }
8
+ end
9
+
6
10
  it "is diffable" do
7
11
  eq(1).should be_diffable
8
12
  end
@@ -3,6 +3,10 @@ require 'spec_helper'
3
3
  module RSpec
4
4
  module Matchers
5
5
  describe "eql" do
6
+ it_behaves_like "an RSpec matcher", :valid_value => 1, :invalid_value => 2 do
7
+ let(:matcher) { eql(1) }
8
+ end
9
+
6
10
  it "is diffable" do
7
11
  eql(1).should be_diffable
8
12
  end
@@ -2,6 +2,9 @@ require 'spec_helper'
2
2
  module RSpec
3
3
  module Matchers
4
4
  describe "equal" do
5
+ it_behaves_like "an RSpec matcher", :valid_value => :a, :invalid_value => :b do
6
+ let(:matcher) { equal(:a) }
7
+ end
5
8
 
6
9
  def inspect_object(o)
7
10
  "#<#{o.class}:#{o.object_id}> => #{o.inspect}"
@@ -1,6 +1,12 @@
1
1
  require 'spec_helper'
2
+ require 'ostruct'
2
3
 
3
4
  describe "exist matcher" do
5
+ it_behaves_like "an RSpec matcher", :valid_value => OpenStruct.new(:exist? => true),
6
+ :invalid_value => OpenStruct.new(:exist? => false) do
7
+ let(:matcher) { exist }
8
+ end
9
+
4
10
  context "when the object does not respond to #exist? or #exists?" do
5
11
  subject { mock }
6
12
 
@@ -1,6 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "should have_sym(*args)" do
4
+ it_behaves_like "an RSpec matcher", :valid_value => { :a => 1 },
5
+ :invalid_value => {} do
6
+ let(:matcher) { have_key(:a) }
7
+ end
8
+
4
9
  it "passes if #has_sym?(*args) returns true" do
5
10
  {:a => "A"}.should have_key(:a)
6
11
  end
@@ -29,6 +29,9 @@ describe "have matcher" do
29
29
  end
30
30
 
31
31
  describe "should have(n).items" do
32
+ it_behaves_like "an RSpec matcher", :valid_value => [1, 2], :invalid_value => [1] do
33
+ let(:matcher) { have(2).items }
34
+ end
32
35
 
33
36
  it "passes if target has a collection of items with n members" do
34
37
  owner = create_collection_owner_with(3)
@@ -6,6 +6,10 @@ describe "#include matcher" do
6
6
  end
7
7
 
8
8
  describe "should include(with_one_arg)" do
9
+ it_behaves_like "an RSpec matcher", :valid_value => [1, 2], :invalid_value => [1] do
10
+ let(:matcher) { include(2) }
11
+ end
12
+
9
13
  context "for a string target" do
10
14
  it "passes if target includes expected" do
11
15
  "abc".should include("a")
@@ -15,6 +15,10 @@ class UnsortableObject
15
15
  end
16
16
 
17
17
  describe "using match_array with expect" do
18
+ it_behaves_like "an RSpec matcher", :valid_value => [1, 2], :invalid_value => [1] do
19
+ let(:matcher) { match_array([2, 1]) }
20
+ end
21
+
18
22
  it "passes a valid positive expectation" do
19
23
  expect([1, 2]).to match_array [2, 1]
20
24
  end
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "should match(expected)" do
4
+ it_behaves_like "an RSpec matcher", :valid_value => 'ab', :invalid_value => 'bc' do
5
+ let(:matcher) { match(/a/) }
6
+ end
7
+
4
8
  it "passes when target (String) matches expected (Regexp)" do
5
9
  "string".should match(/tri/)
6
10
  end
@@ -1,6 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "should raise_error" do
4
+ it_behaves_like("an RSpec matcher", :valid_value => lambda { raise "boom" },
5
+ :invalid_value => lambda { }) do
6
+ let(:matcher) { raise_error(/boom/) }
7
+ end
8
+
4
9
  it "passes if anything is raised" do
5
10
  lambda {raise}.should raise_error
6
11
  end
@@ -1,6 +1,9 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "should respond_to(:sym)" do
4
+ it_behaves_like "an RSpec matcher", :valid_value => "s", :invalid_value => 5 do
5
+ let(:matcher) { respond_to(:upcase) }
6
+ end
4
7
 
5
8
  it "passes if target responds to :sym" do
6
9
  Object.new.should respond_to(:methods)
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "should satisfy { block }" do
4
+ it_behaves_like "an RSpec matcher", :valid_value => true, :invalid_value => false do
5
+ let(:matcher) { satisfy { |v| v } }
6
+ end
7
+
4
8
  it "describes itself" do
5
9
  satisfy.description.should eq("satisfy block")
6
10
  end
@@ -1,6 +1,10 @@
1
1
  require "spec_helper"
2
2
 
3
3
  describe "should start_with" do
4
+ it_behaves_like "an RSpec matcher", :valid_value => "ab", :invalid_value => "bc" do
5
+ let(:matcher) { start_with("a") }
6
+ end
7
+
4
8
  context "with a string" do
5
9
  it "passes if it matches the start of the actual string" do
6
10
  "this string".should start_with "this str"
@@ -87,6 +91,10 @@ describe "should_not start_with" do
87
91
  end
88
92
 
89
93
  describe "should end_with" do
94
+ it_behaves_like "an RSpec matcher", :valid_value => "ab", :invalid_value => "bc" do
95
+ let(:matcher) { end_with("b") }
96
+ end
97
+
90
98
  context "with a string" do
91
99
  it "passes if it matches the end of the actual string" do
92
100
  "this string".should end_with "is string"
@@ -2,6 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  module RSpec::Matchers::BuiltIn
4
4
  describe ThrowSymbol do
5
+ it_behaves_like("an RSpec matcher", :valid_value => lambda { throw :foo },
6
+ :invalid_value => lambda { }) do
7
+ let(:matcher) { throw_symbol(:foo) }
8
+ end
9
+
5
10
  describe "with no args" do
6
11
  before(:each) { @matcher = throw_symbol }
7
12
 
@@ -35,6 +35,13 @@ end
35
35
 
36
36
  describe "yield_control matcher" do
37
37
  include YieldHelpers
38
+ extend YieldHelpers
39
+
40
+ it_behaves_like "an RSpec matcher",
41
+ :valid_value => lambda { |b| _yield_with_no_args(&b) },
42
+ :invalid_value => lambda { |b| _dont_yield(&b) } do
43
+ let(:matcher) { yield_control }
44
+ end
38
45
 
39
46
  it 'has a description' do
40
47
  yield_control.description.should eq("yield control")
@@ -90,6 +97,13 @@ end
90
97
 
91
98
  describe "yield_with_no_args matcher" do
92
99
  include YieldHelpers
100
+ extend YieldHelpers
101
+
102
+ it_behaves_like "an RSpec matcher",
103
+ :valid_value => lambda { |b| _yield_with_no_args(&b) },
104
+ :invalid_value => lambda { |b| _dont_yield(&b) } do
105
+ let(:matcher) { yield_with_no_args }
106
+ end
93
107
 
94
108
  it 'has a description' do
95
109
  yield_with_no_args.description.should eq("yield with no args")
@@ -154,6 +168,13 @@ end
154
168
 
155
169
  describe "yield_with_args matcher" do
156
170
  include YieldHelpers
171
+ extend YieldHelpers
172
+
173
+ it_behaves_like "an RSpec matcher",
174
+ :valid_value => lambda { |b| _yield_with_args(1, &b) },
175
+ :invalid_value => lambda { |b| _dont_yield(&b) } do
176
+ let(:matcher) { yield_with_args }
177
+ end
157
178
 
158
179
  it 'has a description' do
159
180
  yield_with_args.description.should eq("yield with args")
@@ -283,6 +304,13 @@ end
283
304
 
284
305
  describe "yield_successive_args matcher" do
285
306
  include YieldHelpers
307
+ extend YieldHelpers
308
+
309
+ it_behaves_like "an RSpec matcher",
310
+ :valid_value => lambda { |b| [1, 2].each(&b) },
311
+ :invalid_value => lambda { |b| _dont_yield(&b) } do
312
+ let(:matcher) { yield_successive_args(1, 2) }
313
+ end
286
314
 
287
315
  it 'has a description' do
288
316
  yield_successive_args(1, 3).description.should eq("yield successive args(1, 3)")
@@ -0,0 +1,13 @@
1
+ shared_examples_for "an RSpec matcher" do |options|
2
+ let(:valid_value) { options.fetch(:valid_value) }
3
+ let(:invalid_value) { options.fetch(:invalid_value) }
4
+
5
+ it 'matches a valid value when using #== so it can be composed' do
6
+ expect(matcher).to eq(valid_value)
7
+ end
8
+
9
+ it 'does not match an invalid value when using #== so it can be composed' do
10
+ expect(matcher).not_to eq(invalid_value)
11
+ end
12
+ end
13
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-expectations
3
3
  version: !ruby/object:Gem::Version
4
- hash: 39
4
+ hash: 37
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 11
9
- - 2
10
- version: 2.11.2
9
+ - 3
10
+ version: 2.11.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Steven Baker
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-07-26 00:00:00 Z
19
+ date: 2012-09-05 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: diff-lcs
@@ -217,6 +217,7 @@ files:
217
217
  - spec/support/in_sub_process.rb
218
218
  - spec/support/matchers.rb
219
219
  - spec/support/ruby_version.rb
220
+ - spec/support/shared_examples.rb
220
221
  homepage: http://github.com/rspec/rspec-expectations
221
222
  licenses:
222
223
  - MIT
@@ -249,7 +250,7 @@ rubyforge_project: rspec
249
250
  rubygems_version: 1.8.6
250
251
  signing_key:
251
252
  specification_version: 3
252
- summary: rspec-expectations-2.11.2
253
+ summary: rspec-expectations-2.11.3
253
254
  test_files:
254
255
  - features/README.md
255
256
  - features/Upgrade.md
@@ -325,4 +326,5 @@ test_files:
325
326
  - spec/support/in_sub_process.rb
326
327
  - spec/support/matchers.rb
327
328
  - spec/support/ruby_version.rb
329
+ - spec/support/shared_examples.rb
328
330
  has_rdoc: