rspec-rails 2.0.0.beta.19 → 2.0.0.beta.20

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 (52) hide show
  1. data/.gitignore +2 -1
  2. data/Gemfile +7 -0
  3. data/Gotchas.markdown +14 -0
  4. data/README.markdown +49 -9
  5. data/Rakefile +1 -2
  6. data/Upgrade.markdown +7 -0
  7. data/VERSION +1 -1
  8. data/features/controller_specs/anonymous_controller.feature +57 -19
  9. data/features/controller_specs/isolation_from_views.feature +2 -2
  10. data/features/controller_specs/readers.feature +1 -1
  11. data/features/controller_specs/render_views.feature +4 -4
  12. data/features/helper_specs/helper_spec.feature +53 -0
  13. data/features/mailer_specs/url_helpers.feature +2 -2
  14. data/features/matchers/new_record_matcher.feature +46 -1
  15. data/features/matchers/redirect_to_matcher.feature +41 -0
  16. data/features/matchers/render_template_matcher.feature +25 -0
  17. data/features/mocks/mock_model.feature +131 -0
  18. data/features/mocks/stub_model.feature +58 -0
  19. data/features/routing_specs/access_to_named_routes.feature +15 -0
  20. data/features/support/env.rb +1 -0
  21. data/features/view_specs/inferred_controller_path.feature +44 -0
  22. data/lib/generators/rspec/install/templates/spec/spec_helper.rb +4 -5
  23. data/lib/generators/rspec/scaffold/templates/routing_spec.rb +2 -2
  24. data/lib/rspec/rails.rb +1 -4
  25. data/lib/rspec/rails/adapters.rb +32 -6
  26. data/lib/rspec/rails/browser_simulators.rb +30 -0
  27. data/lib/rspec/rails/example.rb +2 -1
  28. data/lib/rspec/rails/example/controller_example_group.rb +36 -16
  29. data/lib/rspec/rails/example/helper_example_group.rb +8 -4
  30. data/lib/rspec/rails/example/mailer_example_group.rb +11 -2
  31. data/lib/rspec/rails/example/model_example_group.rb +1 -1
  32. data/lib/rspec/rails/example/rails_example_group.rb +11 -0
  33. data/lib/rspec/rails/example/request_example_group.rb +17 -6
  34. data/lib/rspec/rails/example/routing_example_group.rb +6 -1
  35. data/lib/rspec/rails/example/view_example_group.rb +18 -14
  36. data/lib/rspec/rails/matchers/be_a_new.rb +36 -1
  37. data/lib/rspec/rails/mocks.rb +9 -8
  38. data/lib/rspec/rails/tasks/rspec.rake +7 -0
  39. data/lib/rspec/rails/view_rendering.rb +8 -2
  40. data/rspec-rails.gemspec +21 -14
  41. data/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
  42. data/spec/rspec/rails/example/helper_example_group_spec.rb +2 -0
  43. data/spec/rspec/rails/example/routing_example_group_spec.rb +17 -0
  44. data/spec/rspec/rails/example/view_rendering_spec.rb +56 -15
  45. data/spec/rspec/rails/matchers/be_a_new_spec.rb +98 -0
  46. data/spec/rspec/rails/matchers/errors_on_spec.rb +4 -4
  47. data/spec/rspec/rails/mocks/ar_classes.rb +17 -0
  48. data/spec/rspec/rails/mocks/stub_model_spec.rb +36 -15
  49. data/templates/Gemfile +2 -0
  50. metadata +23 -34
  51. data/lib/rspec/rails/monkey.rb +0 -1
  52. data/lib/rspec/rails/monkey/action_mailer/test_case.rb +0 -69
@@ -1,7 +1,8 @@
1
+ require 'rspec/rails/example/rails_example_group'
1
2
  require 'rspec/rails/example/controller_example_group'
2
3
  require 'rspec/rails/example/request_example_group'
3
4
  require 'rspec/rails/example/helper_example_group'
