Ejemplo n.º 1
0
 def test_generateDiffstat_with_CR(self):
     diff_bytes = (
         "--- foo\t2009-08-26 15:53:23.000000000 -0400\n"
         "+++ foo\t2009-08-26 15:56:43.000000000 -0400\n"
         "@@ -1,1 +1,1 @@\n"
         " a\r-b\r c\r+d\r+e\r+f\r")
     self.assertEqual({'foo': (0, 0)}, Diff.generateDiffstat(diff_bytes))
Ejemplo n.º 2
0
 def test_mergePreviewFromBranches(self):
     # mergePreviewFromBranches generates the correct diff.
     bmp, source_rev_id, target_rev_id = self.createExampleMerge()
     source_branch = bmp.source_branch.getBzrBranch()
     target_branch = bmp.target_branch.getBzrBranch()
     diff, conflicts = Diff.mergePreviewFromBranches(
         source_branch, source_rev_id, target_branch)
     transaction.commit()
     self.checkExampleMerge(diff.text)
Ejemplo n.º 3
0
 def test_mergePreviewWithPrerequisite(self):
     # Changes introduced in the prerequisite branch are ignored.
     (source_bzr, source_rev_id, target_bzr, prerequisite_bzr,
      prerequisite) = self.preparePrerequisiteMerge()
     diff, conflicts = Diff.mergePreviewFromBranches(
         source_bzr, source_rev_id, target_bzr, prerequisite_bzr)
     transaction.commit()
     self.assertIn('+source text\n', diff.text)
     self.assertNotIn('+prerequisite text\n', diff.text)
Ejemplo n.º 4
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)
Ejemplo n.º 5
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
Ejemplo n.º 6
0
 def test_mergePreviewWithNewerPrerequisite(self):
     # If the prerequisite branch has unmerged revisions, they do not
     # affect the diff.
     (source_bzr, source_rev_id, target_bzr, prerequisite_bzr,
      prerequisite) = self.preparePrerequisiteMerge()
     commit_file(prerequisite, 'file', b'prerequisite text2\n')
     diff, conflicts = Diff.mergePreviewFromBranches(
         source_bzr, source_rev_id, target_bzr, prerequisite_bzr)
     transaction.commit()
     self.assertNotIn('-prerequisite text2\n', diff.text)
     self.assertIn('+source text\n', diff.text)
     self.assertNotIn('+prerequisite text\n', diff.text)
Ejemplo n.º 7
0
 def test_mergePreviewWithNewerPrerequisite(self):
     # If the prerequisite branch has unmerged revisions, they do not
     # affect the diff.
     (source_bzr, source_rev_id, target_bzr, prerequisite_bzr,
      prerequisite) = self.preparePrerequisiteMerge()
     commit_file(
         prerequisite, 'file', 'prerequisite text2\n')
     diff, conflicts = Diff.mergePreviewFromBranches(
         source_bzr, source_rev_id, target_bzr, prerequisite_bzr)
     transaction.commit()
     self.assertNotIn('-prerequisite text2\n', diff.text)
     self.assertIn('+source text\n', diff.text)
     self.assertNotIn('+prerequisite text\n', diff.text)
Ejemplo n.º 8
0
 def generateIncrementalDiff(self, old_revision, new_revision, diff=None):
     """See `IBranchMergeProposal`."""
     if diff is None:
         source_branch = self.source_branch.getBzrBranch()
         ignore_branches = [self.target_branch.getBzrBranch()]
         if self.prerequisite_branch is not None:
             ignore_branches.append(self.prerequisite_branch.getBzrBranch())
         diff = Diff.generateIncrementalDiff(old_revision, new_revision,
                                             source_branch, ignore_branches)
     incremental_diff = IncrementalDiff()
     incremental_diff.diff = diff
     incremental_diff.branch_merge_proposal = self
     incremental_diff.old_revision = old_revision
     incremental_diff.new_revision = new_revision
     IMasterStore(IncrementalDiff).add(incremental_diff)
     return incremental_diff
 def generateIncrementalDiff(self, old_revision, new_revision, diff=None):
     """See `IBranchMergeProposal`."""
     if diff is None:
         source_branch = self.source_branch.getBzrBranch()
         ignore_branches = [self.target_branch.getBzrBranch()]
         if self.prerequisite_branch is not None:
             ignore_branches.append(
                 self.prerequisite_branch.getBzrBranch())
         diff = Diff.generateIncrementalDiff(
             old_revision, new_revision, source_branch, ignore_branches)
     incremental_diff = IncrementalDiff()
     incremental_diff.diff = diff
     incremental_diff.branch_merge_proposal = self
     incremental_diff.old_revision = old_revision
     incremental_diff.new_revision = new_revision
     IMasterStore(IncrementalDiff).add(incremental_diff)
     return incremental_diff
Ejemplo n.º 10
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)
Ejemplo n.º 11
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)
Ejemplo n.º 12
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)
Ejemplo n.º 13
0
 def test_generateDiffstat(self):
     self.assertEqual(
         {'foo': (2, 1), 'bar': (0, 3), 'baz': (2, 0)},
         Diff.generateDiffstat(self.diff_bytes))
Ejemplo n.º 14
0
 def test_providesInterface(self):
     verifyObject(IDiff, Diff())