def test_fromFile_withError(self): # If the diff is formatted such that generating the diffstat fails, we # want to record an oops but continue. diff_bytes = "not a real diff" diff = Diff.fromFile(StringIO(diff_bytes), len(diff_bytes)) oops = self.oopses[0] self.assertEqual('MalformedPatchHeader', oops['type']) self.assertIs(None, diff.diffstat) self.assertIs(None, diff.added_lines_count) self.assertIs(None, diff.removed_lines_count)
def _create_diff(self, content): # Create a Diff object with the content specified. sio = StringIO() sio.write(content) size = sio.tell() sio.seek(0) diff = Diff.fromFile(sio, size) # Commit to make the alias available for reading. transaction.commit() return diff
def test_fromFileSets_added_removed(self): """fromFile sets added_lines_count, removed_lines_count.""" diff = Diff.fromFile( StringIO(self.diff_bytes_2), len(self.diff_bytes_2)) self.assertEqual(5, diff.added_lines_count) self.assertEqual(4, diff.removed_lines_count)
def test_fromFileAcceptsBinary(self): diff_bytes = "Binary files a\t and b\t differ\n" diff = Diff.fromFile(StringIO(diff_bytes), len(diff_bytes)) self.assertEqual({}, diff.diffstat)
def test_fromFileSetsDiffstat(self): diff = Diff.fromFile(StringIO(self.diff_bytes), len(self.diff_bytes)) self.assertEqual( {'bar': (0, 3), 'baz': (2, 0), 'foo': (2, 1)}, diff.diffstat)