If :should_be is intended to be used with :foo? methods, it seems like
it should only accept booleans. Besides, :should_equal will still be
consistent with Ruby''s equality semantics, right? So you''d
have the
option of using either:
3.should_equal true #=> true
3.should_be true #=> false
In the first case, you''re being consistent with Ruby, but in the
second, you''re not only saying that something should evaluate to true,
you''re actually saying "this should *be* true."
-Sam
On 10/15/06, David Chelimsky <dchelimsky at gmail.com>
wrote:> As things stand now, the following will all pass:
>
> true.should_be true
> "true".should_be true
> "false".should_be true
> 3.should_be true
> etc
>
> My feeling is that "should_be true" should only pass if it
returns
> boolean true even though ruby says that non-nil/non-false is true.
>
> Anybody else?
>
> David
> _______________________________________________
> Rspec-users mailing list
> Rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>