Its a typo (sort of). I actually call it on response rather than  
controller, which does have the layout

   it "should use application layout" do
     do_it
     response.should use_layout("application")
   end


On Oct 22, 2007, at 8:55 PM, Steve wrote:

> On Mon, 22 Oct 2007 10:40:45 -0400, Jonathan Linowes wrote:
>
>> I'm not sure if this is what you're after but I've created this
>> custom matcher to my spec_helper.rb, then in my controller spec I can
>> say
>>
>> # custom matchers
>> #---------------------
>> class UseLayout
>>    def initialize(expected)
>>      @expected = 'layouts/' + expected
>>    end
>>    def matches?(controller)
>>      @actual = controller.layout
>>      [EMAIL PROTECTED](@expected)
>>      @actual == @expected
>>    end
>>    def failure_message
>>      return "use_layout expected [EMAIL PROTECTED], got #
>> [EMAIL PROTECTED]", @expected, @actual
>>    end
>>    def negeative_failure_message
>>      return "use_layout expected [EMAIL PROTECTED] not to equal #
>> [EMAIL PROTECTED]", @expected, @actual
>>    end
>> end
>>
>> def use_layout(expected)
>>    UseLayout.new(expected)
>> end
>
> This looked promising, but when I try calling controller.layout, I get
> "undefined method 'layout'" on otherwise working controller specs. I
> didn't think ActionController exposed a layout property. If this  
> something
> you exposed yourself?
>
> Thanks,
> Steve
>
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to