mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Issue #26194: Inserting into a full deque to raise an IndexError
This commit is contained in:
parent
3e7230904e
commit
b00da57561
4 changed files with 18 additions and 20 deletions
|
@ -304,19 +304,20 @@ class TestBasic(unittest.TestCase):
|
|||
s.insert(i, 'Z')
|
||||
self.assertEqual(list(d), s)
|
||||
|
||||
def test_index_bug_26194(self):
|
||||
def test_insert_bug_26194(self):
|
||||
data = 'ABC'
|
||||
for i in range(len(data) + 1):
|
||||
d = deque(data, len(data))
|
||||
d.insert(i, None)
|
||||
s = list(data)
|
||||
s.insert(i, None)
|
||||
s.pop()
|
||||
self.assertEqual(list(d), s)
|
||||
if i < len(data):
|
||||
self.assertIsNone(d[i])
|
||||
d = deque(data, maxlen=len(data))
|
||||
with self.assertRaises(IndexError):
|
||||
d.insert(2, None)
|
||||
|
||||
elements = 'ABCDEFGHI'
|
||||
for i in range(-len(elements), len(elements)):
|
||||
d = deque(elements, maxlen=len(elements)+1)
|
||||
d.insert(i, 'Z')
|
||||
if i >= 0:
|
||||
self.assertEqual(d[i], 'Z')
|
||||
else:
|
||||
self.assertTrue(None not in d)
|
||||
self.assertEqual(d[i-1], 'Z')
|
||||
|
||||
def test_imul(self):
|
||||
for n in (-10, -1, 0, 1, 2, 10, 1000):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue