Skip to content
Snippets Groups Projects
Commit b783a728 authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

special-cased passing DictObject to another DictObject

parent 1d44b649
No related branches found
No related tags found
No related merge requests found
# v2.8.8
* special-cased passing a DictObject to another DictObject
__version__ = '2.8.8_a1'
__version__ = '2.8.8_a2'
......@@ -29,6 +29,9 @@ class DictObject(tp.MutableMapping[str, T]):
return default
def __init__(self, *args, **kwargs):
if len(args) == 1:
if isinstance(args[0], DictObject):
args = args[0].__data,
self.__data = dict(*args, **kwargs)
def __delitem__(self, k: str) -> None:
......
......@@ -17,6 +17,14 @@ logger = logging.getLogger(__name__)
class TestMisc(unittest.TestCase):
def test_dictobject_dictobject(self):
a = DictObject(a=5, k=3)
b = DictObject(a)
b.c = 4
self.assertEqual(b.a, 5)
self.assertEqual(b.k, 3)
self.assertEqual(b.c, 4)
def test_dictobject_setdefault(self):
a = DictObject()
self.assertEqual(a.setdefault('k', 2), 2)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment