Commit 7ff55e6b authored by Jeremy Hylton's avatar Jeremy Hylton

Add tests for __nonzero__() problems.

parent 3e3159ce
...@@ -320,6 +320,27 @@ class BoolTest(unittest.TestCase): ...@@ -320,6 +320,27 @@ class BoolTest(unittest.TestCase):
self.assertEqual(cPickle.dumps(True, True), "I01\n.") self.assertEqual(cPickle.dumps(True, True), "I01\n.")
self.assertEqual(cPickle.dumps(False, True), "I00\n.") self.assertEqual(cPickle.dumps(False, True), "I00\n.")
def test_convert_to_bool(self):
# Verify that TypeError occurs when bad things are returned
# from __nonzero__(). This isn't really a bool test, but
# it's related.
check = lambda o: self.assertRaises(TypeError, bool, o)
class Foo(object):
def __nonzero__(self):
return self
check(Foo())
class Bar(object):
def __nonzero__(self):
return "Yes"
check(Bar())
class Baz(int):
def __nonzero__(self):
return self
check(Baz())
def test_main(): def test_main():
test_support.run_unittest(BoolTest) test_support.run_unittest(BoolTest)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment