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

Reply via email to