[rspec-users] testing instance variables that are set inside views

Patrick Ritchie pritchie at videotron.ca
Wed Jul 4 11:35:03 EDT 2007


aslak hellesoy wrote:
> On 7/3/07, Patrick Ritchie <pritchie at videotron.ca> wrote:
>   
>>  Hi,
>>
>>  I think @header may not be an implementation detail in this case.
>>
>>  If your layout looks like this:
>>
>>  ...
>>  <head>
>>  <title><%= @header || 'Default Title' %></title>
>>  </head>
>>  ...
>>
>>  And the view we are testing looks like this:
>>
>>  ...
>>  <h1><%= @header = 'Specific Title'></h1>
>>  ...
>>
>>  Then setting @header is an essential behavior for the view spec.
>>
>>  Or am I missing something?
>>
>>     
>
> Before I can answer about how to test this with RSpec, I need to
> understand what's going on in the code. Isn't the head part of the
> layout evaluated before the body? If that's the case, what's the point
> of assigning the @header variable in the view? It wouldn't change the
> title anyway
The layout is evaluated after the view so the above code is a useful way 
to include some piece of data in the head without having to initialize 
it in the controller. Very handy for things like head/title or view 
specific onload js etc...

Cheers!
Patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/rspec-users/attachments/20070704/4b0e5cf3/attachment.html 


More information about the rspec-users mailing list