4
5
  require 'rspec/rails/example/view_example_group'
5
6
  require 'rspec/rails/example/mailer_example_group'
6
7
  require 'rspec/rails/example/routing_example_group'
7
- require 'rspec/rails/example/model_example_group'
8
+ require 'rspec/rails/example/model_example_group'
@@ -74,30 +74,43 @@ module RSpec::Rails
74
74
  extend ActiveSupport::Concern
75
75
  extend RSpec::Rails::ModuleInclusion
76
76
 
77
- include RSpec::Rails::SetupAndTeardownAdapter
78
- include RSpec::Rails::TestUnitAssertionAdapter
77
+ include RSpec::Rails::RailsExampleGroup
78
+
79
79
  include ActionController::TestCase::Behavior
80
80
  include RSpec::Rails::ViewRendering
81
- include Webrat::Methods
82
- include Webrat::Matchers
83
- include RSpec::Matchers
84
81
  include RSpec::Rails::Matchers::RedirectTo
85
82
  include RSpec::Rails::Matchers::RenderTemplate
86
83
  include RSpec::Rails::Matchers::RoutingMatchers
84
+ include RSpec::Rails::BrowserSimulators
85
+
86
+ webrat do
87
+ include Webrat::Methods
88
+ include Webrat::Matchers
89
+ end
90
+
91
+ capybara do
92
+ include Capybara
93
+ end
94
+
95
+ # TODO (DC 7/31/2010) this is already included in RailsExampleGroup, but
96
+ # due to some load order dependency problem between Webrat::Matchers and
97
+ # RSpec::Matchers, combined with the fact that RailsExampleGroup extends
98
+ # ActiveSupport::Concern, while the matcher modules do not, this needs to
99
+ # be here as well. At least for now.
100
+ include RSpec::Matchers
87
101
 
88
102
  module ClassMethods
89
103
  def controller_class
90
104
  describes
91
105
  end
92
106
 
93
- # Creates an anonymous subclass of ApplicationController and evals the
94
- # +body+ in that context. Also sets up implicit routes for this
95
- # controller, that are separate from those defined in
96
- # <tt>config/routes.rb</tt>.
107
+ # Supports a simple DSL for specifying behaviour of
108
+ # ApplicationController. Creates an anonymous subclass of
109
+ # ApplicationController and evals the +body+ in that context. Also sets
110
+ # up implicit routes for this controller, that are separate from those
111
+ # defined in <tt>config/routes.rb</tt>.
97
112
  #
98
- # Supports a simple DSL for specifying behaviour of ApplicationController.
99
- #
100
- # == Example
113
+ # == Examples
101
114
  #
102
115
  # describe ApplicationController do
103
116
  # controller do
@@ -105,7 +118,7 @@ module RSpec::Rails
105
118
  # raise ApplicationController::AccessDenied
106
119
  # end
107
120
  # end
108
-
121
+ #
109
122
  # describe "handling AccessDenied exceptions" do
110
123
  # it "redirects to the /401.html page" do
111
124
  # get :index
@@ -113,15 +126,22 @@ module RSpec::Rails
113
126
  # end
114
127
  # end
115
128
  # end
116
- #
129
+ #
130
+ # If you would like to spec a subclass of ApplicationController, call
131
+ # controller like so:
132
+ #
133
+ # controller(ApplicationControllerSubclass) do
134
+ # # ....
135
+ # end
136
+ #
117
137
  # NOTICE: Due to Ruby 1.8 scoping rules in anoymous subclasses, constants
118
138
  # defined in +ApplicationController+ must be fully qualified (e.g.
119
139
  # ApplicationController::AccessDenied) in the block passed to the
120
140
  # +controller+ method. Any instance methods, filters, etc, that are
121
141
  # defined in +ApplicationController+, however, are accessible from within
122
142
  # the block.
