On 6 Sep 2010, at 15:39, David Chelimsky wrote:
> On Sep 6, 2010, at 9:20 AM, Brennon Bortz wrote:
>
>> On 6 Sep 2010, at 14:55, David Chelimsky wrote:
>>
>>> On Sep 6, 2010, at 8:15 AM, Brennon Bortz wrote:
>>>
>>>> I'm developing another view test. Relevant example:
>>>>
>>>> it "should show the item's url" do
>>>> rendered.should contain("http://www.example.com")
>>>> end
>>>>
>>>> I'm calling render in a before block. I have other similar examples on
>>>> the page in which I'm simply using:
>>>>
>>>> rendered.should =~ "..."
>>>>
>>>> These all work fine, as does the first example I posted here. However,
>>>> when trying to express that first example with a regex (which I prefer),
>>>> the example fails:
>>>>
>>>> it "should show the item's url" do
>>>> rendered.should =~ /http:\/\/www.example.com/
>>>> end
>>>>
>>>> Am I missing something?
>>
>>
>> Failures:
>> 1) widgets/show.html.erb widget details should show the widget's url
>> Failure/Error: rendered.should =~ /http:\/\/www.example.com/
>> expected: /http:\/\/www.example.com/,
>> got: "http://www.example.com" (using =~)
>>
>> I realise this is because of the escaped HTML output, but I'm not quite sure
>> what to do about it...
>
> I think contain is your best bet here, unless you actually want to change the
> expectation so it includes the escaped characters.
I've got no problem doing that. On a related note, though, is there any
possibility that Capybara matchers will ever be available in view/helper
examples? should_contain is a little bit open-ended for my taste.
Thanks,
BB
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users