From 86296ad2cd5702a66b05aae79ec9196b62e41e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sun, 7 Feb 2016 08:13:04 +0600 Subject: [utils] Add ability to control skipping false values in dict_get --- test/test_utils.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'test') diff --git a/test/test_utils.py b/test/test_utils.py index e3dd019af..909d0e51d 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -452,9 +452,15 @@ class TestUtil(unittest.TestCase): self.assertTrue(isinstance(data, bytes)) def test_dict_get(self): - d = { - 'a': 42, + FALSE_VALUES = { + 'none': None, + 'false': False, + 'zero': 0, + 'empty_string': '', + 'empty_list': [], } + d = FALSE_VALUES.copy() + d['a'] = 42 self.assertEqual(dict_get(d, 'a'), 42) self.assertEqual(dict_get(d, 'b'), None) self.assertEqual(dict_get(d, 'b', 42), 42) @@ -463,6 +469,9 @@ class TestUtil(unittest.TestCase): self.assertEqual(dict_get(d, ('b', 'c', 'a', 'd', )), 42) self.assertEqual(dict_get(d, ('b', 'c', )), None) self.assertEqual(dict_get(d, ('b', 'c', ), 42), 42) + for key, false_value in FALSE_VALUES.items(): + self.assertEqual(dict_get(d, ('b', 'c', key, )), None) + self.assertEqual(dict_get(d, ('b', 'c', key, ), skip_false_values=False), false_value) def test_encode_compat_str(self): self.assertEqual(encode_compat_str(b'\xd1\x82\xd0\xb5\xd1\x81\xd1\x82', 'utf-8'), 'ั‚ะตัั‚') -- cgit v1.2.3