[rspec-users] found some inconsistently behavior on its method.

David Chelimsky dchelimsky at gmail.com
Fri Jan 14 07:44:07 EST 2011


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20110114/a7dc6dcd/attachment.html>


More information about the rspec-users mailing list