| 1107 | return self.assertIdentical(text1, text2, msg, fromfile, tofile) |
| 1108 | |
| 1109 | def assertIdentical(self, values, y, msg=None, |
| 1110 | fromfile='expected', tofile='actual'): |
| 1111 | if type(values) not in {list, tuple}: |
| 1112 | values = [values] |
| 1113 | for x in values: |
| 1114 | if x == y: |
| 1115 | return # success |
| 1116 | diff_lines = difflib.unified_diff(x.splitlines(), y.splitlines(), |
| 1117 | fromfile=fromfile, tofile=tofile) |
| 1118 | diff = ''.join([a.rstrip() + '\n' for a in diff_lines]) |
| 1119 | if EMTEST_VERBOSE: |
| 1120 | print("Expected to have '%s' == '%s'" % (values[0], y)) |
| 1121 | else: |
| 1122 | diff = limit_size(diff) |
| 1123 | diff += '\nFor full output run with --verbose.' |
| 1124 | fail_message = 'Unexpected difference:\n' + diff |
| 1125 | if msg: |
| 1126 | fail_message += '\n' + msg |
| 1127 | self.fail(fail_message) |
| 1128 | |
| 1129 | def assertFileContents(self, filename, contents, tofile=None): |
| 1130 | if EMTEST_VERBOSE: |