rspec-rails 2.0.0.beta.19 → 2.0.0.beta.20
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/Gemfile +7 -0
- data/Gotchas.markdown +14 -0
- data/README.markdown +49 -9
- data/Rakefile +1 -2
- data/Upgrade.markdown +7 -0
- data/VERSION +1 -1
- data/features/controller_specs/anonymous_controller.feature +57 -19
- data/features/controller_specs/isolation_from_views.feature +2 -2
- data/features/controller_specs/readers.feature +1 -1
- data/features/controller_specs/render_views.feature +4 -4
- data/features/helper_specs/helper_spec.feature +53 -0
- data/features/mailer_specs/url_helpers.feature +2 -2
- data/features/matchers/new_record_matcher.feature +46 -1
- data/features/matchers/redirect_to_matcher.feature +41 -0
- data/features/matchers/render_template_matcher.feature +25 -0
- data/features/mocks/mock_model.feature +131 -0
- data/features/mocks/stub_model.feature +58 -0
- data/features/routing_specs/access_to_named_routes.feature +15 -0
- data/features/support/env.rb +1 -0
- data/features/view_specs/inferred_controller_path.feature +44 -0
- data/lib/generators/rspec/install/templates/spec/spec_helper.rb +4 -5
- data/lib/generators/rspec/scaffold/templates/routing_spec.rb +2 -2
- data/lib/rspec/rails.rb +1 -4
- data/lib/rspec/rails/adapters.rb +32 -6
- data/lib/rspec/rails/browser_simulators.rb +30 -0
- data/lib/rspec/rails/example.rb +2 -1
- data/lib/rspec/rails/example/controller_example_group.rb +36 -16
- data/lib/rspec/rails/example/helper_example_group.rb +8 -4
- data/lib/rspec/rails/example/mailer_example_group.rb +11 -2
- data/lib/rspec/rails/example/model_example_group.rb +1 -1
- data/lib/rspec/rails/example/rails_example_group.rb +11 -0
- data/lib/rspec/rails/example/request_example_group.rb +17 -6
- data/lib/rspec/rails/example/routing_example_group.rb +6 -1
- data/lib/rspec/rails/example/view_example_group.rb +18 -14
- data/lib/rspec/rails/matchers/be_a_new.rb +36 -1
- data/lib/rspec/rails/mocks.rb +9 -8
- data/lib/rspec/rails/tasks/rspec.rake +7 -0
- data/lib/rspec/rails/view_rendering.rb +8 -2
- data/rspec-rails.gemspec +21 -14
- data/spec/rspec/rails/assertion_adapter_spec.rb +28 -0
- data/spec/rspec/rails/example/helper_example_group_spec.rb +2 -0
- data/spec/rspec/rails/example/routing_example_group_spec.rb +17 -0
- data/spec/rspec/rails/example/view_rendering_spec.rb +56 -15
- data/spec/rspec/rails/matchers/be_a_new_spec.rb +98 -0
- data/spec/rspec/rails/matchers/errors_on_spec.rb +4 -4
- data/spec/rspec/rails/mocks/ar_classes.rb +17 -0
- data/spec/rspec/rails/mocks/stub_model_spec.rb +36 -15
- data/templates/Gemfile +2 -0
- metadata +23 -34
- data/lib/rspec/rails/monkey.rb +0 -1
- data/lib/rspec/rails/monkey/action_mailer/test_case.rb +0 -69
data/lib/rspec/rails/example.rb
CHANGED
@@ -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::
|
78
|
-
|
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
|
-
#
|
94
|
-
#
|
95
|
-
#
|
96
|
-
#
|
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
|
-
#
|
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(
|
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::
|
33
|
-
|
32
|
+
include RSpec::Rails::RailsExampleGroup
|
33
|
+
|
34
34
|
include ActionView::TestCase::Behavior
|
35
35
|
include RSpec::Rails::ViewAssigns
|
36
|
-
include
|
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
|
9
|
-
|
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
|
@@ -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
|
22
|
-
|
23
|
-
|
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
|
-
|
46
|
-
|
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::
|
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::
|
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
|
-
|
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
|
-
|
137
|
-
|
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
|
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
|
data/lib/rspec/rails/mocks.rb
CHANGED
@@ -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
|
104
|
+
raise RSpec::Rails::IllegalDataAccessException.new("stubbed models are not allowed to access the database")
|
105
105
|
end
|
106
106
|
def new_record?
|
107
|
-
|
107
|
+
__send__(self.class.primary_key).nil?
|
108
108
|
end
|
109
109
|
def as_new_record
|
110
|
-
self.
|
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
|
-
|
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.
|
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
|
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
|
62
|
+
unless render_views?
|
57
63
|
@controller.class.view_paths = @_path_set_delegator_resolver.path_set
|
58
64
|
end
|
59
65
|
end
|
data/rspec-rails.gemspec
CHANGED
@@ -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.
|
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-
|
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.
|
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.
|
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.
|
171
|
+
s.summary = %q{rspec-rails-2.0.0.beta.20}
|
163
172
|
s.test_files = [
|
164
|
-
"spec/rspec/rails/
|
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.
|
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.
|
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.
|
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
|
|