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
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users