123
- def controller(&body)
124
- metadata[:example_group][:describes] = Class.new(ApplicationController, &body)
143
+ def controller(base_class = ApplicationController, &body)
144
+ metadata[:example_group][:describes] = Class.new(base_class, &body)
125
145
  metadata[:example_group][:describes].singleton_class.class_eval do
126
146
  def name
127
147
  "StubResourcesController"
@@ -29,11 +29,15 @@ module RSpec::Rails
29
29
  extend ActiveSupport::Concern
30
30
  extend RSpec::Rails::ModuleInclusion
31
31
 
32
- include RSpec::Rails::SetupAndTeardownAdapter
33
- include RSpec::Rails::TestUnitAssertionAdapter
32
+ include RSpec::Rails::RailsExampleGroup
33
+
34
34
  include ActionView::TestCase::Behavior
35
35
  include RSpec::Rails::ViewAssigns
36
- include Webrat::Matchers
36
+ include RSpec::Rails::BrowserSimulators
37
+
38
+ webrat do
39
+ include Webrat::Matchers
40
+ end
37
41
 
38
42
  module ClassMethods
39
43
  def determine_default_helper_class(ignore)
@@ -45,7 +49,7 @@ module RSpec::Rails
45
49
  # Returns an instance of ActionView::Base with the helper being specified
46
50
  # mixed in, along with any of the built-in rails helpers.
47
51
  def helper
48
- _view
52
+ _view.tap {|v| v.assign(_assigns)}
49
53
  end
50
54
 
51
55
  private
@@ -4,9 +4,18 @@ if defined?(ActionMailer)
4
4
  extend ActiveSupport::Concern
5
5
  extend RSpec::Rails::ModuleInclusion
6
6
 
7
+ include RSpec::Rails::RailsExampleGroup
8
+
7
9
  include ActionMailer::TestCase::Behavior
8
- include Webrat::Matchers
9
- include RSpec::Matchers
10
+ include RSpec::Rails::BrowserSimulators
11
+
12
+ webrat do
13
+ include Webrat::Matchers
14
+ end
15
+
16
+ capybara do
17
+ include Capybara
18
+ end
10
19
 
11
20
  included do
12
21
  metadata[:type] = :mailer
@@ -3,7 +3,7 @@ module RSpec::Rails
3
3
  extend ActiveSupport::Concern
4
4
  extend RSpec::Rails::ModuleInclusion
5
5
 
6
- include RSpec::Matchers
6
+ include RSpec::Rails::RailsExampleGroup
7
7
 
8
8
  included do
9
9
  metadata[:type] = :model
@@ -0,0 +1,11 @@
1
+ module RSpec
2
+ module Rails
3
+ module RailsExampleGroup
4
+ extend ActiveSupport::Concern
5
+
6
+ include RSpec::Rails::SetupAndTeardownAdapter
7
+ include RSpec::Rails::TestUnitAssertionAdapter
8
+ include RSpec::Matchers
9
+ end
10
+ end
11
+ end
@@ -15,12 +15,21 @@ module RSpec::Rails
15
15
  extend ActiveSupport::Concern
16
16
  extend RSpec::Rails::ModuleInclusion
17
17
 
18
+ include RSpec::Rails::RailsExampleGroup
19
+
18
20
  include ActionDispatch::Integration::Runner
19
- include RSpec::Rails::TestUnitAssertionAdapter
20
21
  include ActionDispatch::Assertions
21
- include Webrat::Matchers
22
- include Webrat::Methods
23
- include RSpec::Matchers
22
+ include RSpec::Rails::BrowserSimulators
23
+
24
+ webrat do
25
+ include Webrat::Matchers
26
+ include Webrat::Methods
27
+ end
28
+
29
+ capybara do
30
+ include Capybara
31
+ end
32
+
24
33
  include RSpec::Rails::Matchers::RedirectTo
25
34
  include RSpec::Rails::Matchers::RenderTemplate
26
35
  include ActionController::TemplateAssertions
@@ -42,8 +51,10 @@ module RSpec::Rails
42
51
  @router = ::Rails.application.routes
