diff --git a/tests/dicts/parse/test_parse_util.py b/tests/dicts/parse/test_parse_util.py index f2ea784..317f8bf 100644 --- a/tests/dicts/parse/test_parse_util.py +++ b/tests/dicts/parse/test_parse_util.py @@ -62,6 +62,18 @@ class parse_util_test_case(unittest.TestCase): self.assertEqual(f(''), None) self.assertEqual(f(None), None) + def test_parse_list_with_valid_json(self): + f = lambda value: parse_util.parse_list(value, separator=None) + self.assertEqual(f('[0,1,2,3]'), [0, 1, 2, 3]) + + def test_parse_list_with_invalid_json_with_separator(self): + f = lambda value: parse_util.parse_list(value, separator=',') + self.assertEqual(f('[a,b,c]'), ['[a', 'b', 'c]']) + + def test_parse_list_with_invalid_json_without_separator(self): + f = lambda value: parse_util.parse_list(value, separator=None) + self.assertEqual(f('[a,b,c]'), None) + def test_parse_phonenumber(self): # TODO pass diff --git a/tests/github/test_issue_0046.py b/tests/github/test_issue_0046.py index 890cc66..63b9627 100644 --- a/tests/github/test_issue_0046.py +++ b/tests/github/test_issue_0046.py @@ -72,11 +72,18 @@ class github_issue_0046_test_case(unittest.TestCase): d_new = benedict() d_new = d.subset(keypaths) - d_new_raw = {'id': '37e4f6e876', 'meta': {'k0': {'kc': {'extra_key2': 'value2', 'key1': '', 'key2': 'value2', 'key3': 'value3', 'key4': True}}, 'language': 'en'}} - d_new_json = json.dumps(d_new_raw, sort_keys=True) - self.assertEqual(d_new, d_new_raw) - self.assertEqual(d_new.to_json(sort_keys=True), d_new_json) + # patch the json module to force the use of the python encoder - #46 + # import json + # json.encoder.c_make_encoder = None + json_encoder = None + json_dumps = lambda d: json.dumps(d, sort_keys=True, cls=json_encoder) - d_new2 = d_new.clone() - self.assertEqual(d_new, d_new2) - self.assertEqual(d_new.to_json(sort_keys=True), d_new2.to_json(sort_keys=True)) + d_new_raw = {'id': '37e4f6e876', 'meta': {'k0': {'kc': {'extra_key2': 'value2', 'key1': '', 'key2': 'value2', 'key3': 'value3', 'key4': True}}, 'language': 'en'}} + self.assertEqual(d_new, d_new_raw) + self.assertEqual(json_dumps(d_new), json_dumps(d_new_raw)) + self.assertEqual(d_new.to_json(sort_keys=True, cls=json_encoder), json_dumps(d_new_raw)) + + d_new_cloned = d_new.clone() + self.assertEqual(d_new, d_new_cloned) + self.assertEqual(json_dumps(d_new), json_dumps(d_new_cloned)) + self.assertEqual(d_new.to_json(sort_keys=True), d_new_cloned.to_json(sort_keys=True))