On Jun 12, 2011, at 12:52 PM, Patrick J. Collins wrote:

>> What do you mean by "on target"? Are you asking if the implementations are
>> the same, or similar? Or are you asking if attest meets the same goals as
>> RSpec?
> 
> More specifically, I meant the way he implements describe blocks and the 
> should
> method...
> 
> It's difficult for me to tell from glancing through the actual RSpec code..
> For example I am confused by the implementation of 'should', since it calls:
> __should_for_example_group__
> 
> But prior to that, it appears that __should_for_example_group__ is an alias 
> for
> should, which looks to me like it would be recursively calling itself.

The code you're looking at is an extension to support one liners like this:

it { should do_something }

The original definition of should is in 
https://github.com/rspec/rspec-expectations/blob/master/lib/rspec/expectations/extensions/kernel.rb,
 which is what adds the 'should' method to every object.

> In that post's example, their definition of should simply returns self as they
> described "it's just syntactic sugar to make the tests read better", but from
> looking at RSpec's code, it seems like there's a lot more going on, but I am
> not quite seeing the big picture...

RSpec's 'should' actually does something: it accepts a matcher and then tells 
the matcher to "match" against self. So no, they are not doing the same thing.

I'm not really sure what you're trying to evaluate here, but feel free to ask 
if you have any more specific questions.

Cheers,
David



_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to