Forum: RSpec .with(:anything) issue

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Emmanuel P. (Guest)
on 2008-11-13 15:40
(Received via mailing list)
Hi,

I'm using a expectation like this :
repository.should_receive(:add_gem).with("test.txt", :anything)

When I run my spec, it fails with the following message :
Spec::Mocks::MockExpectationError in 'MiniGemServer should add a new gem
to
the repository after it has been uploaded'
#<MiniGemServer::Repository:0xb11164> expected :add_gem with
("test.txt",
:anything) but received it with ("test.txt",
"C:/DOCUME~1/xyzuser/LOCALS~1/Temp/RackMultipart20081113-8392-1vodbzf-0")

Shouldn't it be working? The first argument is the same and I don't
really
care about the second one as long as it is there. I also tried to
replace
:anything with :string and got the same error.

Any idea why I get this?

Thanks!
David C. (Guest)
on 2008-11-13 15:44
(Received via mailing list)
On Thu, Nov 13, 2008 at 7:38 AM, Emmanuel P. 
<removed_email_address@domain.invalid>
wrote:
> Hi,
>
> I'm using a expectation like this :
> repository.should_receive(:add_gem).with("test.txt", :anything)

Try the anything() method. Support for symbols as argument matchers
was deprecated and removed.

Are you still seeing docs somewhere that talk about using symbols?
Luis L. (Guest)
on 2008-11-13 15:45
(Received via mailing list)
On Thu, Nov 13, 2008 at 10:38 AM, Emmanuel P. 
<removed_email_address@domain.invalid>
wrote:
> "C:/DOCUME~1/xyzuser/LOCALS~1/Temp/RackMultipart20081113-8392-1vodbzf-0")
>
> Shouldn't it be working? The first argument is the same and I don't really
> care about the second one as long as it is there. I also tried to replace
> :anything with :string and got the same error.
>
> Any idea why I get this?
>

Did you tried "anything" (not a symbol) instead?

--
Luis L.
AREA 17
-
Human beings, who are almost unique in having the ability to learn from
the experience of others, are also remarkable for their apparent
disinclination to do so.
Douglas Adams
Matt W. (Guest)
on 2008-11-13 15:46
(Received via mailing list)
On 13 Nov 2008, at 13:42, David C. wrote:
> Are you still seeing docs somewhere that talk about using symbols?
I know I always go on about this (and never do anything about it) but
the symbols are still all over the docs:
http://rspec.info/documentation/mocks/message_expe...

> Argument Constraints
>
> Constraints can be placed on individual arguments which are looser
> than value
> equivalence (as above).
> :anything
>
> accepts any value for this argument, e.g.:
>
> my_mock.should_receive(:msg).with(1, :anything, "A")

cheers,
Matt
David C. (Guest)
on 2008-11-13 15:47
(Received via mailing list)
On Thu, Nov 13, 2008 at 7:44 AM, Matt W. <removed_email_address@domain.invalid> 
wrote:
>> Try the anything() method. Support for symbols as argument matchers
>> Constraints can be placed on individual arguments which are looser than
>> value
>> equivalence (as above).
>> :anything
>>
>> accepts any value for this argument, e.g.:
>>
>> my_mock.should_receive(:msg).with(1, :anything, "A")

carapola!

There is just no time for the present.

Update coming shortly.
Emmanuel P. (Guest)
on 2008-11-13 15:47
(Received via mailing list)
Great, it worked!

Here is where I found the doc which talk about using symbols :
http://rspec.info/documentation/mocks/message_expe...

Thanks!
David C. (Guest)
on 2008-11-13 16:15
(Received via mailing list)
On Thu, Nov 13, 2008 at 7:45 AM, Emmanuel P. 
<removed_email_address@domain.invalid>
wrote:
> Great, it worked!
>
> Here is where I found the doc which talk about using symbols :
> http://rspec.info/documentation/mocks/message_expe...

Fixed. Sorry for the misinformation and thanks for the heads up.

Cheers,
David
This topic is locked and can not be replied to.