[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Accessing helper module constants in rspec contexts.

peter.havens

2/8/2007 12:06:00 AM

I'm trying to learn rspec, and came across something unexpected with
the following code. A little googling hasn't turned any answers up so
far...

module TestHelper
CONSTANT = "constant"
end

context "A context" do
include TestHelper

specify "should allow unqualified access to included constants" do
CONSTANT.should_eql "constant"
end

specify "should allow qualified access to all constants" do
TestHelper::CONSTANT.should_eql "constant"
end
end

....I would expect both specifications to pass since I think that's the
way Ruby itself behaves when using include (you get direct access to
constants in the local scope when included, right?), but the
unqualified specification fails. Is this a bug in rspec, a "feature"
of rspec, a mistake on my part, or something else?

3 Answers

David Chelimsky

2/8/2007 4:10:00 AM

0

On 2/7/07, Tekhne <peter.havens@gmail.com> wrote:
> I'm trying to learn rspec, and came across something unexpected with
> the following code. A little googling hasn't turned any answers up so
> far...
>
> module TestHelper
> CONSTANT = "constant"
> end
>
> context "A context" do
> include TestHelper
>
> specify "should allow unqualified access to included constants" do
> CONSTANT.should_eql "constant"
> end
>
> specify "should allow qualified access to all constants" do
> TestHelper::CONSTANT.should_eql "constant"
> end
> end
>
> ...I would expect both specifications to pass since I think that's the
> way Ruby itself behaves when using include (you get direct access to
> constants in the local scope when included, right?), but the
> unqualified specification fails. Is this a bug in rspec, a "feature"
> of rspec, a mistake on my part, or something else?

It's a known bug in rspec:

http://rubyforge.org/tracker/index.php?func=detail&aid=7613&group_id=797&...

Thanks for posting this - you may have actually shed some light on the
problem by posing the qualified and unqualified references.

Cheers,
David

>
>
>

peter.havens

2/8/2007 4:02:00 PM

0

On Feb 7, 9:10 pm, "David Chelimsky" <dchelim...@gmail.com> wrote:
>
> It's a known bug in rspec:
>
> http://rubyforge.org/tracker/index.php?func=detail&aid=7613&......

Ah, okay. Thanks a lot for the pointer. I should have searched the
tracker specifically. Next time =]

Cheers,
Pete

David Chelimsky

2/8/2007 6:40:00 PM

0

On 2/8/07, Tekhne <peter.havens@gmail.com> wrote:
> On Feb 7, 9:10 pm, "David Chelimsky" <dchelim...@gmail.com> wrote:
> >
> > It's a known bug in rspec:
> >
> > http://rubyforge.org/tracker/index.php?func=detail&aid=7613&......
>
> Ah, okay. Thanks a lot for the pointer. I should have searched the
> tracker specifically. Next time =]

No problem.

Also - are you aware that there are lists specifically for rspec users
and developers? I try to keep an eye on rspec related messages on the
ruby-talk list, but the rspec lists have the eyes of a lot more people
so you might get better traction on your rspec questions there:

http://rubyforge.org/mail/?gr...

Cheers,
David

>
> Cheers,
> Pete
>
>
>