Hi, rspec version: 2.4.0
Given this helper - snippet: ---- def participants_summary table table.participants.collect{|participant| show_short_participant_link(participant) }.join(', ') end def show_table_link(table) link_to(table.name, :action => :show, :id => table) end --- and this spec --- describe 'participants_summary' do let(:table) { new_table :participants => [ new_participant(:id=> 1, :name => 'name1'), new_participant(:id=> 2, :name => 'name2') ] } it "includes the names of all participants" do participants = participants_summary table participants.should include(link_to('name1', :controller=>'person',:action=>'show',:id=>1)) participants.should include(link_to('name2', :controller=>'person',:action=>'show',:id=>2)) end end --- The spec passes, but the real output is escaped. the helper should look like this ---- def participants_summary table raw table.participants.collect{|participant| show_short_participant_link(participant) }.join(', ') end --- I think (but i am not sure) that rspec should mimic Rails' behaviour in escaping all html from such helpers unless you put 'raw' in front. I can fix this in my case doing: render :text => participants_summary(table) rendered.should include(link_to('name1', :controller=.......etc This actually appears to use the rails3 rendering engine, or at least it fails if i remove the 'raw' call. Sadly, theconsequence of this is inserting something like this for not all but quite a few helpers. Does anybody know of another way of dealing with this. Do you think that this render => :text call should be (an implicitly or explicit) part of the HelperExampleGroup? I have put it in like this in one of my spec/support -ing files module HelperRenderer # renders the text as view so that rails view rendering magic # (like implicit HTML escaping) can take place def render_helper(text) render :text => text rendered end end module RSpec::Rails::HelperExampleGroup include HelperRenderer end _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users