43
52
  end
44
53
 
45
- Webrat.configure do |config|
46
- config.mode = :rack
54
+ webrat do
55
+ Webrat.configure do |config|
56
+ config.mode = :rack
57
+ end
47
58
  end
48
59
  end
49
60
 
@@ -5,12 +5,17 @@ module RSpec::Rails
5
5
  extend ActiveSupport::Concern
6
6
  extend RSpec::Rails::ModuleInclusion
7
7
 
8
- include RSpec::Rails::TestUnitAssertionAdapter
8
+ include RSpec::Rails::RailsExampleGroup
9
+
9
10
  include ActionDispatch::Assertions::RoutingAssertions
10
11
  include RSpec::Rails::Matchers::RoutingMatchers
11
12
 
12
13
  module InstanceMethods
13
14
  attr_reader :routes
15
+
16
+ def method_missing(m, *args, &block)
17
+ routes.url_helpers.respond_to?(m) ? routes.url_helpers.send(m, *args) : super
18
+ end
14
19
  end
15
20
 
16
21
  included do
@@ -21,12 +21,15 @@ module RSpec::Rails
21
21
  extend ActiveSupport::Concern
22
22
  extend RSpec::Rails::ModuleInclusion
23
23
 
24
- include RSpec::Rails::SetupAndTeardownAdapter
25
- include RSpec::Rails::TestUnitAssertionAdapter
24
+ include RSpec::Rails::RailsExampleGroup
26
25
  include ActionView::TestCase::Behavior
27
26
  include RSpec::Rails::ViewAssigns
28
- include Webrat::Matchers
29
27
  include RSpec::Rails::Matchers::RenderTemplate
28
+ include RSpec::Rails::BrowserSimulators
29
+
30
+ webrat do
31
+ include Webrat::Matchers
32
+ end
30
33
 
31
34
  module ClassMethods
32
35
  def _default_helper
@@ -63,12 +66,6 @@ module RSpec::Rails
63
66
  # end
64
67
  # end
65
68
  def render(options={}, local_assigns={}, &block)
66
- # TODO - this is a temporary hack to achieve behaviour that is in rails edge
67
- # as of http://github.com/rails/rails/commit/0e0df4b0c5df7fdd1daa5653c255c4737f5526fc,
68
- # but is not part of the rails-3.0.0.beta4 release. This line can be removed as
69
- # soon as either rails 3 beta5 or rc is released.
70
- _assigns.each { |key, value| view.instance_variable_set("@#{key}", value) }
71
-
72
69
  options = {:template => _default_file_to_render} if Hash === options and options.empty?
73
70
  super(options, local_assigns, &block)
74
71
  end
@@ -114,8 +111,16 @@ module RSpec::Rails
114
111
  example.example_group.top_level_description
115
112
  end
116
113
 
114
+ def _path_parts
115
+ _default_file_to_render.split("/")
116
+ end
117
+
117
118
  def _controller_path
118
- _default_file_to_render.split("/")[0..-2].join("/")
119
+ _path_parts[0..-2].join("/")
120
+ end
121
+
122
+ def _inferred_action
123
+ _path_parts.last.split(".").first
119
124
  end
120
125
 
121
126
  def _include_controller_helpers
@@ -133,13 +138,12 @@ module RSpec::Rails
133
138
  before do
134
139
  _include_controller_helpers
135
140
  controller.controller_path = _controller_path
136
- # this won't be necessary if/when
137
- # https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/4903
138
- # is accepted and released
139
- @request ||= controller.request
141
+ controller.request.path_parameters["controller"] = _controller_path
142
+ controller.request.path_parameters["action"] = _inferred_action unless _inferred_action =~ /^_/
140
143
  end
141
144
  end
142
145
 
143
146
  RSpec.configure &include_self_when_dir_matches('spec','views')
144
147
  end
145
148
  end
149
+
@@ -1,5 +1,40 @@
1
1
  RSpec::Matchers.define :be_a_new do |model_klass|
