[pypy-commit] pypy type-specialized-instances: stop using strings as "the other type"
cfbolz
noreply at buildbot.pypy.org
Mon Jan 14 18:30:01 CET 2013
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: type-specialized-instances
Changeset: r60053:66f5d1b54b2c
Date: 2013-01-14 13:29 +0100
http://bitbucket.org/pypy/pypy/changeset/66f5d1b54b2c/
Log: stop using strings as "the other type"
diff --git a/pypy/objspace/std/test/test_mapdict.py b/pypy/objspace/std/test/test_mapdict.py
--- a/pypy/objspace/std/test/test_mapdict.py
+++ b/pypy/objspace/std/test/test_mapdict.py
@@ -313,9 +313,9 @@
assert space.eq_w(obj1.getdictvalue(space, "x"), space.wrap(1))
obj2 = cls.instantiate()
- w_str = space.wrap("string")
- obj2.setdictvalue(space, "x", w_str)
- assert space.eq_w(obj2.getdictvalue(space, "x"), w_str)
+ w1 = W_Root()
+ obj2.setdictvalue(space, "x", w1)
+ assert obj2.getdictvalue(space, "x") is w1
assert obj1.map is not obj2.map
assert isinstance(obj1.map, IntAttribute)
@@ -327,7 +327,7 @@
assert obj1.map is obj3.map
assert IntAttribute.unerase_item(obj1.storage[0]) == 1
- assert PlainAttribute.unerase_item(obj2.storage[0]) == w_str
+ assert PlainAttribute.unerase_item(obj2.storage[0]) == w1
def test_add_more_attributes(self):
space = self.space
@@ -341,11 +341,12 @@
obj2 = cls.instantiate()
obj2.setdictvalue(space, "x", space.wrap(5)) # this is shared
- obj2.setdictvalue(space, "y", space.wrap("str")) # this not
+ w1 = W_Root()
+ obj2.setdictvalue(space, "y", w1) # this not
assert space.eq_w(obj2.getdictvalue(space, "x"), space.wrap(5))
- assert space.eq_w(obj2.getdictvalue(space, "y"), space.wrap("str"))
+ assert obj2.getdictvalue(space, "y") is w1
- def test_switch_attribute_types(self):
+ def test_switch_int_attribute_types(self):
space = self.space
cls = Class(sp=space)
obj1 = cls.instantiate()
@@ -354,11 +355,12 @@
assert isinstance(obj1.map, IntAttribute)
assert space.eq_w(obj1.getdictvalue(space, "x"), space.wrap(1))
- obj1.setdictvalue(space, "y", space.wrap("str"))
+ w1 = W_Root()
+ obj1.setdictvalue(space, "y", w1)
assert isinstance(obj1.map, PlainAttribute)
- assert space.eq_w(obj1.getdictvalue(space, "y"), space.wrap("str"))
+ assert obj1.getdictvalue(space, "y") is w1
- def test_overwrite_attribute_with_another_type(self):
+ def test_overwrite_int_attribute_with_another_type(self):
space = self.space
cls = Class(sp=space)
obj1 = cls.instantiate()
@@ -367,11 +369,12 @@
assert isinstance(obj1.map, IntAttribute)
assert space.eq_w(obj1.getdictvalue(space, "x"), space.wrap(1))
- obj1.setdictvalue(space, "x", space.wrap("a"))
+ w1 = W_Root()
+ obj1.setdictvalue(space, "x", w1)
assert isinstance(obj1.map, PlainAttribute)
- assert space.eq_w(obj1.getdictvalue(space, "x"), space.wrap("a"))
+ assert obj1.getdictvalue(space, "x") is w1
- def test_overwrite_attribute_with_another_type2(self):
+ def test_overwrite_int_attribute_with_another_type2(self):
space = self.space
cls = Class(sp=space)
obj1 = cls.instantiate()
@@ -385,9 +388,10 @@
assert space.eq_w(obj1.getdictvalue(space, "y"), space.wrap(2))
# overwrite 'x' with new type
- obj1.setdictvalue(space, "x", space.wrap("a"))
+ w1 = W_Root()
+ obj1.setdictvalue(space, "x", w1)
assert isinstance(obj1.map, PlainAttribute)
- assert space.eq_w(obj1.getdictvalue(space, "x"), space.wrap("a"))
+ assert obj1.getdictvalue(space, "x") is w1
# check if 'y' is still reachable
assert isinstance(obj1.map.back, IntAttribute)
More information about the pypy-commit
mailing list