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 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.4"],["rack",">=0.4.0"]]
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] == false
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, deprecated_status_or_extra_options = nil, &block)
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
- if @template.respond_to?(:finder)
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(options, &block)
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)
@@ -1,5 +1,6 @@
1
1
  dir = File.dirname(__FILE__)
2
2
 
3
+ require 'spec/rails/example/routing_helpers'
3
4
  require 'spec/rails/example/assigns_hash_proxy'
4
5
  require "spec/rails/example/render_observer"
5
6
  require "spec/rails/example/model_example_group"
@@ -5,7 +5,7 @@ module Spec
5
5
  MAJOR = 1
6
6
  MINOR = 1
7
7
  TINY = 99
8
- MINESCULE = 4
8
+ MINESCULE = 5
9
9
 
10
10
  STRING = [MAJOR, MINOR, TINY, MINESCULE].compact.join('.')
11
11
 
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.4"
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-11}
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.4}
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.4"])
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.4"])
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.4"])
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
- attr_accessor :assigns
21
+ def assigns; @assigns ||= Hash.new; end
11
22
  end.new
12
- @object.assigns = Hash.new
13
- @proxy = Spec::Rails::Example::AssignsHashProxy.new self do
14
- @object
15
- end
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
- it "should use the controller as the implicit subject" do
12
- subject.should == controller
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 "should use the specified subject instead of the controller" do
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=test]") { |form|
216
- with_tag("input[type=text][name=email]")
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
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-11 00:00:00 -08:00
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.4
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.4
238
+ summary: rspec-rails 1.1.99.5
238
239
  test_files: []
239
240