dchelimsky-rspec-rails 1.1.99.4 → 1.1.99.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
|