initialize super class of NamespacedDictWrapper

Fixes #37264
This commit is contained in:
Daniel Wallace 2016-10-27 12:56:50 -05:00
parent a2eae208c5
commit 597f346d57
2 changed files with 12 additions and 0 deletions

View file

@ -170,6 +170,7 @@ class NamespacedDictWrapper(collections.MutableMapping, dict):
self.pre_keys = (pre_keys,)
else:
self.pre_keys = pre_keys
super(NamespacedDictWrapper, self).__init__(self._dict())
def _dict(self):
r = self.__dict

View file

@ -5,6 +5,7 @@
'''
# Import python libs
from __future__ import absolute_import
import json
import tornado.stack_context
import tornado.gen
from tornado.testing import AsyncTestCase, gen_test
@ -185,3 +186,13 @@ class NamespacedDictWrapperTests(TestCase):
self._dict['prefix'] = {'foo': {'bar': 'baz'}}
w = NamespacedDictWrapper(self._dict, ('prefix', 'foo'))
self.assertEqual(w['bar'], 'baz')
def test_json_dumps_single_key(self):
self._dict['prefix'] = {'foo': {'bar': 'baz'}}
w = NamespacedDictWrapper(self._dict, 'prefix')
self.assertEqual(json.dumps(w), '{"foo": {"bar": "baz"}}')
def test_json_dumps_multiple_key(self):
self._dict['prefix'] = {'foo': {'bar': 'baz'}}
w = NamespacedDictWrapper(self._dict, ('prefix', 'foo'))
self.assertEqual(json.dumps(w), '{"bar": "baz"}')