From 57fce3bdb203e9701dbd81ee108189898e19911b Mon Sep 17 00:00:00 2001 From: Jim Mussared Date: Thu, 23 Apr 2020 01:10:30 +1000 Subject: py/objdict: Fix popitem for ordered dicts. The popitem method wasn't implemented for ordered dicts and would result in an invalid state. Fixes issue #5956. --- tests/basics/ordereddict1.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/basics/ordereddict1.py b/tests/basics/ordereddict1.py index d1633f0bb..270deab38 100644 --- a/tests/basics/ordereddict1.py +++ b/tests/basics/ordereddict1.py @@ -24,3 +24,23 @@ d["abc"] = 123 print(len(d)) print(list(d.keys())) print(list(d.values())) + +# pop an element +print(d.popitem()) +print(len(d)) +print(list(d.keys())) +print(list(d.values())) + +# add an element after popping +d["xyz"] = 321 +print(len(d)) +print(list(d.keys())) +print(list(d.values())) + +# pop until empty +print(d.popitem()) +print(d.popitem()) +try: + d.popitem() +except: + print('empty') -- cgit v1.2.3