On 10/22/07, David Chelimsky <[EMAIL PROTECTED]> wrote: > On 10/21/07, Steve <[EMAIL PROTECTED]> wrote: > > On Tue, 09 Oct 2007 21:12:09 +0100, Matt Patterson wrote: > > > > > It occured to me that it would be nice to have a spec that would barf > > > if I ever nuked the layout's yield (or, indeed, one of its > > > content_for yields), mainly because they're the integration point > > > between layouts and views, and we're primarily testing them in > > > isolation (a good thing...) > > > > > > I was mainly wondering if anyone had some great practices in testing > > > those integration points, and layout stuff in general, that I could > > > learn from... > > > > > > Matt > > > > Was there ever any resolution on this? This would be a *very* beneficial > > capability to have for making sure views work as expected. > > It would be awesome if you could just do this: > > $yielded = false > render "/layouts/application.html.erb" do > $yielded = true > end > $yielded.should be_true > > However, it doesn't work :( > > Basically, someone with more time on his/her hands than I needs to > figure out how to observe the yield call and verify that it happened > after the fact (as opposed to using a message expectation). > > Patches welcome!
Actually, it turns out that you can do this in a view spec: render "/path/to/my/file.html.erb", :layout => "application" and it will render with the layout. So you *could* (in theory, I haven't done this yet) do something like this: # spec/resources/views/layout_example.html.erb <div>yielded from layout</div> # spec/views/layouts/application.html.erb_spec.rb require File.dirname(__FILE__) + '/../../spec_helper' describe "/layouts/application" do it "should yield" do render "/../../spec/resources/views/layout_example.html.erb", :layout => "application" response.should have_tag('div','yielded from layout') end it "should have title" do render "/../../spec/resources/views/layout_example.html.erb", :layout => "application" response.should have_tag("div.idbar","My Killer App") end ... end _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users