test_raw_json.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import unittest
  2. import simplejson as json
  3. dct1 = {
  4. 'key1': 'value1'
  5. }
  6. dct2 = {
  7. 'key2': 'value2',
  8. 'd1': dct1
  9. }
  10. dct3 = {
  11. 'key2': 'value2',
  12. 'd1': json.dumps(dct1)
  13. }
  14. dct4 = {
  15. 'key2': 'value2',
  16. 'd1': json.RawJSON(json.dumps(dct1))
  17. }
  18. class TestRawJson(unittest.TestCase):
  19. def test_normal_str(self):
  20. self.assertNotEqual(json.dumps(dct2), json.dumps(dct3))
  21. def test_raw_json_str(self):
  22. self.assertEqual(json.dumps(dct2), json.dumps(dct4))
  23. self.assertEqual(dct2, json.loads(json.dumps(dct4)))
  24. def test_list(self):
  25. self.assertEqual(
  26. json.dumps([dct2]),
  27. json.dumps([json.RawJSON(json.dumps(dct2))]))
  28. self.assertEqual(
  29. [dct2],
  30. json.loads(json.dumps([json.RawJSON(json.dumps(dct2))])))
  31. def test_direct(self):
  32. self.assertEqual(
  33. json.dumps(dct2),
  34. json.dumps(json.RawJSON(json.dumps(dct2))))
  35. self.assertEqual(
  36. dct2,
  37. json.loads(json.dumps(json.RawJSON(json.dumps(dct2)))))