On Tue, Feb 10, 2009 at 10:49 PM, David Chelimsky <dchelimsky at gmail.com> wrote:
> On Tue, Feb 10, 2009 at 2:02 PM, Nathan Wilmes <nathan at pivotallabs.com> wrote:
>> Hi folks,
>>>> I'm currently in the process of upgrading an old Rails project to the Rails
>> 2.2.2 and the trunk of RSpec, and ran into several issues with rspec-rails.
>> I've come up with workarounds for all of them, but I wanted to report them
>> to hopefully get them into better shape for other folks.
>>>> (1) config.include doesn't work on controller, helper, or view specs if no
>> :type parameter is required.
>>>> config.include sends an include to RailsExampleGroup. Unfortunately, these
>> specs no longer extend RailsExampleGroup.
>> What are they extending? Are they a custom class? You can resolve this
> by making your custom class the default:
>> Spec::Example::ExampleGroupFactory.default(MyCustomBaseExampleGroupClass)
Nevermind that response - after discussing a bit with Zach Dennis, he
straightened me out. Fix is in (along w/ specs, of course):
http://github.com/dchelimsky/rspec-rails/commit/872149262adbf911b6dd1f6c07805f4bdd3b5939
>> Here's my monkey patch:
>> module Spec
>> module Runner
>> class Configuration
>> def get_type_from_options(options)
>> options[:type] || options[:behaviour_type] || [:controller, :model,
>> :view, :helper, nil]
>> end
>> end
>> end
>> end
>>>> (2) The render override for RSpec controllers only takes one argument. This
>> means that any controller using two argument forms will fail.
>>>> Our biggest use case for the two-argument controller form is this: render
>> :update, :status => 404 do {}
>> This case is still allowable and not deprecated in Rails 2.2.2.
>> I can reinstate the extra arg. Are you looking for it to be handled in
> some way? Or just to not blow up?
>>> (3) with_tag is completely broken, as it tries to use the outer class as the
>> subject of 'with_tag', rather than the have_tag matcher that it lives
>> inside.
>> Was it working before and the upgrade broke existing specs? Or is this
> a general observation?
>>> (4) assigns(:xxx) will give really bad errors if your class doesn't happen
>> to define == in such a way that it can equate to FalseClass.
>> Can you provide an example?
>>>>> Let me know if you'd like examples or extra explanation.
>> Thanks for the insights thus far.
>> Cheers,
> David
>>> =N
>>>> _______________________________________________
>> rspec-users mailing list
>>rspec-users at rubyforge.org>>http://rubyforge.org/mailman/listinfo/rspec-users>>>