From: David Pursehouse Date: Mon, 25 Jan 2016 06:20:24 +0000 (+0900) Subject: BlameGeneratorTest: Create Git instances in try-with-resource X-Git-Tag: v4.3.0.201603230630-rc1~37^2~3 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e5cf4a89fd25fc7f857f8dd84ce87cb6bd98c3c0;p=jgit.git BlameGeneratorTest: Create Git instances in try-with-resource Change-Id: I2dc4191603fbd6c3214763b869882c51b0e53284 Signed-off-by: David Pursehouse --- diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/blame/BlameGeneratorTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/blame/BlameGeneratorTest.java index 42909f0d76..fa9848babe 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/blame/BlameGeneratorTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/blame/BlameGeneratorTest.java @@ -58,141 +58,142 @@ import org.junit.Test; public class BlameGeneratorTest extends RepositoryTestCase { @Test public void testBoundLineDelete() throws Exception { - Git git = new Git(db); - - String[] content1 = new String[] { "first", "second" }; - writeTrashFile("file.txt", join(content1)); - git.add().addFilepattern("file.txt").call(); - RevCommit c1 = git.commit().setMessage("create file").call(); - - String[] content2 = new String[] { "third", "first", "second" }; - writeTrashFile("file.txt", join(content2)); - git.add().addFilepattern("file.txt").call(); - RevCommit c2 = git.commit().setMessage("create file").call(); - - try (BlameGenerator generator = new BlameGenerator(db, "file.txt")) { - generator.push(null, db.resolve(Constants.HEAD)); - assertEquals(3, generator.getResultContents().size()); - - assertTrue(generator.next()); - assertEquals(c2, generator.getSourceCommit()); - assertEquals(1, generator.getRegionLength()); - assertEquals(0, generator.getResultStart()); - assertEquals(1, generator.getResultEnd()); - assertEquals(0, generator.getSourceStart()); - assertEquals(1, generator.getSourceEnd()); - assertEquals("file.txt", generator.getSourcePath()); - - assertTrue(generator.next()); - assertEquals(c1, generator.getSourceCommit()); - assertEquals(2, generator.getRegionLength()); - assertEquals(1, generator.getResultStart()); - assertEquals(3, generator.getResultEnd()); - assertEquals(0, generator.getSourceStart()); - assertEquals(2, generator.getSourceEnd()); - assertEquals("file.txt", generator.getSourcePath()); - - assertFalse(generator.next()); + try (Git git = new Git(db)) { + String[] content1 = new String[] { "first", "second" }; + writeTrashFile("file.txt", join(content1)); + git.add().addFilepattern("file.txt").call(); + RevCommit c1 = git.commit().setMessage("create file").call(); + + String[] content2 = new String[] { "third", "first", "second" }; + writeTrashFile("file.txt", join(content2)); + git.add().addFilepattern("file.txt").call(); + RevCommit c2 = git.commit().setMessage("create file").call(); + + try (BlameGenerator generator = new BlameGenerator(db, "file.txt")) { + generator.push(null, db.resolve(Constants.HEAD)); + assertEquals(3, generator.getResultContents().size()); + + assertTrue(generator.next()); + assertEquals(c2, generator.getSourceCommit()); + assertEquals(1, generator.getRegionLength()); + assertEquals(0, generator.getResultStart()); + assertEquals(1, generator.getResultEnd()); + assertEquals(0, generator.getSourceStart()); + assertEquals(1, generator.getSourceEnd()); + assertEquals("file.txt", generator.getSourcePath()); + + assertTrue(generator.next()); + assertEquals(c1, generator.getSourceCommit()); + assertEquals(2, generator.getRegionLength()); + assertEquals(1, generator.getResultStart()); + assertEquals(3, generator.getResultEnd()); + assertEquals(0, generator.getSourceStart()); + assertEquals(2, generator.getSourceEnd()); + assertEquals("file.txt", generator.getSourcePath()); + + assertFalse(generator.next()); + } } } @Test public void testRenamedBoundLineDelete() throws Exception { - Git git = new Git(db); - final String FILENAME_1 = "subdir/file1.txt"; - final String FILENAME_2 = "subdir/file2.txt"; - - String[] content1 = new String[] { "first", "second" }; - writeTrashFile(FILENAME_1, join(content1)); - git.add().addFilepattern(FILENAME_1).call(); - RevCommit c1 = git.commit().setMessage("create file1").call(); - - // rename it - writeTrashFile(FILENAME_2, join(content1)); - git.add().addFilepattern(FILENAME_2).call(); - deleteTrashFile(FILENAME_1); - git.rm().addFilepattern(FILENAME_1).call(); - git.commit().setMessage("rename file1.txt to file2.txt").call(); - - // and change the new file - String[] content2 = new String[] { "third", "first", "second" }; - writeTrashFile(FILENAME_2, join(content2)); - git.add().addFilepattern(FILENAME_2).call(); - RevCommit c2 = git.commit().setMessage("change file2").call(); - - try (BlameGenerator generator = new BlameGenerator(db, FILENAME_2)) { - generator.push(null, db.resolve(Constants.HEAD)); - assertEquals(3, generator.getResultContents().size()); - - assertTrue(generator.next()); - assertEquals(c2, generator.getSourceCommit()); - assertEquals(1, generator.getRegionLength()); - assertEquals(0, generator.getResultStart()); - assertEquals(1, generator.getResultEnd()); - assertEquals(0, generator.getSourceStart()); - assertEquals(1, generator.getSourceEnd()); - assertEquals(FILENAME_2, generator.getSourcePath()); - - assertTrue(generator.next()); - assertEquals(c1, generator.getSourceCommit()); - assertEquals(2, generator.getRegionLength()); - assertEquals(1, generator.getResultStart()); - assertEquals(3, generator.getResultEnd()); - assertEquals(0, generator.getSourceStart()); - assertEquals(2, generator.getSourceEnd()); - assertEquals(FILENAME_1, generator.getSourcePath()); - - assertFalse(generator.next()); - } - - // and test again with other BlameGenerator API: - try (BlameGenerator generator = new BlameGenerator(db, FILENAME_2)) { - generator.push(null, db.resolve(Constants.HEAD)); - BlameResult result = generator.computeBlameResult(); - - assertEquals(3, result.getResultContents().size()); - - assertEquals(c2, result.getSourceCommit(0)); - assertEquals(FILENAME_2, result.getSourcePath(0)); - - assertEquals(c1, result.getSourceCommit(1)); - assertEquals(FILENAME_1, result.getSourcePath(1)); - - assertEquals(c1, result.getSourceCommit(2)); - assertEquals(FILENAME_1, result.getSourcePath(2)); + try (Git git = new Git(db)) { + final String FILENAME_1 = "subdir/file1.txt"; + final String FILENAME_2 = "subdir/file2.txt"; + + String[] content1 = new String[] { "first", "second" }; + writeTrashFile(FILENAME_1, join(content1)); + git.add().addFilepattern(FILENAME_1).call(); + RevCommit c1 = git.commit().setMessage("create file1").call(); + + // rename it + writeTrashFile(FILENAME_2, join(content1)); + git.add().addFilepattern(FILENAME_2).call(); + deleteTrashFile(FILENAME_1); + git.rm().addFilepattern(FILENAME_1).call(); + git.commit().setMessage("rename file1.txt to file2.txt").call(); + + // and change the new file + String[] content2 = new String[] { "third", "first", "second" }; + writeTrashFile(FILENAME_2, join(content2)); + git.add().addFilepattern(FILENAME_2).call(); + RevCommit c2 = git.commit().setMessage("change file2").call(); + + try (BlameGenerator generator = new BlameGenerator(db, FILENAME_2)) { + generator.push(null, db.resolve(Constants.HEAD)); + assertEquals(3, generator.getResultContents().size()); + + assertTrue(generator.next()); + assertEquals(c2, generator.getSourceCommit()); + assertEquals(1, generator.getRegionLength()); + assertEquals(0, generator.getResultStart()); + assertEquals(1, generator.getResultEnd()); + assertEquals(0, generator.getSourceStart()); + assertEquals(1, generator.getSourceEnd()); + assertEquals(FILENAME_2, generator.getSourcePath()); + + assertTrue(generator.next()); + assertEquals(c1, generator.getSourceCommit()); + assertEquals(2, generator.getRegionLength()); + assertEquals(1, generator.getResultStart()); + assertEquals(3, generator.getResultEnd()); + assertEquals(0, generator.getSourceStart()); + assertEquals(2, generator.getSourceEnd()); + assertEquals(FILENAME_1, generator.getSourcePath()); + + assertFalse(generator.next()); + } + + // and test again with other BlameGenerator API: + try (BlameGenerator generator = new BlameGenerator(db, FILENAME_2)) { + generator.push(null, db.resolve(Constants.HEAD)); + BlameResult result = generator.computeBlameResult(); + + assertEquals(3, result.getResultContents().size()); + + assertEquals(c2, result.getSourceCommit(0)); + assertEquals(FILENAME_2, result.getSourcePath(0)); + + assertEquals(c1, result.getSourceCommit(1)); + assertEquals(FILENAME_1, result.getSourcePath(1)); + + assertEquals(c1, result.getSourceCommit(2)); + assertEquals(FILENAME_1, result.getSourcePath(2)); + } } } @Test public void testLinesAllDeletedShortenedWalk() throws Exception { - Git git = new Git(db); - - String[] content1 = new String[] { "first", "second", "third" }; + try (Git git = new Git(db)) { + String[] content1 = new String[] { "first", "second", "third" }; - writeTrashFile("file.txt", join(content1)); - git.add().addFilepattern("file.txt").call(); - git.commit().setMessage("create file").call(); + writeTrashFile("file.txt", join(content1)); + git.add().addFilepattern("file.txt").call(); + git.commit().setMessage("create file").call(); - String[] content2 = new String[] { "" }; + String[] content2 = new String[] { "" }; - writeTrashFile("file.txt", join(content2)); - git.add().addFilepattern("file.txt").call(); - git.commit().setMessage("create file").call(); + writeTrashFile("file.txt", join(content2)); + git.add().addFilepattern("file.txt").call(); + git.commit().setMessage("create file").call(); - writeTrashFile("file.txt", join(content1)); - git.add().addFilepattern("file.txt").call(); - RevCommit c3 = git.commit().setMessage("create file").call(); + writeTrashFile("file.txt", join(content1)); + git.add().addFilepattern("file.txt").call(); + RevCommit c3 = git.commit().setMessage("create file").call(); - try (BlameGenerator generator = new BlameGenerator(db, "file.txt")) { - generator.push(null, db.resolve(Constants.HEAD)); - assertEquals(3, generator.getResultContents().size()); + try (BlameGenerator generator = new BlameGenerator(db, "file.txt")) { + generator.push(null, db.resolve(Constants.HEAD)); + assertEquals(3, generator.getResultContents().size()); - assertTrue(generator.next()); - assertEquals(c3, generator.getSourceCommit()); - assertEquals(0, generator.getResultStart()); - assertEquals(3, generator.getResultEnd()); + assertTrue(generator.next()); + assertEquals(c3, generator.getSourceCommit()); + assertEquals(0, generator.getResultStart()); + assertEquals(3, generator.getResultEnd()); - assertFalse(generator.next()); + assertFalse(generator.next()); + } } }