2
2
  match do |actual|
3
- model_klass === actual && actual.new_record?
3
+ actual.is_a?(model_klass) && actual.new_record? && attributes_match?(actual)
4
+ end
5
+
6
+ chain :with do |expected_attributes|
7
+ attributes.merge!(expected_attributes)
8
+ end
9
+
10
+ failure_message_for_should do |actual|
11
+ [].tap do |message|
12
+ unless actual.is_a?(model_klass) && actual.new_record?
13
+ message << "expected #{actual.inspect} to be a new #{model_klass.inspect}"
14
+ end
15
+ unless attributes_match?(actual)
16
+ if unmatched_attributes.size > 1
17
+ message << "attributes #{unmatched_attributes.inspect} were not set on #{actual.inspect}"
18
+ else
19
+ message << "attribute #{unmatched_attributes.inspect} was not set on #{actual.inspect}"
20
+ end
21
+ end
22
+ end.join(' and ')
23
+ end
24
+
25
+ def attributes
26
+ @attributes ||= {}
27
+ end
28
+
29
+ def attributes_match?(actual)
30
+ attributes.stringify_keys.all? do |key, value|
31
+ actual.attributes[key].eql?(value)
32
+ end
33
+ end
34
+
35
+ def unmatched_attributes
36
+ attributes.stringify_keys.reject do |key, value|
37
+ actual.attributes[key].eql?(value)
38
+ end
4
39
  end
5
40
  end
@@ -47,7 +47,7 @@ module RSpec
47
47
  end)
48
48
  end
49
49
  else
50
- model_class = string_or_model_class
50
+ model_class = string_or_model_class
51
51
  end
52
52
 
53
53
  unless model_class.kind_of? ActiveModel::Naming
@@ -98,16 +98,16 @@ EOM
98
98
  yield m if block_given?
99
99
  m
100
100
  end
101
-
101
+
102
102
  module ModelStubber
103
103
  def connection
104
- raise Spec::Rails::IllegalDataAccessException.new("stubbed models are not allowed to access the database")
104
+ raise RSpec::Rails::IllegalDataAccessException.new("stubbed models are not allowed to access the database")
105
105
  end
106
106
  def new_record?
107
- id.nil?
107
+ __send__(self.class.primary_key).nil?
108
108
  end
109
109
  def as_new_record
110
- self.id = nil
110
+ self.__send__("#{self.class.primary_key}=", nil)
111
111
  self
112
112
  end
113
113
  end
@@ -153,15 +153,16 @@ EOM
153
153
  # person.first_name = "David"
154
154
  # end
155
155
  def stub_model(model_class, stubs={})
156
- stubs = {:id => next_id}.merge(stubs)
156
+ primary_key = model_class.primary_key.to_sym
157
+ stubs = {primary_key => next_id}.merge(stubs)
157
158
  model_class.new.tap do |m|
158
- m.id = stubs.delete(:id)
159
+ m.__send__("#{primary_key}=", stubs.delete(primary_key))
159
160
  m.extend ModelStubber
160
161
  m.stub(stubs)
161
162
  yield m if block_given?
162
163
  end
163
164
  end
164
-
165
+
165
166
  private
166
167
 
167
168
  @@model_id = 1000
@@ -18,6 +18,13 @@ namespace :spec do
18
18
  end
19
19
  end
20
20
 
21
+ desc "Run all specs with rcov"
22
+ RSpec::Core::RakeTask.new(:rcov => spec_prereq) do |t|
23
+ t.rcov = true
24
+ t.pattern = "./spec/**/*_spec.rb"
25
+ t.rcov_opts = '--exclude /gems/,/Library/,/usr/,lib/tasks,.bundle,config,/lib/rspec/,/lib/rspec-'
26
+ end
27
+
21
28
  task :statsetup do
22
29
  require 'rails/code_statistics'
23
30
  ::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models')
