[Python-checkins] r81765 - in python/branches/py3k: Lib/unittest/test/test_case.py
michael.foord
python-checkins at python.org
Sat Jun 5 23:01:08 CEST 2010
Author: michael.foord
Date: Sat Jun 5 23:01:08 2010
New Revision: 81765
Log:
Merged revisions 81763 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r81763 | michael.foord | 2010-06-05 21:33:43 +0100 (Sat, 05 Jun 2010) | 1 line
Tests for unittest.TestCase.maxDiff.
........
Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Lib/unittest/test/test_case.py
Modified: python/branches/py3k/Lib/unittest/test/test_case.py
==============================================================================
--- python/branches/py3k/Lib/unittest/test/test_case.py (original)
+++ python/branches/py3k/Lib/unittest/test/test_case.py Sat Jun 5 23:01:08 2010
@@ -597,6 +597,8 @@
seq2 = 'b' + 'x' * 80**2
diff = '\n'.join(difflib.ndiff(pprint.pformat(seq1).splitlines(),
pprint.pformat(seq2).splitlines()))
+ # the +1 is the leading \n added by assertSequenceEqual
+ omitted = unittest.case.DIFF_OMITTED % (len(diff) + 1,)
self.maxDiff = len(diff)//2
try:
@@ -607,6 +609,7 @@
else:
self.fail('assertSequenceEqual did not fail.')
self.assertTrue(len(msg) < len(diff))
+ self.assertIn(omitted, msg)
self.maxDiff = len(diff) * 2
try:
@@ -616,6 +619,7 @@
else:
self.fail('assertSequenceEqual did not fail.')
self.assertTrue(len(msg) > len(diff))
+ self.assertNotIn(omitted, msg)
self.maxDiff = None
try:
@@ -625,6 +629,41 @@
else:
self.fail('assertSequenceEqual did not fail.')
self.assertTrue(len(msg) > len(diff))
+ self.assertNotIn(omitted, msg)
+
+ def testTruncateMessage(self):
+ self.maxDiff = 1
+ message = self._truncateMessage('foo', 'bar')
+ omitted = unittest.case.DIFF_OMITTED % len('bar')
+ self.assertEqual(message, 'foo' + omitted)
+
+ self.maxDiff = None
+ message = self._truncateMessage('foo', 'bar')
+ self.assertEqual(message, 'foobar')
+
+ def testAssertDictEqualTruncates(self):
+ test = unittest.TestCase('assertEqual')
+ def truncate(msg, diff):
+ return 'foo'
+ test._truncateMessage = truncate
+ try:
+ test.assertDictEqual({}, {1: 0})
+ except self.failureException as e:
+ self.assertEqual(str(e), 'foo')
+ else:
+ self.fail('assertDictEqual did not fail')
+
+ def testAssertMultiLineEqualTruncates(self):
+ test = unittest.TestCase('assertEqual')
+ def truncate(msg, diff):
+ return 'foo'
+ test._truncateMessage = truncate
+ try:
+ test.assertMultiLineEqual('foo', 'bar')
+ except self.failureException as e:
+ self.assertEqual(str(e), 'foo')
+ else:
+ self.fail('assertMultiLineEqual did not fail')
def testAssertItemsEqual(self):
a = object()
More information about the Python-checkins
mailing list