diff options
-rw-r--r-- | test/backunittest.py | 8 | ||||
-rw-r--r-- | test/test_testing.py | 6 |
2 files changed, 11 insertions, 3 deletions
diff --git a/test/backunittest.py b/test/backunittest.py index 3e521e5a..f606185f 100644 --- a/test/backunittest.py +++ b/test/backunittest.py @@ -73,7 +73,7 @@ class TestCase(unittest.TestCase): raise self.failureException("%r doesn't match %r" % (s, regex)) if _need('assertMultiLineEqual'): - def assertMultiLineEqual(self, first, second): + def assertMultiLineEqual(self, first, second, msg=None): """Assert that two multi-line strings are equal. If they aren't, show a nice diff. @@ -86,6 +86,8 @@ class TestCase(unittest.TestCase): 'Second argument is not a string') if first != second: - msg = ''.join(difflib.ndiff(first.splitlines(True), + message = ''.join(difflib.ndiff(first.splitlines(True), second.splitlines(True))) - self.fail("Multi-line strings are unequal:\n" + msg) + if msg: + message += " : " + msg + self.fail("Multi-line strings are unequal:\n" + message) diff --git a/test/test_testing.py b/test/test_testing.py index 58b6dc82..9bbb7cca 100644 --- a/test/test_testing.py +++ b/test/test_testing.py @@ -45,6 +45,12 @@ class TestingTest(TestCase): self.assertRaises(AssertionError, self.assertMultiLineEqual, "hello\nthere", "hello\nThere" ) + # With messages also. + self.assertMultiLineEqual("hi", "hi", "it's ok") + self.assertRaisesRegexp( + AssertionError, "my message", + self.assertMultiLineEqual, "xyz", "abc", "my message" + ) def test_assert_raises_regexp(self): # Raising the right error with the right message passes. |