rspec-expectations 2.0.0.beta.20 → 2.0.0.beta.22

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,7 +1,6 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gem "rake"
4
- gem "jeweler"
5
4
  gem "cucumber"
6
5
  gem "aruba", ">= 0.2.0"
7
6
  gem "autotest"
@@ -10,3 +9,10 @@ gem "rspec-expectations", :path => "."
10
9
  gem "rspec-core", :path => "../rspec-core"
11
10
  gem "rspec-mocks", :path => "../rspec-mocks"
12
11
  gem "watchr"
12
+
13
+ case RUBY_VERSION
14
+ when '1.9.2'
15
+ gem 'ruby-debug19'
16
+ when /^1\.8/
17
+ gem 'ruby-debug'
18
+ end
@@ -0,0 +1,16 @@
1
+ ## rspec-expectations release history (incomplete)
2
+
3
+ ### 2.0.0.beta.22 / 2010-09-12
4
+
5
+ [full changelog](http://github.com/rspec/rspec-expectations/compare/v2.0.0.beta.20...v2.0.0.beta.22)
6
+
7
+ * Enhancements
8
+ * diffing improvements
9
+ * diff multiline strings
10
+ * don't diff single line strings
11
+ * don't diff numbers (silly)
12
+ * diff regexp + multiline string
13
+
14
+ * Bug fixes
15
+ * should[_not] change now handles boolean values correctly
16
+
data/Rakefile CHANGED
@@ -1,41 +1,12 @@
1
1
  require 'bundler'
2
2
  Bundler.setup
3
+ Bundler::GemHelper.install_tasks
3
4
 
4
- $LOAD_PATH << File.expand_path("../lib", __FILE__)
5
5
  require 'rake'
6
6
  require 'rake/rdoctask'
7
- require 'rspec/expectations/version'
8
7
  require 'rspec/core/rake_task'
9
8
  require 'cucumber/rake/task'
10
9
 
11
- begin
12
- require 'jeweler'
13
- Jeweler::Tasks.new do |gem|
14
- gem.name = "rspec-expectations"
15
- gem.version = RSpec::Expectations::Version::STRING
16
- gem.summary = "rspec-expectations-#{RSpec::Expectations::Version::STRING}"
17
- gem.description = "rspec expectations (should[_not] and matchers)"
18
- gem.rubyforge_project = "rspec"
19
- gem.email = "dchelimsky@gmail.com;chad.humphries@gmail.com"
20
- gem.homepage = "http://github.com/rspec/expectations"
21
- gem.authors = ["David Chelimsky", "Chad Humphries"]
22
- gem.add_dependency('diff-lcs', ">= 1.1.2")
23
- gem.add_development_dependency('cucumber', ">= 0.6.2")
24
- gem.add_development_dependency('aruba', ">= 0.1.1")
25
- gem.add_development_dependency('rspec-core', ">= #{RSpec::Expectations::Version::STRING}")
26
- gem.add_development_dependency('rspec-mocks', ">= #{RSpec::Expectations::Version::STRING}")
27
- end
28
- rescue LoadError
29
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
30
- end
31
-
32
- namespace :gem do
33
- desc "push to gemcutter"
34
- task :push => :build do
35
- system "gem push pkg/rspec-expectations-#{RSpec::Expectations::Version::STRING}.gem"
36
- end
37
- end
38
-
39
10
  RSpec::Core::RakeTask.new(:spec)
40
11
 
41
12
  class Cucumber::Rake::Task::ForkedCucumberRunner
@@ -50,18 +21,11 @@ Cucumber::Rake::Task.new do |t|
50
21
  t.cucumber_opts = %w{--format progress}
51
22
  end
52
23
 
53
- task :default => [:check_dependencies, :spec, :cucumber]
24
+ task :default => [:spec, :cucumber]
54
25
 
55
26
  Rake::RDocTask.new do |rdoc|
56
- if File.exist?('VERSION.yml')
57
- config = YAML.load(File.read('VERSION.yml'))
58
- version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
59
- else
60
- version = ""
61
- end
62
-
63
27
  rdoc.rdoc_dir = 'rdoc'
64
- rdoc.title = "rspec-expectations #{version}"
28
+ rdoc.title = "rspec-expectations #{RSpec::Expectations::Version::STRING}"
65
29
  rdoc.rdoc_files.include('README*')
66
30
  rdoc.rdoc_files.include('lib/**/*.rb')
67
31
  end
@@ -73,4 +37,3 @@ task :clobber do
73
37
  rm_rf 'coverage'
74
38
  end
75
39
 
76
-
@@ -0,0 +1,85 @@
1
+ Feature: diffing
2
+
3
+ When appropriate, failure messages will automatically include a diff.
4
+
5
+ Scenario: diff for a multiline string
6
+ Given a file named "example_spec.rb" with:
7
+ """
8
+ describe "a multiline string" do
9
+ it "is like another string" do
10
+ expected = <<-EXPECTED
11
+ this is the
12
+ expected
13
+ string
14
+ EXPECTED
15
+ actual = <<-ACTUAL
16
+ this is the
17
+ actual
18
+ string
19
+ ACTUAL
20
+ actual.should eq(expected)
21
+ end
22
+ end
23
+ """
24
+ When I run "rspec example_spec.rb"
25
+ Then the output should contain:
26
+ """
27
+ Diff:
28
+ @@ -1,4 +1,4 @@
29
+ this is the
30
+ - expected
31
+ + actual
32
+ string
33
+ """
34
+
35
+ Scenario: diff for a multiline string and a regexp
36
+ Given a file named "example_spec.rb" with:
37
+ """
38
+ describe "a multiline string" do
39
+ it "is like another string" do
40
+ expected = /expected/m
41
+ actual = <<-ACTUAL
42
+ this is the
43
+ actual
44
+ string
45
+ ACTUAL
46
+ actual.should =~ expected
47
+ end
48
+ end
49
+ """
50
+ When I run "rspec example_spec.rb"
51
+ Then the output should contain:
52
+ """
53
+ Diff:
54
+ @@ -1,2 +1,4 @@
55
+ -/expected/m
56
+ +this is the
57
+ + actual
58
+ + string
59
+ """
60
+
61
+ Scenario: no diff for a single line strings
62
+ Given a file named "example_spec.rb" with:
63
+ """
64
+ describe "a single line string" do
65
+ it "is like another string" do
66
+ expected = "this string"
67
+ actual = "that string"
68
+ actual.should eq(expected)
69
+ end
70
+ end
71
+ """
72
+ When I run "rspec example_spec.rb"
73
+ Then the output should not contain "Diff:"
74
+
75
+ Scenario: no diff for numbers
76
+ Given a file named "example_spec.rb" with:
77
+ """
78
+ describe "a number" do
79
+ it "is like another number" do
80
+ 1.should eq(2)
81
+ end
82
+ end
83
+ """
84
+ When I run "rspec example_spec.rb"
85
+ Then the output should not contain "Diff:"
@@ -0,0 +1,142 @@
1
+ Feature: equality matchers
2
+
3
+ Ruby exposes several different methods for handling equality:
4
+
5
+ a.equal?(b) # object identity - a and b refer to the same object
6
+ a.eql?(b) # object equivalence - a and b have the same value
7
+ a == b # object equivalence - a and b have the same value with type conversions
8
+
9
+ Note that these descriptions are guidelines but are not forced by the
10
+ language. Any object can implement any of these methods with its own
11
+ semantics.
12
+
13
+ rspec-expectations ships with matchers that align with each of these methods:
14
+
15
+ a.should equal(b) # passes if a.equal?(b)
16
+ a.should eql(b) # passes if a.eql?(b)
17
+ a.should == b # passes if a == b
18
+
19
+ It also ships with two matchers that have more of a DSL feel to them:
20
+
21
+ a.should be(b) # passes if a.equal?(b)
22
+ a.should eq(b) # passes if a == b
23
+
24
+ Scenario: compare using eq (==)
25
+ Given a file named "compare_using_eq.rb" with:
26
+ """
27
+ require 'spec_helper'
28
+
29
+ describe "a string" do
30
+ it "is equal to another string of the same value" do
31
+ "this string".should eq("this string")
32
+ end
33
+
34
+ it "is not equal to another string of a different value" do
35
+ "this string".should_not eq("a different string")
36
+ end
37
+ end
38
+
39
+ describe "an integer" do
40
+ it "is equal to a float of the same value" do
41
+ 5.should eq(5.0)
42
+ end
43
+ end
44
+ """
45
+ When I run "rspec compare_using_eq.rb"
46
+ Then the output should contain "3 examples, 0 failures"
47
+
48
+ Scenario: compare using ==
49
+ Given a file named "compare_using_==.rb" with:
50
+ """
51
+ require 'spec_helper'
52
+
53
+ describe "a string" do
54
+ it "is equal to another string of the same value" do
55
+ "this string".should == "this string"
56
+ end
57
+
58
+ it "is not equal to another string of a different value" do
59
+ "this string".should_not == "a different string"
60
+ end
61
+ end
62
+
63
+ describe "an integer" do
64
+ it "is equal to a float of the same value" do
65
+ 5.should == 5.0
66
+ end
67
+ end
68
+ """
69
+ When I run "rspec compare_using_==.rb"
70
+ Then the output should contain "3 examples, 0 failures"
71
+
72
+ Scenario: compare using eql (eql?)
73
+ Given a file named "compare_using_eql.rb" with:
74
+ """
75
+ require 'spec_helper'
76
+
77
+ describe "an integer" do
78
+ it "is equal to another integer of the same value" do
79
+ 5.should eql(5)
80
+ end
81
+
82
+ it "is not equal to another integer of a different value" do
83
+ 5.should_not eql(6)
84
+ end
85
+
86
+ it "is not equal to a float of the same value" do
87
+ 5.should_not eql(5.0)
88
+ end
89
+
90
+ end
91
+ """
92
+ When I run "rspec compare_using_eql.rb"
93
+ Then the output should contain "3 examples, 0 failures"
94
+
95
+ Scenario: compare using equal (equal?)
96
+ Given a file named "compare_using_equal.rb" with:
97
+ """
98
+ require 'spec_helper'
99
+
100
+ describe "a string" do
101
+ it "is equal to itself" do
102
+ string = "this string"
103
+ string.should equal(string)
104
+ end
105
+
106
+ it "is not equal to another string of the same value" do
107
+ "this string".should_not equal("this string")
108
+ end
109
+
110
+ it "is not equal to another string of a different value" do
111
+ "this string".should_not equal("a different string")
112
+ end
113
+
114
+ end
115
+ """
116
+ When I run "rspec compare_using_equal.rb"
117
+ Then the output should contain "3 examples, 0 failures"
118
+
119
+ Scenario: compare using be (equal?)
120
+ Given a file named "compare_using_be.rb" with:
121
+ """
122
+ require 'spec_helper'
123
+
124
+ describe "a string" do
125
+ it "is equal to itself" do
126
+ string = "this string"
127
+ string.should be(string)
128
+ end
129
+
130
+ it "is not equal to another string of the same value" do
131
+ "this string".should_not be("this string")
132
+ end
133
+
134
+ it "is not equal to another string of a different value" do
135
+ "this string".should_not be("a different string")
136
+ end
137
+
138
+ end
139
+ """
140
+ When I run "rspec compare_using_be.rb"
141
+ Then the output should contain "3 examples, 0 failures"
142
+
@@ -41,8 +41,10 @@ module RSpec
41
41
  output << oldhunk.diff(format) << "\n"
42
42
  end
43
43
 
44
- def diff_as_object(target,expected)
45
- diff_as_string(PP.pp(target,""), PP.pp(expected,""))
44
+ def diff_as_object(actual,expected)
45
+ actual = String === actual ? actual : PP.pp(actual,"")
46
+ expected = String === expected ? expected : PP.pp(expected,"")
47
+ diff_as_string(actual, expected)
46
48
  end
47
49
 
48
50
  protected
@@ -21,7 +21,7 @@ module RSpec
21
21
  if any_multiline_strings?(actual, expected)
22
22
  message << "\nDiff:" << self.differ.diff_as_string(actual, expected)
23
23
  end
24
- elsif no_procs?(actual, expected)
24
+ elsif no_procs?(actual, expected) && no_numbers?(actual, expected)
25
25
  message << "\nDiff:" << self.differ.diff_as_object(actual, expected)
26
26
  end
27
27
  end
@@ -42,6 +42,10 @@ module RSpec
42
42
  def any_multiline_strings?(*args)
43
43
  all_strings?(*args) && args.any? {|a| a =~ /\n/}
44
44
  end
45
+
46
+ def no_numbers?(*args)
47
+ args.none? {|a| Numeric === a}
48
+ end
45
49
  end
46
50
  end
47
51
  end
@@ -1,7 +1,7 @@
1
1
  module RSpec # :nodoc:
2
2
  module Expectations # :nodoc:
3
3
  module Version # :nodoc:
4
- STRING = File.readlines(File.expand_path('../../../../VERSION', __FILE__)).first
4
+ STRING = '2.0.0.beta.22'
5
5
  end
6
6
  end
7
7
  end
@@ -177,32 +177,6 @@ it is a bit confusing.
177
177
 
178
178
  end
179
179
 
180
- class BeSameAs < Be
181
-
182
- def initialize(*args, &block)
183
- @expected = args.shift
184
- @args = args
185
- end
186
-
187
- def matches?(actual)
188
- @actual = actual
189
- @actual.equal?(@expected)
190
- end
191
-
192
- def failure_message_for_should
193
- "expected #{@expected}, got #{@actual.inspect}"
194
- end
195
-
196
- def failure_message_for_should_not
197
- "expected not #{@expected}, got #{@actual.inspect}"
198
- end
199
-
200
- def description
201
- "be #{expected_to_sentence}#{args_to_sentence}"
202
- end
203
-
204
- end
205
-
206
180
  # :call-seq:
207
181
  # should be_true
208
182
  # should be_false
@@ -235,8 +209,7 @@ it is a bit confusing.
235
209
  # target.should_not be_old_enough(16) #passes unless target.old_enough?(16)
236
210
  def be(*args)
237
211
  args.empty? ?
238
- Matchers::Be.new :
239
- Matchers::BeSameAs.new(*args)
212
+ Matchers::Be.new : equal(*args)
240
213
  end
241
214
 
242
215
  # passes if target.kind_of?(klass)
@@ -4,9 +4,10 @@ module RSpec
4
4
  #Based on patch from Wilson Bilkovich
5
5
  class Change #:nodoc:
6
6
  def initialize(receiver=nil, message=nil, &block)
7
- @message = message || "result"
7
+ @message = message
8
8
  @value_proc = block || lambda {receiver.__send__(message)}
9
9
  @to = @from = @minimum = @maximum = @amount = nil
10
+ @given_from = @given_to = false
10
11
  end
11
12
 
12
13
  def matches?(event_proc)
@@ -16,14 +17,9 @@ module RSpec
16
17
  event_proc.call
17
18
  @after = evaluate_value_proc
18
19
 
19
- return (@to = false) if @from unless @from == @before
20
- return false if @to unless @to == @after
21
- return (@before + @amount == @after) if @amount
22
- return ((@after - @before) >= @minimum) if @minimum
23
- return ((@after - @before) <= @maximum) if @maximum
24
- return @before != @after
20
+ changed? && matches_before? && matches_after? && matches_amount? && matches_min? && matches_max?
25
21
  end
26
-
22
+
27
23
  def raise_block_syntax_error
28
24
  raise MatcherError.new(<<-MESSAGE
29
25
  block passed to should or should_not change must use {} instead of do/end
@@ -36,18 +32,18 @@ MESSAGE
36
32
  end
37
33
 
38
34
  def failure_message_for_should
39
- if @to
40
- "#{@message} should have been changed to #{@to.inspect}, but is now #{@after.inspect}"
41
- elsif @from
42
- "#{@message} should have initially been #{@from.inspect}, but was #{@before.inspect}"
35
+ if @given_from && @before != @from
36
+ "#{message} should have initially been #{@from.inspect}, but was #{@before.inspect}"
37
+ elsif @given_to && @to != @after
38
+ "#{message} should have been changed to #{@to.inspect}, but is now #{@after.inspect}"
43
39
  elsif @amount
44
- "#{@message} should have been changed by #{@amount.inspect}, but was changed by #{actual_delta.inspect}"
40
+ "#{message} should have been changed by #{@amount.inspect}, but was changed by #{actual_delta.inspect}"
45
41
  elsif @minimum
46
- "#{@message} should have been changed by at least #{@minimum.inspect}, but was changed by #{actual_delta.inspect}"
42
+ "#{message} should have been changed by at least #{@minimum.inspect}, but was changed by #{actual_delta.inspect}"
47
43
  elsif @maximum
48
- "#{@message} should have been changed by at most #{@maximum.inspect}, but was changed by #{actual_delta.inspect}"
44
+ "#{message} should have been changed by at most #{@maximum.inspect}, but was changed by #{actual_delta.inspect}"
49
45
  else
50
- "#{@message} should have changed, but is still #{@before.inspect}"
46
+ "#{message} should have changed, but is still #{@before.inspect}"
51
47
  end
52
48
  end
53
49
 
@@ -56,7 +52,7 @@ MESSAGE
56
52
  end
57
53
 
58
54
  def failure_message_for_should_not
59
- "#{@message} should not have changed, but did change from #{@before.inspect} to #{@after.inspect}"
55
+ "#{message} should not have changed, but did change from #{@before.inspect} to #{@after.inspect}"
60
56
  end
61
57
 
62
58
  def by(amount)
@@ -75,18 +71,51 @@ MESSAGE
75
71
  end
76
72
 
77
73
  def to(to)
74
+ @given_to = true
78
75
  @to = to
79
76
  self
80
77
  end
81
78
 
82
79
  def from (from)
80
+ @given_from = true
83
81
  @from = from
84
82
  self
85
83
  end
86
84
 
87
85
  def description
88
- "change ##{@message}"
86
+ "change ##{message}"
87
+ end
88
+
89
+ private
90
+
91
+ def message
92
+ @message || "result"
93
+ end
94
+
95
+ def changed?
96
+ @before != @after
97
+ end
98
+
99
+ def matches_before?
100
+ @given_from ? @from == @before : true
89
101
  end
102
+
103
+ def matches_after?
104
+ @given_to ? @to == @after : true
105
+ end
106
+
107
+ def matches_amount?
108
+ @amount ? (@before + @amount == @after) : true
109
+ end
110
+
111
+ def matches_min?
112
+ @minimum ? (@after - @before >= @minimum) : true
113
+ end
114
+
115
+ def matches_max?
116
+ @maximum ? (@after - @before <= @maximum) : true
117
+ end
118
+
90
119
  end
91
120
 
92
121
  # :call-seq:
@@ -14,6 +14,9 @@ module RSpec
14
14
  # 5.should_not eq(3)
15
15
  def eq(expected)
16
16
  Matcher.new :eq, expected do |_expected_|
17
+
18
+ diffable
19
+
17
20
  match do |actual|
18
21
  actual == _expected_
19
22
  end
@@ -14,6 +14,9 @@ module RSpec
14
14
  # 5.should_not eql(3)
15
15
  def eql(expected)
16
16
  Matcher.new :eql, expected do |_expected_|
17
+
18
+ diffable
19
+
17
20
  match do |actual|
18
21
  actual.eql?(_expected_)
19
22
  end
@@ -1,179 +1,31 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
3
+ require "rspec/expectations/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{rspec-expectations}
8
- s.version = "2.0.0.beta.20"
6
+ s.name = "rspec-expectations"
7
+ s.version = RSpec::Expectations::Version::STRING
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["David Chelimsky", "Chad Humphries"]
10
+ s.email = "dchelimsky@gmail.com;chad.humphries@gmail.com"
11
+ s.homepage = "http://github.com/rspec/rspec-expectations"
12
+ s.summary = "rspec-expectations-#{RSpec::Expectations::Version::STRING}"
13
+ s.description = "rspec expectations (should[_not] and matchers)"
9
14
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["David Chelimsky", "Chad Humphries"]
12
- s.date = %q{2010-08-24}
13
- s.description = %q{rspec expectations (should[_not] and matchers)}
14
- s.email = %q{dchelimsky@gmail.com;chad.humphries@gmail.com}
15
- s.extra_rdoc_files = [
16
- "README.markdown"
17
- ]
18
- s.files = [
19
- ".document",
20
- ".gitignore",
21
- "Gemfile",
22
- "License.txt",
23
- "README.markdown",
24
- "Rakefile",
25
- "Upgrade.markdown",
26
- "VERSION",
27
- "cucumber.yml",
28
- "features/README.markdown",
29
- "features/expectations/attribute_of_subject.feature",
30
- "features/expectations/customized_message.feature",
31
- "features/expectations/implicit_docstrings.feature",
32
- "features/matchers/access_running_example.feature",
33
- "features/matchers/define_diffable_matcher.feature",
34
- "features/matchers/define_matcher.feature",
35
- "features/matchers/define_matcher_outside_rspec.feature",
36
- "features/matchers/define_matcher_with_fluent_interface.feature",
37
- "features/matchers/expect_change.feature",
38
- "features/matchers/expect_error.feature",
39
- "features/support/env.rb",
40
- "lib/rspec-expectations.rb",
41
- "lib/rspec/expectations.rb",
42
- "lib/rspec/expectations/backward_compatibility.rb",
43
- "lib/rspec/expectations/differ.rb",
44
- "lib/rspec/expectations/errors.rb",
45
- "lib/rspec/expectations/extensions.rb",
46
- "lib/rspec/expectations/extensions/array.rb",
47
- "lib/rspec/expectations/extensions/kernel.rb",
48
- "lib/rspec/expectations/extensions/rspec/core/example_group.rb",
49
- "lib/rspec/expectations/fail_with.rb",
50
- "lib/rspec/expectations/handler.rb",
51
- "lib/rspec/expectations/version.rb",
52
- "lib/rspec/matchers.rb",
53
- "lib/rspec/matchers/be.rb",
54
- "lib/rspec/matchers/be_close.rb",
55
- "lib/rspec/matchers/be_instance_of.rb",
56
- "lib/rspec/matchers/be_kind_of.rb",
57
- "lib/rspec/matchers/change.rb",
58
- "lib/rspec/matchers/compatibility.rb",
59
- "lib/rspec/matchers/dsl.rb",
60
- "lib/rspec/matchers/eq.rb",
61
- "lib/rspec/matchers/eql.rb",
62
- "lib/rspec/matchers/equal.rb",
63
- "lib/rspec/matchers/errors.rb",
64
- "lib/rspec/matchers/exist.rb",
65
- "lib/rspec/matchers/extensions/instance_exec.rb",
66
- "lib/rspec/matchers/generated_descriptions.rb",
67
- "lib/rspec/matchers/has.rb",
68
- "lib/rspec/matchers/have.rb",
69
- "lib/rspec/matchers/include.rb",
70
- "lib/rspec/matchers/match.rb",
71
- "lib/rspec/matchers/match_array.rb",
72
- "lib/rspec/matchers/matcher.rb",
73
- "lib/rspec/matchers/method_missing.rb",
74
- "lib/rspec/matchers/operator_matcher.rb",
75
- "lib/rspec/matchers/pretty.rb",
76
- "lib/rspec/matchers/raise_error.rb",
77
- "lib/rspec/matchers/respond_to.rb",
78
- "lib/rspec/matchers/satisfy.rb",
79
- "lib/rspec/matchers/throw_symbol.rb",
80
- "rspec-expectations.gemspec",
81
- "spec/rspec/expectations/differ_spec.rb",
82
- "spec/rspec/expectations/extensions/kernel_spec.rb",
83
- "spec/rspec/expectations/fail_with_spec.rb",
84
- "spec/rspec/expectations/handler_spec.rb",
85
- "spec/rspec/matchers/be_close_spec.rb",
86
- "spec/rspec/matchers/be_instance_of_spec.rb",
87
- "spec/rspec/matchers/be_kind_of_spec.rb",
88
- "spec/rspec/matchers/be_spec.rb",
89
- "spec/rspec/matchers/change_spec.rb",
90
- "spec/rspec/matchers/compatibility_spec.rb",
91
- "spec/rspec/matchers/description_generation_spec.rb",
92
- "spec/rspec/matchers/dsl_spec.rb",
93
- "spec/rspec/matchers/eq_spec.rb",
94
- "spec/rspec/matchers/eql_spec.rb",
95
- "spec/rspec/matchers/equal_spec.rb",
96
- "spec/rspec/matchers/exist_spec.rb",
97
- "spec/rspec/matchers/has_spec.rb",
98
- "spec/rspec/matchers/have_spec.rb",
99
- "spec/rspec/matchers/include_spec.rb",
100
- "spec/rspec/matchers/match_array_spec.rb",
101
- "spec/rspec/matchers/match_spec.rb",
102
- "spec/rspec/matchers/matcher_spec.rb",
103
- "spec/rspec/matchers/matchers_spec.rb",
104
- "spec/rspec/matchers/operator_matcher_spec.rb",
105
- "spec/rspec/matchers/raise_error_spec.rb",
106
- "spec/rspec/matchers/respond_to_spec.rb",
107
- "spec/rspec/matchers/satisfy_spec.rb",
108
- "spec/rspec/matchers/throw_symbol_spec.rb",
109
- "spec/spec_helper.rb",
110
- "spec/suite.rb",
111
- "spec/support/classes.rb",
112
- "specs.watchr"
113
- ]
114
- s.homepage = %q{http://github.com/rspec/expectations}
115
- s.rdoc_options = ["--charset=UTF-8"]
116
- s.require_paths = ["lib"]
117
- s.rubyforge_project = %q{rspec}
118
- s.rubygems_version = %q{1.3.7}
119
- s.summary = %q{rspec-expectations-2.0.0.beta.20}
120
- s.test_files = [
121
- "spec/rspec/expectations/differ_spec.rb",
122
- "spec/rspec/expectations/extensions/kernel_spec.rb",
123
- "spec/rspec/expectations/fail_with_spec.rb",
124
- "spec/rspec/expectations/handler_spec.rb",
125
- "spec/rspec/matchers/be_close_spec.rb",
126
- "spec/rspec/matchers/be_instance_of_spec.rb",
127
- "spec/rspec/matchers/be_kind_of_spec.rb",
128
- "spec/rspec/matchers/be_spec.rb",
129
- "spec/rspec/matchers/change_spec.rb",
130
- "spec/rspec/matchers/compatibility_spec.rb",
131
- "spec/rspec/matchers/description_generation_spec.rb",
132
- "spec/rspec/matchers/dsl_spec.rb",
133
- "spec/rspec/matchers/eq_spec.rb",
134
- "spec/rspec/matchers/eql_spec.rb",
135
- "spec/rspec/matchers/equal_spec.rb",
136
- "spec/rspec/matchers/exist_spec.rb",
137
- "spec/rspec/matchers/has_spec.rb",
138
- "spec/rspec/matchers/have_spec.rb",
139
- "spec/rspec/matchers/include_spec.rb",
140
- "spec/rspec/matchers/match_array_spec.rb",
141
- "spec/rspec/matchers/match_spec.rb",
142
- "spec/rspec/matchers/matcher_spec.rb",
143
- "spec/rspec/matchers/matchers_spec.rb",
144
- "spec/rspec/matchers/operator_matcher_spec.rb",
145
- "spec/rspec/matchers/raise_error_spec.rb",
146
- "spec/rspec/matchers/respond_to_spec.rb",
147
- "spec/rspec/matchers/satisfy_spec.rb",
148
- "spec/rspec/matchers/throw_symbol_spec.rb",
149
- "spec/spec_helper.rb",
150
- "spec/suite.rb",
151
- "spec/support/classes.rb"
152
- ]
15
+ s.rubygems_version = "1.3.7"
16
+ s.rubyforge_project = "rspec"
153
17
 
154
- if s.respond_to? :specification_version then
155
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
156
- s.specification_version = 3
18
+ s.files = `git ls-files`.split("\n")
19
+ s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
20
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
21
+ s.extra_rdoc_files = [ "README.markdown" ]
22
+ s.rdoc_options = ["--charset=UTF-8"]
23
+ s.require_path = "lib"
157
24
 
158
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
159
- s.add_runtime_dependency(%q<diff-lcs>, [">= 1.1.2"])
160
- s.add_development_dependency(%q<cucumber>, [">= 0.6.2"])
161
- s.add_development_dependency(%q<aruba>, [">= 0.1.1"])
162
- s.add_development_dependency(%q<rspec-core>, [">= 2.0.0.beta.20"])
163
- s.add_development_dependency(%q<rspec-mocks>, [">= 2.0.0.beta.20"])
164
- else
165
- s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
166
- s.add_dependency(%q<cucumber>, [">= 0.6.2"])
167
- s.add_dependency(%q<aruba>, [">= 0.1.1"])
168
- s.add_dependency(%q<rspec-core>, [">= 2.0.0.beta.20"])
169
- s.add_dependency(%q<rspec-mocks>, [">= 2.0.0.beta.20"])
170
- end
171
- else
172
- s.add_dependency(%q<diff-lcs>, [">= 1.1.2"])
173
- s.add_dependency(%q<cucumber>, [">= 0.6.2"])
174
- s.add_dependency(%q<aruba>, [">= 0.1.1"])
175
- s.add_dependency(%q<rspec-core>, [">= 2.0.0.beta.20"])
176
- s.add_dependency(%q<rspec-mocks>, [">= 2.0.0.beta.20"])
177
- end
25
+ s.add_runtime_dependency 'diff-lcs', '>= 1.1.2'
26
+ s.add_development_dependency 'cucumber', ">= 0.6.2"
27
+ s.add_development_dependency 'aruba', ">= 0.1.1"
28
+ s.add_development_dependency 'rspec-core', ">= #{RSpec::Expectations::Version::STRING}"
29
+ s.add_development_dependency 'rspec-mocks', ">= #{RSpec::Expectations::Version::STRING}"
178
30
  end
179
31
 
@@ -6,35 +6,62 @@ describe RSpec::Expectations, "#fail_with with diff" do
6
6
  before(:each) do
7
7
  RSpec::Expectations.stub(:differ) { differ }
8
8
  end
9
-
9
+
10
+ it "calls differ if expected/actual are not strings (or numbers or procs)" do
11
+ differ.should_receive(:diff_as_object).and_return("diff")
12
+ lambda {
13
+ RSpec::Expectations.fail_with "the message", Object.new, Object.new
14
+ }.should fail_with("the message\nDiff:diff")
15
+ end
16
+
17
+ context "with two strings" do
18
+ context "and actual is multiline" do
19
+ it "calls differ" do
20
+ differ.should_receive(:diff_as_string).and_return("diff")
21
+ lambda {
22
+ RSpec::Expectations.fail_with "the message", "expected\nthis", "actual"
23
+ }.should fail_with("the message\nDiff:diff")
24
+ end
25
+ end
26
+
27
+ context "and expected is multiline" do
28
+ it "calls differ" do
29
+ differ.should_receive(:diff_as_string).and_return("diff")
30
+ lambda {
31
+ RSpec::Expectations.fail_with "the message", "expected", "actual\nthat"
32
+ }.should fail_with("the message\nDiff:diff")
33
+ end
34
+ end
35
+
36
+ context "and both are single line strings" do
37
+ it "does not call differ" do
38
+ differ.should_not_receive(:diff_as_string)
39
+ lambda {
40
+ RSpec::Expectations.fail_with("the message", "expected", "actual")
41
+ }.should fail_with("the message")
42
+ end
43
+ end
44
+ end
45
+
10
46
  it "does not call differ if no expected/actual" do
11
47
  lambda {
12
48
  RSpec::Expectations.fail_with "the message"
13
49
  }.should fail_with("the message")
14
50
  end
15
-
16
- it "calls differ if expected/actual are presented separately" do
17
- differ.should_receive(:diff_as_string).and_return("diff")
51
+
52
+ it "does not call differ expected is Numeric" do
18
53
  lambda {
19
- RSpec::Expectations.fail_with "the message", "expected\nthis", "actual"
20
- }.should fail_with("the message\nDiff:diff")
21
- end
22
-
23
- it "does not call differ if expected/actual are single line strings" do
24
- differ.should_not_receive(:diff_as_string)
25
- RSpec::Expectations.fail_with("the message", "expected", "actual") rescue nil
54
+ RSpec::Expectations.fail_with "the message", 1, "1"
55
+ }.should fail_with("the message")
26
56
  end
27
-
28
- it "calls differ if expected/actual are not strings" do
29
- differ.should_receive(:diff_as_object).and_return("diff")
57
+
58
+ it "does not call differ when actual is Numeric" do
30
59
  lambda {
31
- RSpec::Expectations.fail_with "the message", Object.new, Object.new
32
- }.should fail_with("the message\nDiff:diff")
60
+ RSpec::Expectations.fail_with "the message", "1", 1
61
+ }.should fail_with("the message")
33
62
  end
34
-
63
+
35
64
  it "does not call differ if expected or actual are procs" do
36
- differ.should_not_receive(:diff_as_string)
37
- differ.should_not_receive(:diff_as_object)
38
65
  lambda {
39
66
  RSpec::Expectations.fail_with "the message", lambda {}, lambda {}
40
67
  }.should fail_with("the message")
@@ -386,25 +386,16 @@ describe "should_not be" do
386
386
  end
387
387
 
388
388
  describe "should be(value)" do
389
- it "passes if actual.equal?(value)" do
389
+ it "delegates to equal" do
390
+ self.should_receive(:equal).with(5)
390
391
  5.should be(5)
391
392
  end
392
-
393
- it "fails if !actual.equal?(value)" do
394
- lambda { 5.should be(6) }.should fail_with("expected 6, got 5")
395
- end
396
-
397
- it "describes itself" do
398
- be(5).description.should == "be 5"
399
- end
400
393
  end
401
394
 
402
395
  describe "should_not be(value)" do
403
- it "passes if !actual.equal?(value)" do
404
- 5.should_not be(6)
405
- end
406
- it "fails if !actual.equal?(value)" do
407
- lambda { 5.should_not be(5) }.should fail_with("expected not 5, got 5")
396
+ it "delegates to equal" do
397
+ self.should_receive(:equal).with(4)
398
+ 5.should_not be(4)
408
399
  end
409
400
  end
410
401
 
@@ -420,7 +411,6 @@ end
420
411
 
421
412
  describe "arbitrary predicate with DelegateClass" do
422
413
  it "accesses methods defined in the delegating class (LH[#48])" do
423
- pending("this fails in 1.9.2-preview3") unless RUBY_VERSION.to_s =~ /^1.8/
424
414
  require 'delegate'
425
415
  class ArrayDelegate < DelegateClass(Array)
426
416
  def initialize(array)
@@ -1,28 +1,48 @@
1
1
  #Based on patch from Wilson Bilkovich
2
2
 
3
3
  require 'spec_helper'
4
+
4
5
  class SomethingExpected
5
6
  attr_accessor :some_value
6
7
  end
7
8
 
8
9
  describe "should change(actual, message)" do
9
- before(:each) do
10
- @instance = SomethingExpected.new
11
- @instance.some_value = 5
10
+ context "with a numeric value" do
11
+ before(:each) do
12
+ @instance = SomethingExpected.new
13
+ @instance.some_value = 5
14
+ end
15
+
16
+ it "passes when actual is modified by the block" do
17
+ expect {@instance.some_value = 6}.to change(@instance, :some_value)
18
+ end
19
+
20
+ it "fails when actual is not modified by the block" do
21
+ expect do
22
+ expect {}.to change(@instance, :some_value)
23
+ end.to fail_with("some_value should have changed, but is still 5")
24
+ end
25
+
26
+ it "provides a #description" do
27
+ change(@instance, :some_value).description.should == "change #some_value"
28
+ end
12
29
  end
13
30
 
14
- it "passes when actual is modified by the block" do
15
- expect {@instance.some_value = 6}.to change(@instance, :some_value)
16
- end
31
+ context "with boolean values" do
32
+ before(:each) do
33
+ @instance = SomethingExpected.new
34
+ @instance.some_value = true
35
+ end
17
36
 
18
- it "fails when actual is not modified by the block" do
19
- expect do
20
- expect {}.to change(@instance, :some_value)
21
- end.to fail_with("some_value should have changed, but is still 5")
22
- end
23
-
24
- it "provides a #description" do
25
- change(@instance, :some_value).description.should == "change #some_value"
37
+ it "passes when actual is modified by the block" do
38
+ expect {@instance.some_value = false}.to change(@instance, :some_value)
39
+ end
40
+
41
+ it "fails when actual is not modified by the block" do
42
+ expect do
43
+ expect {}.to change(@instance, :some_value)
44
+ end.to fail_with("some_value should have changed, but is still true")
45
+ end
26
46
  end
27
47
  end
28
48
 
@@ -227,19 +247,37 @@ describe "should change{ block }.by_at_most(expected)" do
227
247
  end
228
248
 
229
249
  describe "should change(actual, message).from(old)" do
230
- before(:each) do
231
- @instance = SomethingExpected.new
232
- @instance.some_value = 'string'
233
- end
234
-
235
- it "passes when attribute is == to expected value before executing block" do
236
- expect { @instance.some_value = "astring" }.to change(@instance, :some_value).from("string")
237
- end
238
-
239
- it "fails when attribute is not == to expected value before executing block" do
240
- expect do
241
- expect { @instance.some_value = "knot" }.to change(@instance, :some_value).from("cat")
242
- end.to fail_with("some_value should have initially been \"cat\", but was \"string\"")
250
+ context "with boolean values" do
251
+ before(:each) do
252
+ @instance = SomethingExpected.new
253
+ @instance.some_value = true
254
+ end
255
+
256
+ it "passes when attribute is == to expected value before executing block" do
257
+ expect { @instance.some_value = false }.to change(@instance, :some_value).from(true)
258
+ end
259
+
260
+ it "fails when attribute is not == to expected value before executing block" do
261
+ expect do
262
+ expect { @instance.some_value = 'foo' }.to change(@instance, :some_value).from(false)
263
+ end.to fail_with("some_value should have initially been false, but was true")
264
+ end
265
+ end
266
+ context "with non-boolean values" do
267
+ before(:each) do
268
+ @instance = SomethingExpected.new
269
+ @instance.some_value = 'string'
270
+ end
271
+
272
+ it "passes when attribute is == to expected value before executing block" do
273
+ expect { @instance.some_value = "astring" }.to change(@instance, :some_value).from("string")
274
+ end
275
+
276
+ it "fails when attribute is not == to expected value before executing block" do
277
+ expect do
278
+ expect { @instance.some_value = "knot" }.to change(@instance, :some_value).from("cat")
279
+ end.to fail_with("some_value should have initially been \"cat\", but was \"string\"")
280
+ end
243
281
  end
244
282
  end
245
283
 
@@ -261,19 +299,37 @@ describe "should change{ block }.from(old)" do
261
299
  end
262
300
 
263
301
  describe "should change(actual, message).to(new)" do
264
- before(:each) do
265
- @instance = SomethingExpected.new
266
- @instance.some_value = 'string'
267
- end
268
-
269
- it "passes when attribute is == to expected value after executing block" do
270
- expect { @instance.some_value = "cat" }.to change(@instance, :some_value).to("cat")
271
- end
272
-
273
- it "fails when attribute is not == to expected value after executing block" do
274
- expect do
275
- expect { @instance.some_value = "cat" }.to change(@instance, :some_value).from("string").to("dog")
276
- end.to fail_with("some_value should have been changed to \"dog\", but is now \"cat\"")
302
+ context "with boolean values" do
303
+ before(:each) do
304
+ @instance = SomethingExpected.new
305
+ @instance.some_value = true
306
+ end
307
+
308
+ it "passes when attribute is == to expected value after executing block" do
309
+ expect { @instance.some_value = false }.to change(@instance, :some_value).to(false)
310
+ end
311
+
312
+ it "fails when attribute is not == to expected value after executing block" do
313
+ expect do
314
+ expect { @instance.some_value = 1 }.to change(@instance, :some_value).from(true).to(false)
315
+ end.to fail_with("some_value should have been changed to false, but is now 1")
316
+ end
317
+ end
318
+ context "with non-boolean values" do
319
+ before(:each) do
320
+ @instance = SomethingExpected.new
321
+ @instance.some_value = 'string'
322
+ end
323
+
324
+ it "passes when attribute is == to expected value after executing block" do
325
+ expect { @instance.some_value = "cat" }.to change(@instance, :some_value).to("cat")
326
+ end
327
+
328
+ it "fails when attribute is not == to expected value after executing block" do
329
+ expect do
330
+ expect { @instance.some_value = "cat" }.to change(@instance, :some_value).from("string").to("dog")
331
+ end.to fail_with("some_value should have been changed to \"dog\", but is now \"cat\"")
332
+ end
277
333
  end
278
334
  end
279
335
 
@@ -3,6 +3,10 @@ require 'spec_helper'
3
3
  module RSpec
4
4
  module Matchers
5
5
  describe "eq" do
6
+ it "is diffable" do
7
+ eq(1).should be_diffable
8
+ end
9
+
6
10
  it "matches when actual == expected" do
7
11
  1.should eq(1)
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 "is diffable" do
7
+ eql(1).should be_diffable
8
+ end
9
+
6
10
  it "matches when actual.eql?(expected)" do
7
11
  1.should eql(1)
8
12
  end
@@ -1,15 +1,8 @@
1
1
  require 'spec_helper'
2
2
  require 'stringio'
3
3
 
4
- share_as :HaveSpecHelper do
5
- def create_collection_owner_with(n)
6
- owner = RSpec::Expectations::Helper::CollectionOwner.new
7
- (1..n).each do |number|
8
- owner.add_to_collection_with_length_method(number)
9
- owner.add_to_collection_with_size_method(number)
10
- end
11
- owner
12
- end
4
+ describe "have matcher" do
5
+
13
6
  before(:each) do
14
7
  if defined?(::ActiveSupport::Inflector)
15
8
  @active_support_was_defined = true
@@ -24,10 +17,17 @@ share_as :HaveSpecHelper do
24
17
  end
25
18
  end
26
19
  end
27
- end
20
+
21
+ def create_collection_owner_with(n)
22
+ owner = RSpec::Expectations::Helper::CollectionOwner.new
23
+ (1..n).each do |number|
24
+ owner.add_to_collection_with_length_method(number)
25
+ owner.add_to_collection_with_size_method(number)
26
+ end
27
+ owner
28
+ end
28
29
 
29
30
  describe "should have(n).items" do
30
- include HaveSpecHelper
31
31
 
32
32
  it "passes if target has a collection of items with n members" do
33
33
  owner = create_collection_owner_with(3)
@@ -63,7 +63,6 @@ describe "should have(n).items" do
63
63
  end
64
64
 
65
65
  describe 'should have(1).item when ActiveSupport::Inflector is defined' do
66
- include HaveSpecHelper
67
66
 
68
67
  it 'pluralizes the collection name' do
69
68
  owner = create_collection_owner_with(1)
@@ -78,7 +77,6 @@ describe 'should have(1).item when ActiveSupport::Inflector is defined' do
78
77
  end
79
78
 
80
79
  describe 'should have(1).item when Inflector is defined' do
81
- include HaveSpecHelper
82
80
 
83
81
  before(:each) do
84
82
  if defined?(Inflector)
@@ -119,7 +117,6 @@ describe "should have(n).items where result responds to items but returns someth
119
117
  end
120
118
 
121
119
  describe "should_not have(n).items" do
122
- include HaveSpecHelper
123
120
 
124
121
  it "passes if target has a collection of items with < n members" do
125
122
  owner = create_collection_owner_with(3)
@@ -145,7 +142,6 @@ describe "should_not have(n).items" do
145
142
  end
146
143
 
147
144
  describe "should have_exactly(n).items" do
148
- include HaveSpecHelper
149
145
 
150
146
  it "passes if target has a collection of items with n members" do
151
147
  owner = create_collection_owner_with(3)
@@ -181,7 +177,6 @@ describe "should have_exactly(n).items" do
181
177
  end
182
178
 
183
179
  describe "should have_at_least(n).items" do
184
- include HaveSpecHelper
185
180
 
186
181
  it "passes if target has a collection of items with n members" do
187
182
  owner = create_collection_owner_with(3)
@@ -235,8 +230,6 @@ EOF
235
230
  end
236
231
 
237
232
  describe "should have_at_most(n).items" do
238
- include HaveSpecHelper
239
-
240
233
  it "passes if target has a collection of items with n members" do
241
234
  owner = create_collection_owner_with(3)
242
235
  owner.should have_at_most(3).items_in_collection_with_length_method
@@ -330,8 +323,6 @@ describe "have(n).things on an object which is not a collection nor contains one
330
323
  end
331
324
 
332
325
  describe RSpec::Matchers::Have, "for a collection owner that implements #send" do
333
- include HaveSpecHelper
334
-
335
326
  before(:each) do
336
327
  @collection = Object.new
337
328
  def @collection.floozles; [1,2] end
@@ -406,3 +397,5 @@ module RSpec
406
397
  end
407
398
  end
408
399
  end
400
+
401
+ end
metadata CHANGED
@@ -7,8 +7,8 @@ version: !ruby/object:Gem::Version
7
7
  - 0
8
8
  - 0
9
9
  - beta
10
- - 20
11
- version: 2.0.0.beta.20
10
+ - 22
11
+ version: 2.0.0.beta.22
12
12
  platform: ruby
13
13
  authors:
14
14
  - David Chelimsky
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-08-24 00:00:00 -05:00
20
+ date: 2010-09-12 00:00:00 -05:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -77,8 +77,8 @@ dependencies:
77
77
  - 0
78
78
  - 0
79
79
  - beta
80
- - 20
81
- version: 2.0.0.beta.20
80
+ - 22
81
+ version: 2.0.0.beta.22
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: *id004
@@ -94,8 +94,8 @@ dependencies:
94
94
  - 0
95
95
  - 0
96
96
  - beta
97
- - 20
98
- version: 2.0.0.beta.20
97
+ - 22
98
+ version: 2.0.0.beta.22
99
99
  type: :development
100
100
  prerelease: false
101
101
  version_requirements: *id005
@@ -111,21 +111,23 @@ files:
111
111
  - .document
112
112
  - .gitignore
113
113
  - Gemfile
114
+ - History.md
114
115
  - License.txt
115
116
  - README.markdown
116
117
  - Rakefile
117
118
  - Upgrade.markdown
118
- - VERSION
119
119
  - cucumber.yml
120
120
  - features/README.markdown
121
121
  - features/expectations/attribute_of_subject.feature
122
122
  - features/expectations/customized_message.feature
123
+ - features/expectations/diffing.feature
123
124
  - features/expectations/implicit_docstrings.feature
124
125
  - features/matchers/access_running_example.feature
125
126
  - features/matchers/define_diffable_matcher.feature
126
127
  - features/matchers/define_matcher.feature
127
128
  - features/matchers/define_matcher_outside_rspec.feature
128
129
  - features/matchers/define_matcher_with_fluent_interface.feature
130
+ - features/matchers/equality.feature
129
131
  - features/matchers/expect_change.feature
130
132
  - features/matchers/expect_error.feature
131
133
  - features/support/env.rb
@@ -203,7 +205,7 @@ files:
203
205
  - spec/support/classes.rb
204
206
  - specs.watchr
205
207
  has_rdoc: true
206
- homepage: http://github.com/rspec/expectations
208
+ homepage: http://github.com/rspec/rspec-expectations
207
209
  licenses: []
208
210
 
209
211
  post_install_message:
@@ -216,7 +218,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
218
  requirements:
217
219
  - - ">="
218
220
  - !ruby/object:Gem::Version
219
- hash: 1873764250961568467
221
+ hash: -37858944882232104
220
222
  segments:
221
223
  - 0
222
224
  version: "0"
@@ -236,8 +238,22 @@ rubyforge_project: rspec
236
238
  rubygems_version: 1.3.7
237
239
  signing_key:
238
240
  specification_version: 3
239
- summary: rspec-expectations-2.0.0.beta.20
241
+ summary: rspec-expectations-2.0.0.beta.22
240
242
  test_files:
243
+ - features/README.markdown
244
+ - features/expectations/attribute_of_subject.feature
245
+ - features/expectations/customized_message.feature
246
+ - features/expectations/diffing.feature
247
+ - features/expectations/implicit_docstrings.feature
248
+ - features/matchers/access_running_example.feature
249
+ - features/matchers/define_diffable_matcher.feature
250
+ - features/matchers/define_matcher.feature
251
+ - features/matchers/define_matcher_outside_rspec.feature
252
+ - features/matchers/define_matcher_with_fluent_interface.feature
253
+ - features/matchers/equality.feature
254
+ - features/matchers/expect_change.feature
255
+ - features/matchers/expect_error.feature
256
+ - features/support/env.rb
241
257
  - spec/rspec/expectations/differ_spec.rb
242
258
  - spec/rspec/expectations/extensions/kernel_spec.rb
243
259
  - spec/rspec/expectations/fail_with_spec.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 2.0.0.beta.20