Get rid of dict.has_key(). Boy this has a lot of repercussions!
Not all code has been fixed yet; this is just a checkpoint...
The C API still has PyDict_HasKey() and _HasKeyString(); not sure
if I want to change those just yet.
diff --git a/Lib/test/test_userdict.py b/Lib/test/test_userdict.py
index a4b7de4..ecb33d1 100644
--- a/Lib/test/test_userdict.py
+++ b/Lib/test/test_userdict.py
@@ -94,13 +94,10 @@
self.assertEqual(u2.items(), d2.items())
self.assertEqual(u2.values(), d2.values())
- # Test has_key and "in".
+ # Test "in".
for i in u2.keys():
- self.assert_(u2.has_key(i))
self.assert_(i in u2)
- self.assertEqual(u1.has_key(i), d1.has_key(i))
self.assertEqual(i in u1, i in d1)
- self.assertEqual(u0.has_key(i), d0.has_key(i))
self.assertEqual(i in u0, i in d0)
# Test update
@@ -132,7 +129,7 @@
# Test setdefault
t = UserDict.UserDict()
self.assertEqual(t.setdefault("x", 42), 42)
- self.assert_(t.has_key("x"))
+ self.assert_("x" in t)
self.assertEqual(t.setdefault("x", 23), 42)
# Test pop
@@ -269,9 +266,6 @@
self.assertEqual(s.keys(), [10, 30])
## Now, test the DictMixin methods one by one
- # has_key
- self.assert_(s.has_key(10))
- self.assert_(not s.has_key(20))
# __contains__
self.assert_(10 in s)