summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_types.py6
-rw-r--r--Lib/test/test_userdict.py6
2 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index d571a02..f2a7ccd 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -643,10 +643,14 @@ else: raise TestFailed, "{}.pop(k) doesn't raise KeyError when dictionary is emp
# see SF bug #689659
x = 4503599627370496L
y = 4503599627370496
-h = {x: 'anything', y: 'something else'}
+h = {x: 'anything', y: 'something else'}
if h[x] != h[y]:
raise TestFailed, "long/int key should match"
+if d.pop(k, v) != v: raise TestFailed, "{}.pop(k, v) doesn't return default value"
+d[k] = v
+if d.pop(k, 1) != v: raise TestFailed, "{}.pop(k, v) doesn't find known key/value pair"
+
d[1] = 1
try:
for i in d:
diff --git a/Lib/test/test_userdict.py b/Lib/test/test_userdict.py
index d3e8002..cb98308 100644
--- a/Lib/test/test_userdict.py
+++ b/Lib/test/test_userdict.py
@@ -139,6 +139,9 @@ class UserDictTest(unittest.TestCase):
t = UserDict.UserDict(x=42)
self.assertEqual(t.pop("x"), 42)
self.assertRaises(KeyError, t.pop, "x")
+ self.assertEqual(t.pop("x", 1), 1)
+ t["x"] = 42
+ self.assertEqual(t.pop("x", 1), 42)
# Test popitem
t = UserDict.UserDict(x=42)
@@ -242,6 +245,9 @@ class UserDictMixinTest(unittest.TestCase):
self.assertEqual(s.pop(10), 'ten')
self.assert_(10 not in s)
s[10] = 'ten'
+ self.assertEqual(s.pop("x", 1), 1)
+ s["x"] = 42
+ self.assertEqual(s.pop("x", 1), 42)
# popitem
k, v = s.popitem()