use of org.eclipse.jface.internal.text.revisions.Hunk in project eclipse.platform.text by eclipse.
the class ChangeRegionTest method testHunkInBetween.
@Test
public void testHunkInBetween() throws Exception {
// TODO require merging of adjacent ranges?
ChangeRegion r;
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(15, -2, 0));
RangeUtil.assertEqualRanges(new LineRange(12, 3), new LineRange(15, 2), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(12, 5), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(15, 2, 0));
RangeUtil.assertEqualRanges(new LineRange(12, 3), new LineRange(17, 4), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(12, 9), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(15, 0, 2));
RangeUtil.assertEqualRanges(new LineRange(12, 3), new LineRange(17, 2), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(12, 7), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(15, -1, 2));
RangeUtil.assertEqualRanges(new LineRange(12, 3), new LineRange(17, 1), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(12, 6), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(15, 2, 2));
RangeUtil.assertEqualRanges(new LineRange(12, 3), new LineRange(19, 2), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(12, 9), r.getAdjustedCoverage());
}
use of org.eclipse.jface.internal.text.revisions.Hunk in project eclipse.platform.text by eclipse.
the class HunkComputerTest method assertHunks.
private void assertHunks(int[] diffInfo, int[] expected) {
fDiffInformation = diffInfo;
assertEquals(0, diffInfo.length % 2);
Hunk[] hunks = HunkComputer.computeHunks(fDiffer, fDiffInformation.length / 2);
assertEquals(0, expected.length % 3);
int n = expected.length / 3;
assertEquals(n, hunks.length);
for (int i = 0; i < n; i++) {
Hunk h = hunks[i];
assertEquals(new Hunk(expected[3 * i], expected[3 * i + 1], expected[3 * i + 2]), h);
}
}
use of org.eclipse.jface.internal.text.revisions.Hunk in project eclipse.platform.text by eclipse.
the class ChangeRegionTest method testHunkAfter.
@Test
public void testHunkAfter() throws Exception {
ChangeRegion r = new ChangeRegion(fRevision, new LineRange(12, 3));
List<Range> before = RangeUtil.deepClone(r.getAdjustedRanges());
r.adjustTo(new Hunk(16, 3, 2));
RangeUtil.assertEqualRanges(before, r.getAdjustedRanges());
RangeUtil.assertEqualRange(before.get(0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 3));
before = RangeUtil.deepClone(r.getAdjustedRanges());
r.adjustTo(new Hunk(16, -33, 2));
RangeUtil.assertEqualRanges(before, r.getAdjustedRanges());
RangeUtil.assertEqualRange(before.get(0), r.getAdjustedCoverage());
}
use of org.eclipse.jface.internal.text.revisions.Hunk in project eclipse.platform.text by eclipse.
the class ChangeRegionTest method testHunkCovering.
@Test
public void testHunkCovering() throws Exception {
ChangeRegion r;
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, 0, 7));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(11, 0, 8));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(11, 0, 9));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, 0, 9));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, -7, 0));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, -8, 0));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(11, -8, 0));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(11, -9, 0));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(8, -9, 6));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(8, -4, 8));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(8, -3, 9));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(8, -12, 5));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(8, -12, 20));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(8, 12, 20));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(8, -3, 8));
assertTrue(r.getAdjustedRanges().isEmpty());
RangeUtil.assertEqualRange(new LineRange(12, 0), r.getAdjustedCoverage());
}
use of org.eclipse.jface.internal.text.revisions.Hunk in project eclipse.platform.text by eclipse.
the class ChangeRegionTest method testHunkAtStart.
@Test
public void testHunkAtStart() throws Exception {
ChangeRegion r;
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, 0, 2));
RangeUtil.assertEqualSingleRange(new LineRange(14, 5), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(14, 5), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, -2, 0));
RangeUtil.assertEqualSingleRange(new LineRange(12, 5), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(12, 5), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, -2, 1));
RangeUtil.assertEqualSingleRange(new LineRange(13, 4), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(13, 4), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, 3, 0));
RangeUtil.assertEqualSingleRange(new LineRange(15, 7), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(15, 7), r.getAdjustedCoverage());
r = new ChangeRegion(fRevision, new LineRange(12, 7));
r.adjustTo(new Hunk(12, 3, 2));
RangeUtil.assertEqualSingleRange(new LineRange(17, 5), r.getAdjustedRanges());
RangeUtil.assertEqualRange(new LineRange(17, 5), r.getAdjustedCoverage());
}
Aggregations