On Thu, Jan 17, 2013 at 02:44:03PM +0200, Ilkka Pelkonen firstname.lastname@example.org wrote:
expected_result = (expected_string != 'TRUE') # Boolean element = find_element() # Can return None or an instance of Element flag = (element and element.is_visible()) if flag == expected_result: ..# Ok ..return # Otherwise perform some failure related stuff.
This code does not work. What happens on the 'flag' assignment row, is that if 'element' is None, the expression returns None, not False. This makes the if comparison to fail if expected_result is False, since boolean False is not None.
No need to change the language. Just do
flag = bool(element and element.is_visible())