summaryrefslogtreecommitdiff
path: root/Lib/test
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2002-04-12 15:11:59 +0000
committerGuido van Rossum <guido@python.org>2002-04-12 15:11:59 +0000
commite027d9818fdb15dd40ab4fd259dd1a33300cc597 (patch)
treeb3039c5a6f6280d60f3725f4885ac46a2d12981b /Lib/test
parentededa90f6779cfd7fdcf84306a98252913789a67 (diff)
downloadcpython-git-e027d9818fdb15dd40ab4fd259dd1a33300cc597.tar.gz
Add Raymond Hettinger's d.pop(). See SF patch 539949.
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_types.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index 26535c4905..9d4508b16a 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -476,6 +476,21 @@ try: d.popitem()
except KeyError: pass
else: raise TestFailed, "{}.popitem doesn't raise KeyError"
+# Tests for pop with specified key
+d.clear()
+k, v = 'abc', 'def'
+d[k] = v
+try: d.pop('ghi')
+except KeyError: pass
+else: raise TestFailed, "{}.pop(k) doesn't raise KeyError when k not in dictionary"
+
+if d.pop(k) != v: raise TestFailed, "{}.pop(k) doesn't find known key/value pair"
+if len(d) > 0: raise TestFailed, "{}.pop(k) failed to remove the specified pair"
+
+try: d.pop(k)
+except KeyError: pass
+else: raise TestFailed, "{}.pop(k) doesn't raise KeyError when dictionary is empty"
+
d[1] = 1
try:
for i in d: