From: Paul Rogers Date: 2007-05-01T00:45:05+09:00 Subject: Re: ruby and true On Apr 30, 9:29 am, Robert Klemme wrote: > On 30.04.2007 16:42, aidy.le...@googlemail.com wrote: > > > > > Hi, > > > I have some code the checks whether some text is on the HTML page > > > @@log.test_results(ie.contains_text('Dashboard') > > > I should get a TRUE (it's there), but it is returning the figure 62. > > Is anything > 0 in Ruby true? If so, why, and shouldn't the object > > automatically change to boolean? > > > My xml then is falling through > > > if result == TRUE then > > test_status = @test.add_element 'teststatus' > > test_status.text = 'PASS' > > There's only two falses in Ruby: false and nil. Everything else is > considered true. > > Please note also, that it is usually a very bad idea to try to compare a > boolean value with a boolean constant in a boolean context. Just use > the value or use "!" or "not" to negate. This applies to all sorts of > programming languages (just think of doing "if ( x == TRUE )" in C... > > Kind regards > > robert as Robert has said, its generally bad to say if x==true in this case contains_text does a reg exp on the html of the page, so it returns either the start position of the string ( as an integer) or nil