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.
0a496328d87dbf5d6a890bdb0baa609d?d=identicon&s=25 Emmanuel Pirsch (epirsch)
on 2008-11-13 14: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!
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2008-11-13 14:44
(Received via mailing list)
On Thu, Nov 13, 2008 at 7:38 AM, Emmanuel Pirsch <emmanuel@pirsch.org>
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?
E7cff3cfd41c495e1012227d7dc24202?d=identicon&s=25 Luis Lavena (luislavena)
on 2008-11-13 14:45
(Received via mailing list)
On Thu, Nov 13, 2008 at 10:38 AM, Emmanuel Pirsch <emmanuel@pirsch.org>
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 Lavena
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
Cdf378de2284d8acf137122e541caa28?d=identicon&s=25 Matt Wynne (mattwynne)
on 2008-11-13 14:46
(Received via mailing list)
On 13 Nov 2008, at 13:42, David Chelimsky 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
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2008-11-13 14:47
(Received via mailing list)
On Thu, Nov 13, 2008 at 7:44 AM, Matt Wynne <matt@mattwynne.net> 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.
0a496328d87dbf5d6a890bdb0baa609d?d=identicon&s=25 Emmanuel Pirsch (epirsch)
on 2008-11-13 14: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!
5d38ab152e1e3e219512a9859fcd93af?d=identicon&s=25 David Chelimsky (Guest)
on 2008-11-13 15:15
(Received via mailing list)
On Thu, Nov 13, 2008 at 7:45 AM, Emmanuel Pirsch <emmanuel@pirsch.org>
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.