[rspec-users] Controller/View User Agent Strings

s.ross
Tue, 13 Feb 2007 23:42:32 -0000

I have conditional logic in my view (I know, obligatory slap on the
wrist) so that an add-on stylesheet is linked in for IE users. The
code is:

     <%= stylesheet_link_tag(''ie'', :media =>
''screen'') if
request.user_agent && request.user_agent =~ /msie/i %>

The spec is:

   specify "should display index page" do
     get :index
     response.should_be_success
   end

There is no user_agent in the request object passed to the view. Now,
I can change all of this by simply:

setup do
     request.stub!(:user_agent).and_return(''msie'')
end

but I was wondering if there was a better way?

Thanks,

Steve