@@ -20,6 +20,12 @@ module RSpec
20
20
  end
21
21
  end
22
22
 
23
+ module InstanceMethods
24
+ def render_views?
25
+ self.class.render_views? || !@controller.class.respond_to?(:view_paths)
26
+ end
27
+ end
28
+
23
29
  # Delegates find_all to the submitted path set and then returns templates
24
30
  # with modified source
25
31
  class PathSetDelegatorResolver < ::ActionView::Resolver
@@ -46,14 +52,14 @@ module RSpec
46
52
 
47
53
  included do
48
54
  before do
49
- unless self.class.render_views?
55
+ unless render_views?
50
56
  @_path_set_delegator_resolver = PathSetDelegatorResolver.new(@controller.class.view_paths)
51
57
  @controller.class.view_paths = ::ActionView::PathSet.new.push(@_path_set_delegator_resolver)
52
58
  end
53
59
  end
54
60
 
55
61
  after do
56
- unless self.class.render_views?
62
+ unless render_views?
57
63
  @controller.class.view_paths = @_path_set_delegator_resolver.path_set
58
64
  end
59
65
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rspec-rails}
8
- s.version = "2.0.0.beta.19"
8
+ s.version = "2.0.0.beta.20"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["David Chelimsky", "Chad Humphries"]
12
- s.date = %q{2010-07-25}
12
+ s.date = %q{2010-08-24}
13
13
  s.description = %q{RSpec-2 for Rails-3}
