dchelimsky-rspec-rails 1.1.99.4 → 1.1.99.5
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.
- data/History.txt +1 -0
- data/Manifest.txt +1 -0
- data/Rakefile +1 -1
- data/lib/spec/rails/example/assigns_hash_proxy.rb +1 -2
- data/lib/spec/rails/example/controller_example_group.rb +30 -82
- data/lib/spec/rails/example/routing_helpers.rb +57 -0
- data/lib/spec/rails/example/view_example_group.rb +1 -1
- data/lib/spec/rails/example.rb +1 -0
- data/lib/spec/rails/version.rb +1 -1
- data/rspec-rails.gemspec +7 -7
- data/spec/resources/controllers/controller_spec_controller.rb +6 -0
- data/spec/spec/rails/example/assigns_hash_proxy_spec.rb +18 -5
- data/spec/spec/rails/example/controller_example_group_spec.rb +12 -5
- data/spec/spec/rails/matchers/assert_select_spec.rb +2 -2
- metadata +5 -4
data/History.txt
CHANGED
@@ -36,6 +36,7 @@ IMPORTANT: This release includes the following backwards-compatibility-breaking
|
|
36
36
|
* cleaned up spec_server (there was a bunch of pre-rails 2.0 material). Closes #685.
|
37
37
|
* rspec's rake tasks are not loaded when running "rake gems" or any of its subtasks
|
38
38
|
* only warn when rspec is not installed when trying to invoke an rspec rake task
|
39
|
+
* support 2 arg version of ActionController::Base#render (reported by Nathan Wilmes)
|
39
40
|
|
40
41
|
=== Version 1.1.12 / 2009-01-11
|
41
42
|
|
data/Manifest.txt
CHANGED
@@ -47,6 +47,7 @@ lib/spec/rails/example/functional_example_group.rb
|
|
47
47
|
lib/spec/rails/example/helper_example_group.rb
|
48
48
|
lib/spec/rails/example/model_example_group.rb
|
49
49
|
lib/spec/rails/example/render_observer.rb
|
50
|
+
lib/spec/rails/example/routing_helpers.rb
|
50
51
|
lib/spec/rails/example/view_example_group.rb
|
51
52
|
lib/spec/rails/extensions.rb
|
52
53
|
lib/spec/rails/extensions/action_controller/rescue.rb
|
data/Rakefile
CHANGED
@@ -20,7 +20,7 @@ Hoe.new('rspec-rails', Spec::Rails::VERSION::STRING) do |p|
|
|
20
20
|
p.description = "Behaviour Driven Development for Ruby on Rails."
|
21
21
|
p.rubyforge_name = 'rspec'
|
22
22
|
p.developer('RSpec Development Team', 'rspec-devel@rubyforge.org')
|
23
|
-
p.extra_deps = [["dchelimsky-rspec","1.1.99.
|
23
|
+
p.extra_deps = [["dchelimsky-rspec","1.1.99.5"],["rack",">=0.4.0"]]
|
24
24
|
p.extra_dev_deps = [["cucumber",">= 0.1.13"]]
|
25
25
|
p.remote_rdoc_dir = "rspec-rails/#{Spec::Rails::VERSION::STRING}"
|
26
26
|
end
|
@@ -8,8 +8,7 @@ module Spec
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def [](key)
|
11
|
-
return false if assigns[key] ==
|
12
|
-
return false if assigns[key.to_s] == false
|
11
|
+
return false if false == assigns[key] || false == assigns[key.to_s]
|
13
12
|
assigns[key] || assigns[key.to_s] || @target.instance_variable_get("@#{key}")
|
14
13
|
end
|
15
14
|
|
@@ -84,6 +84,8 @@ module Spec
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
+
include ::Spec::Rails::Example::RoutingHelpers
|
88
|
+
|
87
89
|
before(:each) do
|
88
90
|
# Some Rails apps explicitly disable ActionMailer in environment.rb
|
89
91
|
if defined?(ActionMailer)
|
@@ -116,54 +118,6 @@ module Spec
|
|
116
118
|
@integrate_views = self.class.integrate_views?
|
117
119
|
end
|
118
120
|
|
119
|
-
class RouteForMatcher
|
120
|
-
def initialize(example, options)
|
121
|
-
@example, @options = example, options
|
122
|
-
end
|
123
|
-
|
124
|
-
def ==(expected)
|
125
|
-
if Hash === expected
|
126
|
-
path, querystring = expected[:path].split('?')
|
127
|
-
path = expected.merge(:path => path)
|
128
|
-
else
|
129
|
-
path, querystring = expected.split('?')
|
130
|
-
end
|
131
|
-
params = querystring.blank? ? {} : @example.params_from_querystring(querystring)
|
132
|
-
@example.assert_recognizes(@options, path, params)
|
133
|
-
true
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
|
-
# Uses ActionController::Routing::Routes to generate
|
138
|
-
# the correct route for a given set of options.
|
139
|
-
# == Example
|
140
|
-
# route_for(:controller => 'registrations', :action => 'edit', :id => 1)
|
141
|
-
# => '/registrations/1;edit'
|
142
|
-
def route_for(options)
|
143
|
-
RouteForMatcher.new(self, options)
|
144
|
-
end
|
145
|
-
|
146
|
-
# Uses ActionController::Routing::Routes to parse
|
147
|
-
# an incoming path so the parameters it generates can be checked
|
148
|
-
# == Example
|
149
|
-
# params_from(:get, '/registrations/1/edit')
|
150
|
-
# => :controller => 'registrations', :action => 'edit', :id => 1
|
151
|
-
def params_from(method, path)
|
152
|
-
ensure_that_routes_are_loaded
|
153
|
-
path, querystring = path.split('?')
|
154
|
-
params = ActionController::Routing::Routes.recognize_path(path, :method => method)
|
155
|
-
querystring.blank? ? params : params.merge(params_from_querystring(querystring))
|
156
|
-
end
|
157
|
-
|
158
|
-
def params_from_querystring(querystring) # :nodoc:
|
159
|
-
params = {}
|
160
|
-
querystring.split('&').each do |piece|
|
161
|
-
key, value = piece.split('=')
|
162
|
-
params[key.to_sym] = value
|
163
|
-
end
|
164
|
-
params
|
165
|
-
end
|
166
|
-
|
167
121
|
protected
|
168
122
|
|
169
123
|
def _assigns_hash_proxy
|
@@ -177,49 +131,43 @@ module Spec
|
|
177
131
|
def ensure_that_routes_are_loaded
|
178
132
|
ActionController::Routing::Routes.reload if ActionController::Routing::Routes.empty?
|
179
133
|
end
|
134
|
+
|
135
|
+
module TemplateIsolationExtensions
|
136
|
+
def file_exists?(ignore); true; end
|
137
|
+
|
138
|
+
def render_file(*args)
|
139
|
+
@first_render ||= args[0] unless args[0] =~ /^layouts/
|
140
|
+
end
|
141
|
+
|
142
|
+
# Rails 2.2
|
143
|
+
def _pick_template(*args)
|
144
|
+
@_first_render ||= args[0] unless args[0] =~ /^layouts/
|
145
|
+
PickedTemplate.new
|
146
|
+
end
|
147
|
+
|
148
|
+
def render(*args)
|
149
|
+
if @_rendered
|
150
|
+
opts = args[0]
|
151
|
+
(@_rendered[:template] ||= opts[:file]) if opts[:file]
|
152
|
+
(@_rendered[:partials][opts[:partial]] += 1) if opts[:partial]
|
153
|
+
else
|
154
|
+
super
|
155
|
+
end
|
156
|
+
end
|
157
|
+
end
|
180
158
|
|
181
159
|
module ControllerInstanceMethods #:nodoc:
|
182
160
|
include Spec::Rails::Example::RenderObserver
|
183
161
|
|
184
|
-
# === render(options = nil,
|
162
|
+
# === render(options = nil, extra_options={}, &block)
|
185
163
|
#
|
186
164
|
# This gets added to the controller's singleton meta class,
|
187
165
|
# allowing Controller Examples to run in two modes, freely switching
|
188
166
|
# from context to context.
|
189
|
-
def render(options=nil, &block)
|
190
|
-
|
167
|
+
def render(options=nil, extra_options={}, &block)
|
191
168
|
unless block_given?
|
192
169
|
unless integrate_views?
|
193
|
-
|
194
|
-
(class << @template.finder; self; end).class_eval do
|
195
|
-
define_method :file_exists? do; true; end
|
196
|
-
end
|
197
|
-
else
|
198
|
-
(class << @template; self; end).class_eval do
|
199
|
-
define_method :file_exists? do; true; end
|
200
|
-
end
|
201
|
-
end
|
202
|
-
(class << @template; self; end).class_eval do
|
203
|
-
define_method :render_file do |*args|
|
204
|
-
@first_render ||= args[0] unless args[0] =~ /^layouts/
|
205
|
-
@_first_render ||= args[0] unless args[0] =~ /^layouts/
|
206
|
-
end
|
207
|
-
|
208
|
-
define_method :_pick_template do |*args|
|
209
|
-
@_first_render ||= args[0] unless args[0] =~ /^layouts/
|
210
|
-
PickedTemplate.new
|
211
|
-
end
|
212
|
-
|
213
|
-
define_method :render do |*args|
|
214
|
-
if @_rendered
|
215
|
-
opts = args[0]
|
216
|
-
(@_rendered[:template] ||= opts[:file]) if opts[:file]
|
217
|
-
(@_rendered[:partials][opts[:partial]] += 1) if opts[:partial]
|
218
|
-
else
|
219
|
-
super
|
220
|
-
end
|
221
|
-
end
|
222
|
-
end
|
170
|
+
@template.extend TemplateIsolationExtensions
|
223
171
|
end
|
224
172
|
end
|
225
173
|
|
@@ -230,7 +178,7 @@ module Spec
|
|
230
178
|
if matching_stub_exists(options)
|
231
179
|
@performed_render = true
|
232
180
|
else
|
233
|
-
super
|
181
|
+
super
|
234
182
|
end
|
235
183
|
end
|
236
184
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module Spec
|
2
|
+
module Rails
|
3
|
+
module Example
|
4
|
+
module RoutingHelpers
|
5
|
+
|
6
|
+
class RouteFor
|
7
|
+
def initialize(example, options)
|
8
|
+
@example, @options = example, options
|
9
|
+
end
|
10
|
+
|
11
|
+
def ==(expected)
|
12
|
+
if Hash === expected
|
13
|
+
path, querystring = expected[:path].split('?')
|
14
|
+
path = expected.merge(:path => path)
|
15
|
+
else
|
16
|
+
path, querystring = expected.split('?')
|
17
|
+
end
|
18
|
+
params = querystring.blank? ? {} : @example.params_from_querystring(querystring)
|
19
|
+
@example.assert_recognizes(@options, path, params)
|
20
|
+
true
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Uses ActionController::Routing::Routes to generate
|
25
|
+
# the correct route for a given set of options.
|
26
|
+
# == Example
|
27
|
+
# route_for(:controller => 'registrations', :action => 'edit', :id => 1)
|
28
|
+
# => '/registrations/1;edit'
|
29
|
+
def route_for(options)
|
30
|
+
RouteFor.new(self, options)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Uses ActionController::Routing::Routes to parse
|
34
|
+
# an incoming path so the parameters it generates can be checked
|
35
|
+
# == Example
|
36
|
+
# params_from(:get, '/registrations/1/edit')
|
37
|
+
# => :controller => 'registrations', :action => 'edit', :id => 1
|
38
|
+
def params_from(method, path)
|
39
|
+
ensure_that_routes_are_loaded
|
40
|
+
path, querystring = path.split('?')
|
41
|
+
params = ActionController::Routing::Routes.recognize_path(path, :method => method)
|
42
|
+
querystring.blank? ? params : params.merge(params_from_querystring(querystring))
|
43
|
+
end
|
44
|
+
|
45
|
+
def params_from_querystring(querystring) # :nodoc:
|
46
|
+
params = {}
|
47
|
+
querystring.split('&').each do |piece|
|
48
|
+
key, value = piece.split('=')
|
49
|
+
params[key.to_sym] = value
|
50
|
+
end
|
51
|
+
params
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -119,7 +119,7 @@ module Spec
|
|
119
119
|
# See Spec::Rails::Example::ViewExampleGroup for more information.
|
120
120
|
def render(*args)
|
121
121
|
options = Hash === args.last ? args.pop : {}
|
122
|
-
options[:template] = args.first.to_s unless args.empty?
|
122
|
+
options[:template] = args.first.to_s.sub(/^\//,'') unless args.empty?
|
123
123
|
|
124
124
|
set_base_view_path(options)
|
125
125
|
add_helpers(options)
|
data/lib/spec/rails/example.rb
CHANGED
data/lib/spec/rails/version.rb
CHANGED
data/rspec-rails.gemspec
CHANGED
@@ -2,38 +2,38 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{rspec-rails}
|
5
|
-
s.version = "1.1.99.
|
5
|
+
s.version = "1.1.99.5"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["RSpec Development Team"]
|
9
|
-
s.date = %q{2009-02-
|
9
|
+
s.date = %q{2009-02-12}
|
10
10
|
s.description = %q{Behaviour Driven Development for Ruby on Rails.}
|
11
11
|
s.email = ["rspec-devel@rubyforge.org"]
|
12
12
|
s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "TODO.txt", "Upgrade.txt", "generators/rspec/templates/previous_failures.txt"]
|
13
|
-
s.files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "Rakefile", "TODO.txt", "Upgrade.txt", "features/step_definitions/people.rb", "features/support/env.rb", "features/transactions/transactions_should_rollback.feature", "generators/rspec/CHANGES", "generators/rspec/rspec_generator.rb", "generators/rspec/templates/previous_failures.txt", "generators/rspec/templates/rcov.opts", "generators/rspec/templates/rspec.rake", "generators/rspec/templates/script/autospec", "generators/rspec/templates/script/spec", "generators/rspec/templates/script/spec_server", "generators/rspec/templates/spec.opts", "generators/rspec/templates/spec_helper.rb", "generators/rspec_controller/USAGE", "generators/rspec_controller/rspec_controller_generator.rb", "generators/rspec_controller/templates/controller_spec.rb", "generators/rspec_controller/templates/helper_spec.rb", "generators/rspec_controller/templates/view_spec.rb", "generators/rspec_default_values.rb", "generators/rspec_model/USAGE", "generators/rspec_model/rspec_model_generator.rb", "generators/rspec_model/templates/model_spec.rb", "generators/rspec_scaffold/rspec_scaffold_generator.rb", "generators/rspec_scaffold/templates/controller_spec.rb", "generators/rspec_scaffold/templates/edit_erb_spec.rb", "generators/rspec_scaffold/templates/helper_spec.rb", "generators/rspec_scaffold/templates/index_erb_spec.rb", "generators/rspec_scaffold/templates/new_erb_spec.rb", "generators/rspec_scaffold/templates/routing_spec.rb", "generators/rspec_scaffold/templates/show_erb_spec.rb", "init.rb", "lib/autotest/discover.rb", "lib/autotest/rails_rspec.rb", "lib/spec/rails.rb", "lib/spec/rails/example.rb", "lib/spec/rails/example/assigns_hash_proxy.rb", "lib/spec/rails/example/controller_example_group.rb", "lib/spec/rails/example/cookies_proxy.rb", "lib/spec/rails/example/functional_example_group.rb", "lib/spec/rails/example/helper_example_group.rb", "lib/spec/rails/example/model_example_group.rb", "lib/spec/rails/example/render_observer.rb", "lib/spec/rails/example/view_example_group.rb", "lib/spec/rails/extensions.rb", "lib/spec/rails/extensions/action_controller/rescue.rb", "lib/spec/rails/extensions/action_controller/test_response.rb", "lib/spec/rails/extensions/action_view/base.rb", "lib/spec/rails/extensions/active_record/base.rb", "lib/spec/rails/extensions/active_support/test_case.rb", "lib/spec/rails/extensions/spec/matchers/have.rb", "lib/spec/rails/extensions/spec/runner/configuration.rb", "lib/spec/rails/interop/testcase.rb", "lib/spec/rails/matchers.rb", "lib/spec/rails/matchers/ar_be_valid.rb", "lib/spec/rails/matchers/assert_select.rb", "lib/spec/rails/matchers/change.rb", "lib/spec/rails/matchers/have_text.rb", "lib/spec/rails/matchers/include_text.rb", "lib/spec/rails/matchers/redirect_to.rb", "lib/spec/rails/matchers/render_template.rb", "lib/spec/rails/mocks.rb", "lib/spec/rails/spec_server.rb", "lib/spec/rails/story_adapter.rb", "lib/spec/rails/version.rb", "rspec-rails.gemspec", "spec/autotest/mappings_spec.rb", "spec/rails_suite.rb", "spec/resources/controllers/action_view_base_spec_controller.rb", "spec/resources/controllers/application.rb", "spec/resources/controllers/controller_spec_controller.rb", "spec/resources/controllers/redirect_spec_controller.rb", "spec/resources/controllers/render_spec_controller.rb", "spec/resources/controllers/rjs_spec_controller.rb", "spec/resources/helpers/addition_helper.rb", "spec/resources/helpers/explicit_helper.rb", "spec/resources/helpers/more_explicit_helper.rb", "spec/resources/helpers/plugin_application_helper.rb", "spec/resources/helpers/view_spec_helper.rb", "spec/resources/models/animal.rb", "spec/resources/models/person.rb", "spec/resources/models/thing.rb", "spec/resources/views/controller_spec/_partial.rhtml", "spec/resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_the_assigns_hash.rhtml", "spec/resources/views/controller_spec/action_with_errors_in_template.rhtml", "spec/resources/views/controller_spec/action_with_template.rhtml", "spec/resources/views/layouts/application.rhtml", "spec/resources/views/layouts/simple.rhtml", "spec/resources/views/objects/_object.html.erb", "spec/resources/views/render_spec/_a_partial.rhtml", "spec/resources/views/render_spec/action_with_alternate_layout.rhtml", "spec/resources/views/render_spec/some_action.html.erb", "spec/resources/views/render_spec/some_action.js.rjs", "spec/resources/views/render_spec/some_action.rjs", "spec/resources/views/rjs_spec/_replacement_partial.rhtml", "spec/resources/views/rjs_spec/hide_div.rjs", "spec/resources/views/rjs_spec/hide_page_element.rjs", "spec/resources/views/rjs_spec/insert_html.rjs", "spec/resources/views/rjs_spec/replace.rjs", "spec/resources/views/rjs_spec/replace_html.rjs", "spec/resources/views/rjs_spec/replace_html_with_partial.rjs", "spec/resources/views/rjs_spec/visual_effect.rjs", "spec/resources/views/rjs_spec/visual_toggle_effect.rjs", "spec/resources/views/tag_spec/no_tags.rhtml", "spec/resources/views/tag_spec/single_div_with_no_attributes.rhtml", "spec/resources/views/tag_spec/single_div_with_one_attribute.rhtml", "spec/resources/views/view_spec/_partial.rhtml", "spec/resources/views/view_spec/_partial_used_twice.rhtml", "spec/resources/views/view_spec/_partial_with_local_variable.rhtml", "spec/resources/views/view_spec/_partial_with_sub_partial.rhtml", "spec/resources/views/view_spec/_spacer.rhtml", "spec/resources/views/view_spec/accessor.rhtml", "spec/resources/views/view_spec/block_helper.rhtml", "spec/resources/views/view_spec/entry_form.rhtml", "spec/resources/views/view_spec/explicit_helper.rhtml", "spec/resources/views/view_spec/foo/show.rhtml", "spec/resources/views/view_spec/implicit_helper.rhtml", "spec/resources/views/view_spec/multiple_helpers.rhtml", "spec/resources/views/view_spec/path_params.html.erb", "spec/resources/views/view_spec/should_not_receive.rhtml", "spec/resources/views/view_spec/template_with_partial.rhtml", "spec/resources/views/view_spec/template_with_partial_using_collection.rhtml", "spec/resources/views/view_spec/template_with_partial_with_array.rhtml", "spec/spec/rails/example/assigns_hash_proxy_spec.rb", "spec/spec/rails/example/configuration_spec.rb", "spec/spec/rails/example/controller_example_group_spec.rb", "spec/spec/rails/example/controller_isolation_spec.rb", "spec/spec/rails/example/cookies_proxy_spec.rb", "spec/spec/rails/example/example_group_factory_spec.rb", "spec/spec/rails/example/helper_example_group_spec.rb", "spec/spec/rails/example/model_example_group_spec.rb", "spec/spec/rails/example/shared_behaviour_spec.rb", "spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb", "spec/spec/rails/example/view_example_group_spec.rb", "spec/spec/rails/extensions/action_controller_rescue_action_spec.rb", "spec/spec/rails/extensions/action_view_base_spec.rb", "spec/spec/rails/extensions/active_record_spec.rb", "spec/spec/rails/interop/testcase_spec.rb", "spec/spec/rails/matchers/ar_be_valid_spec.rb", "spec/spec/rails/matchers/assert_select_spec.rb", "spec/spec/rails/matchers/errors_on_spec.rb", "spec/spec/rails/matchers/have_text_spec.rb", "spec/spec/rails/matchers/include_text_spec.rb", "spec/spec/rails/matchers/redirect_to_spec.rb", "spec/spec/rails/matchers/render_template_spec.rb", "spec/spec/rails/matchers/should_change_spec.rb", "spec/spec/rails/mocks/ar_classes.rb", "spec/spec/rails/mocks/mock_model_spec.rb", "spec/spec/rails/mocks/stub_model_spec.rb", "spec/spec/rails/sample_modified_fixture.rb", "spec/spec/rails/sample_spec.rb", "spec/spec/rails/spec_server_spec.rb", "spec/spec/rails/spec_spec.rb", "spec/spec_helper.rb"]
|
13
|
+
s.files = ["History.txt", "License.txt", "Manifest.txt", "README.txt", "Rakefile", "TODO.txt", "Upgrade.txt", "features/step_definitions/people.rb", "features/support/env.rb", "features/transactions/transactions_should_rollback.feature", "generators/rspec/CHANGES", "generators/rspec/rspec_generator.rb", "generators/rspec/templates/previous_failures.txt", "generators/rspec/templates/rcov.opts", "generators/rspec/templates/rspec.rake", "generators/rspec/templates/script/autospec", "generators/rspec/templates/script/spec", "generators/rspec/templates/script/spec_server", "generators/rspec/templates/spec.opts", "generators/rspec/templates/spec_helper.rb", "generators/rspec_controller/USAGE", "generators/rspec_controller/rspec_controller_generator.rb", "generators/rspec_controller/templates/controller_spec.rb", "generators/rspec_controller/templates/helper_spec.rb", "generators/rspec_controller/templates/view_spec.rb", "generators/rspec_default_values.rb", "generators/rspec_model/USAGE", "generators/rspec_model/rspec_model_generator.rb", "generators/rspec_model/templates/model_spec.rb", "generators/rspec_scaffold/rspec_scaffold_generator.rb", "generators/rspec_scaffold/templates/controller_spec.rb", "generators/rspec_scaffold/templates/edit_erb_spec.rb", "generators/rspec_scaffold/templates/helper_spec.rb", "generators/rspec_scaffold/templates/index_erb_spec.rb", "generators/rspec_scaffold/templates/new_erb_spec.rb", "generators/rspec_scaffold/templates/routing_spec.rb", "generators/rspec_scaffold/templates/show_erb_spec.rb", "init.rb", "lib/autotest/discover.rb", "lib/autotest/rails_rspec.rb", "lib/spec/rails.rb", "lib/spec/rails/example.rb", "lib/spec/rails/example/assigns_hash_proxy.rb", "lib/spec/rails/example/controller_example_group.rb", "lib/spec/rails/example/cookies_proxy.rb", "lib/spec/rails/example/functional_example_group.rb", "lib/spec/rails/example/helper_example_group.rb", "lib/spec/rails/example/model_example_group.rb", "lib/spec/rails/example/render_observer.rb", "lib/spec/rails/example/routing_helpers.rb", "lib/spec/rails/example/view_example_group.rb", "lib/spec/rails/extensions.rb", "lib/spec/rails/extensions/action_controller/rescue.rb", "lib/spec/rails/extensions/action_controller/test_response.rb", "lib/spec/rails/extensions/action_view/base.rb", "lib/spec/rails/extensions/active_record/base.rb", "lib/spec/rails/extensions/active_support/test_case.rb", "lib/spec/rails/extensions/spec/matchers/have.rb", "lib/spec/rails/extensions/spec/runner/configuration.rb", "lib/spec/rails/interop/testcase.rb", "lib/spec/rails/matchers.rb", "lib/spec/rails/matchers/ar_be_valid.rb", "lib/spec/rails/matchers/assert_select.rb", "lib/spec/rails/matchers/change.rb", "lib/spec/rails/matchers/have_text.rb", "lib/spec/rails/matchers/include_text.rb", "lib/spec/rails/matchers/redirect_to.rb", "lib/spec/rails/matchers/render_template.rb", "lib/spec/rails/mocks.rb", "lib/spec/rails/spec_server.rb", "lib/spec/rails/story_adapter.rb", "lib/spec/rails/version.rb", "rspec-rails.gemspec", "spec/autotest/mappings_spec.rb", "spec/rails_suite.rb", "spec/resources/controllers/action_view_base_spec_controller.rb", "spec/resources/controllers/application.rb", "spec/resources/controllers/controller_spec_controller.rb", "spec/resources/controllers/redirect_spec_controller.rb", "spec/resources/controllers/render_spec_controller.rb", "spec/resources/controllers/rjs_spec_controller.rb", "spec/resources/helpers/addition_helper.rb", "spec/resources/helpers/explicit_helper.rb", "spec/resources/helpers/more_explicit_helper.rb", "spec/resources/helpers/plugin_application_helper.rb", "spec/resources/helpers/view_spec_helper.rb", "spec/resources/models/animal.rb", "spec/resources/models/person.rb", "spec/resources/models/thing.rb", "spec/resources/views/controller_spec/_partial.rhtml", "spec/resources/views/controller_spec/action_setting_flash_after_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_flash_before_session_reset.rhtml", "spec/resources/views/controller_spec/action_setting_the_assigns_hash.rhtml", "spec/resources/views/controller_spec/action_with_errors_in_template.rhtml", "spec/resources/views/controller_spec/action_with_template.rhtml", "spec/resources/views/layouts/application.rhtml", "spec/resources/views/layouts/simple.rhtml", "spec/resources/views/objects/_object.html.erb", "spec/resources/views/render_spec/_a_partial.rhtml", "spec/resources/views/render_spec/action_with_alternate_layout.rhtml", "spec/resources/views/render_spec/some_action.html.erb", "spec/resources/views/render_spec/some_action.js.rjs", "spec/resources/views/render_spec/some_action.rjs", "spec/resources/views/rjs_spec/_replacement_partial.rhtml", "spec/resources/views/rjs_spec/hide_div.rjs", "spec/resources/views/rjs_spec/hide_page_element.rjs", "spec/resources/views/rjs_spec/insert_html.rjs", "spec/resources/views/rjs_spec/replace.rjs", "spec/resources/views/rjs_spec/replace_html.rjs", "spec/resources/views/rjs_spec/replace_html_with_partial.rjs", "spec/resources/views/rjs_spec/visual_effect.rjs", "spec/resources/views/rjs_spec/visual_toggle_effect.rjs", "spec/resources/views/tag_spec/no_tags.rhtml", "spec/resources/views/tag_spec/single_div_with_no_attributes.rhtml", "spec/resources/views/tag_spec/single_div_with_one_attribute.rhtml", "spec/resources/views/view_spec/_partial.rhtml", "spec/resources/views/view_spec/_partial_used_twice.rhtml", "spec/resources/views/view_spec/_partial_with_local_variable.rhtml", "spec/resources/views/view_spec/_partial_with_sub_partial.rhtml", "spec/resources/views/view_spec/_spacer.rhtml", "spec/resources/views/view_spec/accessor.rhtml", "spec/resources/views/view_spec/block_helper.rhtml", "spec/resources/views/view_spec/entry_form.rhtml", "spec/resources/views/view_spec/explicit_helper.rhtml", "spec/resources/views/view_spec/foo/show.rhtml", "spec/resources/views/view_spec/implicit_helper.rhtml", "spec/resources/views/view_spec/multiple_helpers.rhtml", "spec/resources/views/view_spec/path_params.html.erb", "spec/resources/views/view_spec/should_not_receive.rhtml", "spec/resources/views/view_spec/template_with_partial.rhtml", "spec/resources/views/view_spec/template_with_partial_using_collection.rhtml", "spec/resources/views/view_spec/template_with_partial_with_array.rhtml", "spec/spec/rails/example/assigns_hash_proxy_spec.rb", "spec/spec/rails/example/configuration_spec.rb", "spec/spec/rails/example/controller_example_group_spec.rb", "spec/spec/rails/example/controller_isolation_spec.rb", "spec/spec/rails/example/cookies_proxy_spec.rb", "spec/spec/rails/example/example_group_factory_spec.rb", "spec/spec/rails/example/helper_example_group_spec.rb", "spec/spec/rails/example/model_example_group_spec.rb", "spec/spec/rails/example/shared_behaviour_spec.rb", "spec/spec/rails/example/test_unit_assertion_accessibility_spec.rb", "spec/spec/rails/example/view_example_group_spec.rb", "spec/spec/rails/extensions/action_controller_rescue_action_spec.rb", "spec/spec/rails/extensions/action_view_base_spec.rb", "spec/spec/rails/extensions/active_record_spec.rb", "spec/spec/rails/interop/testcase_spec.rb", "spec/spec/rails/matchers/ar_be_valid_spec.rb", "spec/spec/rails/matchers/assert_select_spec.rb", "spec/spec/rails/matchers/errors_on_spec.rb", "spec/spec/rails/matchers/have_text_spec.rb", "spec/spec/rails/matchers/include_text_spec.rb", "spec/spec/rails/matchers/redirect_to_spec.rb", "spec/spec/rails/matchers/render_template_spec.rb", "spec/spec/rails/matchers/should_change_spec.rb", "spec/spec/rails/mocks/ar_classes.rb", "spec/spec/rails/mocks/mock_model_spec.rb", "spec/spec/rails/mocks/stub_model_spec.rb", "spec/spec/rails/sample_modified_fixture.rb", "spec/spec/rails/sample_spec.rb", "spec/spec/rails/spec_server_spec.rb", "spec/spec/rails/spec_spec.rb", "spec/spec_helper.rb"]
|
14
14
|
s.has_rdoc = true
|
15
15
|
s.homepage = %q{http://rspec.info/}
|
16
16
|
s.rdoc_options = ["--main", "README.txt"]
|
17
17
|
s.require_paths = ["lib"]
|
18
18
|
s.rubyforge_project = %q{rspec}
|
19
19
|
s.rubygems_version = %q{1.3.1}
|
20
|
-
s.summary = %q{rspec-rails 1.1.99.
|
20
|
+
s.summary = %q{rspec-rails 1.1.99.5}
|
21
21
|
|
22
22
|
if s.respond_to? :specification_version then
|
23
23
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
24
24
|
s.specification_version = 2
|
25
25
|
|
26
26
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
27
|
-
s.add_runtime_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.
|
27
|
+
s.add_runtime_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.5"])
|
28
28
|
s.add_runtime_dependency(%q<rack>, [">= 0.4.0"])
|
29
29
|
s.add_development_dependency(%q<cucumber>, [">= 0.1.13"])
|
30
30
|
s.add_development_dependency(%q<hoe>, [">= 1.8.3"])
|
31
31
|
else
|
32
|
-
s.add_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.
|
32
|
+
s.add_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.5"])
|
33
33
|
s.add_dependency(%q<rack>, [">= 0.4.0"])
|
34
34
|
end
|
35
35
|
else
|
36
|
-
s.add_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.
|
36
|
+
s.add_dependency(%q<dchelimsky-rspec>, ["= 1.1.99.5"])
|
37
37
|
s.add_dependency(%q<rack>, [">= 0.4.0"])
|
38
38
|
end
|
39
39
|
end
|
@@ -87,6 +87,12 @@ class ControllerSpecController < ActionController::Base
|
|
87
87
|
render :text => ""
|
88
88
|
end
|
89
89
|
|
90
|
+
def action_with_two_arg_render
|
91
|
+
render :update, :status => 404 do |page|
|
92
|
+
page.visual_effect :highlight, 'user_list'
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
90
96
|
class RescuedError < Exception; end
|
91
97
|
class UnRescuedError < Exception; end
|
92
98
|
|
@@ -5,14 +5,27 @@ describe "AssignsHashProxy" do
|
|
5
5
|
@object.assigns
|
6
6
|
end
|
7
7
|
|
8
|
+
class Foo
|
9
|
+
def initialize(bar)
|
10
|
+
@bar = bar
|
11
|
+
end
|
12
|
+
attr_reader :bar
|
13
|
+
|
14
|
+
def ==(other)
|
15
|
+
self.bar == other.bar
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
8
19
|
before(:each) do
|
9
20
|
@object = Class.new do
|
10
|
-
|
21
|
+
def assigns; @assigns ||= Hash.new; end
|
11
22
|
end.new
|
12
|
-
@
|
13
|
-
|
14
|
-
|
15
|
-
|
23
|
+
@proxy = Spec::Rails::Example::AssignsHashProxy.new(self) {@object}
|
24
|
+
end
|
25
|
+
|
26
|
+
it "doesn't wig out on objects that define their own == method" do
|
27
|
+
@object.assigns['foo'] = Foo.new(1)
|
28
|
+
@proxy['foo'].should == Foo.new(1)
|
16
29
|
end
|
17
30
|
|
18
31
|
it "should set ivars on object using string" do
|
@@ -8,14 +8,16 @@ require 'controller_spec_controller'
|
|
8
8
|
|
9
9
|
accesses_configured_helper_methods
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
describe "with an implicit subject" do
|
12
|
+
it "uses the controller" do
|
13
|
+
subject.should == controller
|
14
|
+
end
|
13
15
|
end
|
14
16
|
|
15
17
|
describe "with a specified subject" do
|
16
18
|
subject { 'specified' }
|
17
19
|
|
18
|
-
it "
|
20
|
+
it "uses the specified subject" do
|
19
21
|
subject.should == 'specified'
|
20
22
|
end
|
21
23
|
end
|
@@ -272,6 +274,13 @@ require 'controller_spec_controller'
|
|
272
274
|
get 'action_with_skipped_before_filter'
|
273
275
|
}.should_not raise_error
|
274
276
|
end
|
277
|
+
|
278
|
+
describe "extending #render on a controller" do
|
279
|
+
it "supports two arguments (as with rails 2.2)" do
|
280
|
+
get 'action_with_two_arg_render'
|
281
|
+
response.body.should =~ /new Effect\.Highlight/
|
282
|
+
end
|
283
|
+
end
|
275
284
|
end
|
276
285
|
|
277
286
|
describe "Given a controller spec for RedirectSpecController running in #{mode} mode", :type => :controller do
|
@@ -324,8 +333,6 @@ end
|
|
324
333
|
end
|
325
334
|
end
|
326
335
|
|
327
|
-
# # FIXME - not sure why this fails against 2.0.5, since generated controller
|
328
|
-
# # specs that use the implicit controller pass.
|
329
336
|
describe ControllerSpecController, :type => :controller do
|
330
337
|
it "should use the controller passed to #describe" do
|
331
338
|
end
|
@@ -212,8 +212,8 @@ describe "should have_tag", :type => :controller do
|
|
212
212
|
response.should have_tag("form[action=test]") { |form|
|
213
213
|
with_tag("input[type=text][name=email]")
|
214
214
|
}
|
215
|
-
response.should have_tag("form[action=
|
216
|
-
with_tag("input[type=text][name=
|
215
|
+
response.should have_tag("form[action=other]") { |form|
|
216
|
+
with_tag("input[type=text][name=other_input]")
|
217
217
|
}
|
218
218
|
|
219
219
|
lambda {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dchelimsky-rspec-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.99.
|
4
|
+
version: 1.1.99.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- RSpec Development Team
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-02-
|
12
|
+
date: 2009-02-12 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - "="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.1.99.
|
22
|
+
version: 1.1.99.5
|
23
23
|
version:
|
24
24
|
- !ruby/object:Gem::Dependency
|
25
25
|
name: rack
|
@@ -95,6 +95,7 @@ files:
|
|
95
95
|
- lib/spec/rails/example/helper_example_group.rb
|
96
96
|
- lib/spec/rails/example/model_example_group.rb
|
97
97
|
- lib/spec/rails/example/render_observer.rb
|
98
|
+
- lib/spec/rails/example/routing_helpers.rb
|
98
99
|
- lib/spec/rails/example/view_example_group.rb
|
99
100
|
- lib/spec/rails/extensions.rb
|
100
101
|
- lib/spec/rails/extensions/action_controller/rescue.rb
|
@@ -234,6 +235,6 @@ rubyforge_project: rspec
|
|
234
235
|
rubygems_version: 1.2.0
|
235
236
|
signing_key:
|
236
237
|
specification_version: 2
|
237
|
-
summary: rspec-rails 1.1.99.
|
238
|
+
summary: rspec-rails 1.1.99.5
|
238
239
|
test_files: []
|
239
240
|
|