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 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