#17255: test short-circuiting behavior of any()/all(). Patch by Wim Glenn.

This commit is contained in:
Ezio Melotti 2013-02-21 23:15:40 +02:00
parent 49d4022d7d
commit 7d0eb4b234
2 changed files with 3 additions and 0 deletions

View File

@ -110,6 +110,7 @@ class BuiltinTest(unittest.TestCase):
self.assertRaises(TypeError, all) # No args
self.assertRaises(TypeError, all, [2, 4, 6], []) # Too many args
self.assertEqual(all([]), True) # Empty iterator
self.assertEqual(all([0, TestFailingBool()]), False)# Short-circuit
S = [50, 60]
self.assertEqual(all(x > 42 for x in S), True)
S = [50, 40, 60]
@ -124,6 +125,7 @@ class BuiltinTest(unittest.TestCase):
self.assertRaises(TypeError, any) # No args
self.assertRaises(TypeError, any, [2, 4, 6], []) # Too many args
self.assertEqual(any([]), False) # Empty iterator
self.assertEqual(any([1, TestFailingBool()]), True) # Short-circuit
S = [40, 60, 30]
self.assertEqual(any(x > 42 for x in S), True)
S = [10, 20, 30]

View File

@ -352,6 +352,7 @@ Dinu Gherman
Jonathan Giddy
Johannes Gijsbers
Michael Gilfix
Wim Glenn
Christoph Gohlke
Tim Golden
Chris Gonnerman