On Jan 14, 2011, at 12:19 AM, Nori Hamamoto wrote:
> Hi there,
>
> I've just started using rspec and rspec-rails (both are the newest version on
> git repository).
> I met some inconsistently behavior on it method and its method.
> The following is the way to reproduce it:
>
> command line:
>
> > script/generate spec_controller product show
>
> Modify a file spec/products_controller_spec.rb like the following:
>
> require 'spec_helper'
>
> describe ProductsController do
> describe Array do
> subject { Array.new }
> it { should be_empty }
> its(:size) { should == 0 }
> end
> end
>
> Then, when I run spec, the first example (it { should be_empty }) pass the
> test, but not the second one(its(:size){ should == 0 }).
> How so?
>
> I've found a similar issue:
>
> describe 10 do
> it { should == 10 }
> its(:to_s) { should == "10" }
> end
>
> The first one passes, but not for the second one.
> Is this a bug on rspec 1.3.1?
>
> Another example:
>
> describe Array do
> its(:empty?) { should be_true } # pass
> end
>
> describe [] do
> its(:empty?) { should be_true } # not pass
> end
>
> The first one passes the test where as the second one doesn't pass.
> So, what's going on on its method??
All of these pass in rspec-2, but it looks like there are some inconsistencies
in rspec-1. You're welcome to file bug reports for this, but I can tell you
that unless somebody else submits patches for it it's unlikely to get fixed.
Bug reports for rspec-1 live at http://rspec.lighthouseapp.com.
Cheers,
David
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users