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

I didn't think ActionController exposed a "layout" property. When I went
to try calling controller.layout on some existing specs I got an undefined
method 'layout' exception. Did you modify ActionController to expose that
property?

Steve

_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to