Describe 'a spec for a helper that takes a block' i.should need_to_do_this?


#1

i have a helper like this:

def swf_upload_tag( upload_url, options = {}, &block)
# irelavant stuff removed
button_text = capture(&block)
unless button_text.blank?
options.merge!( :button_text => button_text )
end
# irelavant stuff removed
concat( content_tag( :div, ‘’, :id => opts
[:button_placeholder_id] ) <<
update_page_tag do |page|
page.call “SWFUpload.init”, recursive_options_for_javascript
(opts)
end, block.binding
)
end

to spec it i had to do this in my before block:

  before do
    helper.output_buffer = '' # wouldn't empty string make a good

default?
helper.instance_variable_set(:@template, helper ) # i probably
shouldn’t have to do this.
end

otherwise capture_helper.rb and prototype_helper.rb would raise.
these things seem to be reasonable defaults: the output_buffer a blank
screen, and @template set to the context of the helper…

what do you all think? is there some reason not to always set these?