Be_true and be_false

Hi all,

The be_true and be_false matchers pass if the actual object is the
singleton
instance of true or false respectively. e.g.

true.should be_true # passes
1.should be_true # fails
“true”.should be_true #fails

false.should be_false # passes
nil.should be_false # fails

http://rspec.lighthouseapp.com/projects/5645/tickets/931 suggests that
be_true should pass for anything that Ruby would evaluate as true (i.e.
anything but false or nil) and be_false would pass for anything that
Ruby
would evaluate as false (i.e. false or nil).

Please comment in that ticket if you have an opinion about this.

Cheers,
David

On Mon, Dec 28, 2009 at 1:04 PM, David C.
[email protected]wrote:

Hi all,

The be_true and be_false matchers pass if the actual object is the
singleton instance of true or false respectively. e.g.

true.should be_true # passes
1.should be_true # fails

Actually, “1.should be_true” passes, but based on the current spec it
shouldn’t :slight_smile: