diff options
author | Raymond Hettinger <python@rcn.com> | 2009-02-03 02:23:19 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2009-02-03 02:23:19 +0000 |
commit | d6fc2623c5e765df20f2072aa6575b0c5c272692 (patch) | |
tree | fed146296b4c1866efd720382e34507c672fd751 /Lib/test/test_iterlen.py | |
parent | b516370bcbeef7391edc28fa6bfcc8da6d98beea (diff) | |
download | cpython-git-d6fc2623c5e765df20f2072aa6575b0c5c272692.tar.gz |
Validate that __length_hint__ returns a usable result.
Diffstat (limited to 'Lib/test/test_iterlen.py')
-rw-r--r-- | Lib/test/test_iterlen.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_iterlen.py b/Lib/test/test_iterlen.py index 91873c2af4..ab5466ecf9 100644 --- a/Lib/test/test_iterlen.py +++ b/Lib/test/test_iterlen.py @@ -208,6 +208,11 @@ class BadLengthHint(object): def __length_hint__(self): raise RuntimeError('hello') +class NoneLengthHint(object): + def __iter__(self): return iter(range(10)) + def __length_hint__(self): + return None + class TestLengthHintExceptions(unittest.TestCase): def test_issue1242657(self): @@ -225,6 +230,11 @@ class TestLengthHintExceptions(unittest.TestCase): self.assertRaises(RuntimeError, b.extend, BadLen()) self.assertRaises(RuntimeError, b.extend, BadLengthHint()) + def test_invalid_hint(self): + # Make sure an invalid result doesn't muck-up the works + self.assertEqual(list(NoneLengthHint()), list(range(10))) + + def test_main(): unittests = [ TestRepeat, |