예제 #1
0
 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)
예제 #2
0
 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
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
 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)