14
14
  s.email = %q{dchelimsky@gmail.com;chad.humphries@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
19
19
  ".document",
20
20
  ".gitignore",
21
21
  "Gemfile",
22
+ "Gotchas.markdown",
22
23
  "README.markdown",
23
24
  "Rakefile",
24
25
  "Upgrade.markdown",
@@ -30,13 +31,20 @@ Gem::Specification.new do |s|
30
31
  "features/controller_specs/isolation_from_views.feature",
31
32
  "features/controller_specs/readers.feature",
32
33
  "features/controller_specs/render_views.feature",
34
+ "features/helper_specs/helper_spec.feature",
33
35
  "features/mailer_specs/url_helpers.feature",
34
36
  "features/matchers/be_routable_matcher.feature",
35
37
  "features/matchers/new_record_matcher.feature",
38
+ "features/matchers/redirect_to_matcher.feature",
39
+ "features/matchers/render_template_matcher.feature",
40
+ "features/mocks/mock_model.feature",
41
+ "features/mocks/stub_model.feature",
36
42
  "features/model_specs/errors_on.feature",
37
43
  "features/model_specs/transactional_examples.feature",
44
+ "features/routing_specs/access_to_named_routes.feature",
38
45
  "features/step_definitions/model_steps.rb",
39
46
  "features/support/env.rb",
47
+ "features/view_specs/inferred_controller_path.feature",
40
48
  "features/view_specs/view_spec.feature",
41
49
  "lib/autotest/rails_rspec2.rb",
42
50
  "lib/generators/rspec.rb",
@@ -71,11 +79,13 @@ Gem::Specification.new do |s|
71
79
  "lib/rspec-rails.rb",
72
80
  "lib/rspec/rails.rb",
73
81
  "lib/rspec/rails/adapters.rb",
82
+ "lib/rspec/rails/browser_simulators.rb",
74
83
  "lib/rspec/rails/example.rb",
75
84
  "lib/rspec/rails/example/controller_example_group.rb",
76
85
  "lib/rspec/rails/example/helper_example_group.rb",
77
86
  "lib/rspec/rails/example/mailer_example_group.rb",
78
87
  "lib/rspec/rails/example/model_example_group.rb",
88
+ "lib/rspec/rails/example/rails_example_group.rb",
79
89
  "lib/rspec/rails/example/request_example_group.rb",
80
90
  "lib/rspec/rails/example/routing_example_group.rb",
81
91
  "lib/rspec/rails/example/view_example_group.rb",
@@ -90,13 +100,12 @@ Gem::Specification.new do |s|
90
100
  "lib/rspec/rails/matchers/routing_matchers.rb",
91
101
  "lib/rspec/rails/mocks.rb",
92
102
  "lib/rspec/rails/module_inclusion.rb",
93
- "lib/rspec/rails/monkey.rb",
94
- "lib/rspec/rails/monkey/action_mailer/test_case.rb",
95
103
  "lib/rspec/rails/tasks/rspec.rake",
96
104
  "lib/rspec/rails/version.rb",
97
105
  "lib/rspec/rails/view_assigns.rb",
98
106
  "lib/rspec/rails/view_rendering.rb",
99
107
  "rspec-rails.gemspec",
108
+ "spec/rspec/rails/assertion_adapter_spec.rb",
100
109
  "spec/rspec/rails/example/controller_example_group_spec.rb",
101
110
  "spec/rspec/rails/example/helper_example_group_spec.rb",
102
111
  "spec/rspec/rails/example/mailer_example_group_spec.rb",
@@ -123,7 +132,7 @@ Gem::Specification.new do |s|
123
132
  s.homepage = %q{http://github.com/rspec/rspec-rails}
124
133
  s.post_install_message = %q{**************************************************
125
134
 
126
- Thank you for installing rspec-rails-2.0.0.beta.19!
135
+ Thank you for installing rspec-rails-2.0.0.beta.20!
127
136
 
128
137
  This version of rspec-rails only works with versions of rails >= 3.0.0.beta.4.
129
138
 
@@ -133,7 +142,7 @@ Gem::Specification.new do |s|
133
142
  can access its generators and rake tasks.
134
143
 
135
144
  group :development, :test do
136
- gem "rspec-rails", ">= 2.0.0.beta.19"
145
+ gem "rspec-rails", ">= 2.0.0.beta.20"
137
146
  end
138
147
 
139
148
  Be sure to run the following command in each of your Rails apps if you're
@@ -159,9 +168,10 @@ Gem::Specification.new do |s|
159
168
  s.require_paths = ["lib"]
160
169
  s.rubyforge_project = %q{rspec}
161
170
  s.rubygems_version = %q{1.3.7}
162
- s.summary = %q{rspec-rails-2.0.0.beta.19}
171
+ s.summary = %q{rspec-rails-2.0.0.beta.20}
163
172
  s.test_files = [
164
- "spec/rspec/rails/example/controller_example_group_spec.rb",
173
+ "spec/rspec/rails/assertion_adapter_spec.rb",
174
+ "spec/rspec/rails/example/controller_example_group_spec.rb",
165
175
  "spec/rspec/rails/example/helper_example_group_spec.rb",
166
176
  "spec/rspec/rails/example/mailer_example_group_spec.rb",
167
177
  "spec/rspec/rails/example/model_example_group_spec.rb",
@@ -186,15 +196,12 @@ Gem::Specification.new do |s|
186
196
  s.specification_version = 3
187
197
 
188
198
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
189
- s.add_runtime_dependency(%q<rspec>, ["= 2.0.0.beta.19"])
190
- s.add_runtime_dependency(%q<webrat>, [">= 0.7.2.beta.1"])
199
+ s.add_runtime_dependency(%q<rspec>, ["= 2.0.0.beta.20"])
191
200
  else
192
- s.add_dependency(%q<rspec>, ["= 2.0.0.beta.19"])
193
- s.add_dependency(%q<webrat>, [">= 0.7.2.beta.1"])
201
+ s.add_dependency(%q<rspec>, ["= 2.0.0.beta.20"])
194
202
  end
195
203
  else
196
- s.add_dependency(%q<rspec>, ["= 2.0.0.beta.19"])
197
- s.add_dependency(%q<webrat>, [">= 0.7.2.beta.1"])
204
+ s.add_dependency(%q<rspec>, ["= 2.0.0.beta.20"])
198
205
  end
199
206
  end
200
207