Skip to content

Commit

Permalink
[1.5.x] Add assertJSONEqual method to TestCase
Browse files Browse the repository at this point in the history
Backport of 089d9ca from master
  • Loading branch information
clelland authored and spookylukey committed Dec 24, 2012
1 parent f2a7b52 commit 5eba053
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions django/test/testcases.py
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,18 @@ def assertInHTML(self, needle, haystack, count = None, msg_prefix=''):
self.assertTrue(real_count != 0,
msg_prefix + "Couldn't find '%s' in response" % needle)

def assertJSONEqual(self, raw, expected_data, msg=None):
try:
data = json.loads(raw)
except ValueError:
self.fail("First argument is not valid JSON: %r" % raw)
if isinstance(expected_data, six.string_types):
try:
expected_data = json.loads(expected_data)
except ValueError:
self.fail("Second argument is not valid JSON: %r" % expected_data)
self.assertEqual(data, expected_data, msg=msg)

def assertXMLEqual(self, xml1, xml2, msg=None):
"""
Asserts that two XML snippets are semantically the same.
Expand Down

0 comments on commit 5eba053

Please sign in to comment.