def test_splittable_setattr_after_pop(self): """setattr must not convert combined table into split table""" # Issue 28147 import _testcapi class C: pass a = C() a.a = 2 self.assertTrue(_testcapi.dict_hassplittable(a.__dict__)) # dict.popitem() convert it to combined table a.__dict__.popitem() self.assertFalse(_testcapi.dict_hassplittable(a.__dict__)) # But C should not convert a.__dict__ to split table again. a.a = 3 self.assertFalse(_testcapi.dict_hassplittable(a.__dict__))
def test_splittable_setattr_after_pop(self): """setattr must not convert combined table into split table""" # Issue 28147 import _testcapi class C: pass a = C() a.a = 2 self.assertTrue(_testcapi.dict_hassplittable(a.__dict__)) # dict.popitem() convert it to combined table a.__dict__.popitem() self.assertFalse(_testcapi.dict_hassplittable(a.__dict__)) # But C should not convert a.__dict__ to split table again. a.a = 3 self.assertFalse(_testcapi.dict_hassplittable(a.__dict__))
def test_splittable_setattr_after_pop(self): """setattr() must not convert combined table into split table.""" import _testcapi class C: pass a = C() a.a = 1 self.assertTrue(_testcapi.dict_hassplittable(a.__dict__)) a.__dict__.pop('a') self.assertFalse(_testcapi.dict_hassplittable(a.__dict__)) a.a = 1 self.assertFalse(_testcapi.dict_hassplittable(a.__dict__)) a = C() a.a = 2 self.assertTrue(_testcapi.dict_hassplittable(a.__dict__)) a.__dict__.popitem() self.assertFalse(_testcapi.dict_hassplittable(a.__dict__)) a.a = 3 self.assertFalse(_testcapi.dict_hassplittable(a.__dict__))