[pypy-commit] pypy default: Issue #1078: fixed comparisons between frozensets and dict views.
alex_gaynor
noreply at buildbot.pypy.org
Mon Mar 12 18:19:41 CET 2012
Author: Alex Gaynor <alex.gaynor at gmail.com>
Branch:
Changeset: r53324:bf600fa56140
Date: 2012-03-12 10:19 -0700
http://bitbucket.org/pypy/pypy/changeset/bf600fa56140/
Log: Issue #1078: fixed comparisons between frozensets and dict views.
diff --git a/pypy/objspace/std/dictmultiobject.py b/pypy/objspace/std/dictmultiobject.py
--- a/pypy/objspace/std/dictmultiobject.py
+++ b/pypy/objspace/std/dictmultiobject.py
@@ -2,6 +2,7 @@
from pypy.objspace.std.model import registerimplementation, W_Object
from pypy.objspace.std.register_all import register_all
from pypy.objspace.std.settype import set_typedef as settypedef
+from pypy.objspace.std.frozensettype import frozenset_typedef as frozensettypedef
from pypy.interpreter import gateway
from pypy.interpreter.argument import Signature
from pypy.interpreter.error import OperationError, operationerrfmt
@@ -488,7 +489,7 @@
class _UnwrappedIteratorMixin:
_mixin_ = True
-
+
def __init__(self, space, strategy, dictimplementation):
IteratorImplementation.__init__(self, space, dictimplementation)
self.iterator = strategy.unerase(dictimplementation.dstorage).iteritems()
@@ -837,10 +838,12 @@
return all_contained_in(space, w_dictview, w_otherview)
return space.w_False
eq__DictViewKeys_settypedef = eq__DictViewKeys_DictViewKeys
+eq__DictViewKeys_frozensettypedef = eq__DictViewKeys_DictViewKeys
eq__DictViewKeys_DictViewItems = eq__DictViewKeys_DictViewKeys
eq__DictViewItems_DictViewItems = eq__DictViewKeys_DictViewKeys
eq__DictViewItems_settypedef = eq__DictViewItems_DictViewItems
+eq__DictViewItems_frozensettypedef = eq__DictViewItems_DictViewItems
def repr__DictViewKeys(space, w_dictview):
w_seq = space.call_function(space.w_list, w_dictview)
diff --git a/pypy/objspace/std/test/test_dictmultiobject.py b/pypy/objspace/std/test/test_dictmultiobject.py
--- a/pypy/objspace/std/test/test_dictmultiobject.py
+++ b/pypy/objspace/std/test/test_dictmultiobject.py
@@ -613,6 +613,7 @@
assert len(keys) == 2
assert set(keys) == set([1, "a"])
assert keys == set([1, "a"])
+ assert keys == frozenset([1, "a"])
assert keys != set([1, "a", "b"])
assert keys != set([1, "b"])
assert keys != set([1])
@@ -633,6 +634,7 @@
assert len(items) == 2
assert set(items) == set([(1, 10), ("a", "ABC")])
assert items == set([(1, 10), ("a", "ABC")])
+ assert items == frozenset([(1, 10), ("a", "ABC")])
assert items != set([(1, 10), ("a", "ABC"), "junk"])
assert items != set([(1, 10), ("a", "def")])
assert items != set([(1, 10)])
More information about the pypy-commit
mailing list