Forum: RSpec Rails 2.2.2 Problem - button_to_function - nil.with_output_buffer

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
9099b00c244ebd4d62024176e1e585a1?d=identicon&s=25 karmacoma (Guest)
on 2009-03-09 10:46
(Received via mailing list)
Hi,
I am in the process of upgrading my rails application to be compatible
with rails 2.2.2. All is going well apart from a few remaining issues.

My problem is: I am experiencing a test failure with what seems to be
related to the "with_output_buffer" method found in "lib/action_view/
helpers/capture_helper.rb" and my use of the "button_to_function"
method.

The code itself works fine. It is simply the test itself that won't
pass due to a NoMethodError exception.

Note: I am currently using rspec & rspec-rails (1.1.99.12), although
the same problem also exists when tested with the current stable
version: 1.1.12.

So, given the following helper module:
---
module ImagesHelper
 def hide_images_button
   content_tag :div, :class => :hide_images_button do
     button_to_function "Hide Images", :id => :hide_images_button do |
page|
       page[:more_images_button].toggle
       page[:image_browser].toggle
     end
   end
 end
end
---

With the accompanying test:
---
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe ImagesHelper do
 it "should render a hide_images_button" do
   helper.hide_images_button.should have_tag('div[class=?]',
'hide_images_button') do
     with_tag('input[id=?][type=?][value=?][onclick^=?]',
'hide_images_button', 'button', 'Hide Images', "$
("more_images_button").toggle();\n$
("image_browser").toggle();;")
   end
 end
end
---

I am getting the following failure:
---
F

1)
NoMethodError in 'ImagesHelper should render a hide_images_button'
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.with_output_buffer
/home/oliver/git/greyville/app/helpers/images_helper.rb:4:in
`hide_images_button'
/home/oliver/git/greyville/app/helpers/images_helper.rb:3:in
`hide_images_button'
spec/helpers/images_helper_spec.rb:5:

Finished in 0.025206 seconds

1 example, 1 failure
---

Any bright ideas on how I can fix this issue? Your help would be much
appreciated.
Regards, Oliver Beddows.
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2009-03-09 12:54
(Received via mailing list)
On Mon, Mar 9, 2009 at 4:44 AM, karmacoma
<oliver.beddows@googlemail.com> wrote:
> pass due to a NoMethodError exception.
>     button_to_function "Hide Images", :id => :hide_images_button do |
> ---
>   end
> You have a nil object when you didn't expect it!
> ---
>
> Any bright ideas on how I can fix this issue? Your help would be much
> appreciated.

Please report bugs to http://rspec.lighthouseapp.com.

Cheers,
David
This topic is locked and can not be replied to.