diff options
Diffstat (limited to 'org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheIteratorTest.java')
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheIteratorTest.java | 264 |
1 files changed, 123 insertions, 141 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheIteratorTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheIteratorTest.java index af1c8a3567..74e472d551 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheIteratorTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheIteratorTest.java @@ -1,44 +1,11 @@ /* - * Copyright (C) 2008-2009, Google Inc. - * and other copyright owners as documented in the project's IP log. + * Copyright (C) 2008-2009, Google Inc. and others * - * This program and the accompanying materials are made available - * under the terms of the Eclipse Distribution License v1.0 which - * accompanies this distribution, is reproduced below, and is - * available at http://www.eclipse.org/org/documents/edl-v10.php + * This program and the accompanying materials are made available under the + * terms of the Eclipse Distribution License v. 1.0 which is available at + * https://www.eclipse.org/org/documents/edl-v10.php. * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or - * without modification, are permitted provided that the following - * conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * - * - Neither the name of the Eclipse Foundation, Inc. nor the - * names of its contributors may be used to endorse or promote - * products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * SPDX-License-Identifier: BSD-3-Clause */ package org.eclipse.jgit.dircache; @@ -76,9 +43,10 @@ public class DirCacheIteratorTest extends RepositoryTestCase { final DirCache dc = DirCache.newInCore(); assertEquals(0, dc.getEntryCount()); - final TreeWalk tw = new TreeWalk(db); - tw.addTree(new DirCacheIterator(dc)); - assertFalse(tw.next()); + try (TreeWalk tw = new TreeWalk(db)) { + tw.addTree(new DirCacheIterator(dc)); + assertFalse(tw.next()); + } } @Test @@ -93,8 +61,9 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); final DirCacheIterator i = new DirCacheIterator(dc); @@ -120,24 +89,26 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); final DirCacheIterator i = new DirCacheIterator(dc); - final TreeWalk tw = new TreeWalk(db); - tw.addTree(i); - int pathIdx = 0; - while (tw.next()) { - assertSame(i, tw.getTree(0, DirCacheIterator.class)); - assertEquals(pathIdx, i.ptr); - assertSame(ents[pathIdx], i.getDirCacheEntry()); - assertEquals(paths[pathIdx], tw.getPathString()); - assertEquals(modes[pathIdx].getBits(), tw.getRawMode(0)); - assertSame(modes[pathIdx], tw.getFileMode(0)); - pathIdx++; + try (TreeWalk tw = new TreeWalk(db)) { + tw.addTree(i); + int pathIdx = 0; + while (tw.next()) { + assertSame(i, tw.getTree(0, DirCacheIterator.class)); + assertEquals(pathIdx, i.ptr); + assertSame(ents[pathIdx], i.getDirCacheEntry()); + assertEquals(paths[pathIdx], tw.getPathString()); + assertEquals(modes[pathIdx].getBits(), tw.getRawMode(0)); + assertSame(modes[pathIdx], tw.getFileMode(0)); + pathIdx++; + } + assertEquals(paths.length, pathIdx); } - assertEquals(paths.length, pathIdx); } @Test @@ -152,8 +123,9 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); final String[] expPaths = { "a-", "a", "a0b" }; @@ -162,26 +134,27 @@ public class DirCacheIteratorTest extends RepositoryTestCase { final int expPos[] = { 0, -1, 4 }; final DirCacheIterator i = new DirCacheIterator(dc); - final TreeWalk tw = new TreeWalk(db); - tw.addTree(i); - tw.setRecursive(false); - int pathIdx = 0; - while (tw.next()) { - assertSame(i, tw.getTree(0, DirCacheIterator.class)); - assertEquals(expModes[pathIdx].getBits(), tw.getRawMode(0)); - assertSame(expModes[pathIdx], tw.getFileMode(0)); - assertEquals(expPaths[pathIdx], tw.getPathString()); - - if (expPos[pathIdx] >= 0) { - assertEquals(expPos[pathIdx], i.ptr); - assertSame(ents[expPos[pathIdx]], i.getDirCacheEntry()); - } else { - assertSame(FileMode.TREE, tw.getFileMode(0)); + try (TreeWalk tw = new TreeWalk(db)) { + tw.addTree(i); + tw.setRecursive(false); + int pathIdx = 0; + while (tw.next()) { + assertSame(i, tw.getTree(0, DirCacheIterator.class)); + assertEquals(expModes[pathIdx].getBits(), tw.getRawMode(0)); + assertSame(expModes[pathIdx], tw.getFileMode(0)); + assertEquals(expPaths[pathIdx], tw.getPathString()); + + if (expPos[pathIdx] >= 0) { + assertEquals(expPos[pathIdx], i.ptr); + assertSame(ents[expPos[pathIdx]], i.getDirCacheEntry()); + } else { + assertSame(FileMode.TREE, tw.getFileMode(0)); + } + + pathIdx++; } - - pathIdx++; + assertEquals(expPaths.length, pathIdx); } - assertEquals(expPaths.length, pathIdx); } @Test @@ -197,26 +170,28 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); final DirCacheIterator i = new DirCacheIterator(dc); - final TreeWalk tw = new TreeWalk(db); - tw.addTree(i); - tw.setRecursive(true); - int pathIdx = 0; - while (tw.next()) { - final DirCacheIterator c = tw.getTree(0, DirCacheIterator.class); - assertNotNull(c); - assertEquals(pathIdx, c.ptr); - assertSame(ents[pathIdx], c.getDirCacheEntry()); - assertEquals(paths[pathIdx], tw.getPathString()); - assertEquals(mode.getBits(), tw.getRawMode(0)); - assertSame(mode, tw.getFileMode(0)); - pathIdx++; + try (TreeWalk tw = new TreeWalk(db)) { + tw.addTree(i); + tw.setRecursive(true); + int pathIdx = 0; + while (tw.next()) { + final DirCacheIterator c = tw.getTree(0, DirCacheIterator.class); + assertNotNull(c); + assertEquals(pathIdx, c.ptr); + assertSame(ents[pathIdx], c.getDirCacheEntry()); + assertEquals(paths[pathIdx], tw.getPathString()); + assertEquals(mode.getBits(), tw.getRawMode(0)); + assertSame(mode, tw.getFileMode(0)); + pathIdx++; + } + assertEquals(paths.length, pathIdx); } - assertEquals(paths.length, pathIdx); } @Test @@ -232,25 +207,27 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); - final TreeWalk tw = new TreeWalk(db); - tw.addTree(new DirCacheIterator(dc)); - tw.setRecursive(true); - int pathIdx = 0; - while (tw.next()) { - final DirCacheIterator c = tw.getTree(0, DirCacheIterator.class); - assertNotNull(c); - assertEquals(pathIdx, c.ptr); - assertSame(ents[pathIdx], c.getDirCacheEntry()); - assertEquals(paths[pathIdx], tw.getPathString()); - assertEquals(mode.getBits(), tw.getRawMode(0)); - assertSame(mode, tw.getFileMode(0)); - pathIdx++; + try (TreeWalk tw = new TreeWalk(db)) { + tw.addTree(new DirCacheIterator(dc)); + tw.setRecursive(true); + int pathIdx = 0; + while (tw.next()) { + final DirCacheIterator c = tw.getTree(0, DirCacheIterator.class); + assertNotNull(c); + assertEquals(pathIdx, c.ptr); + assertSame(ents[pathIdx], c.getDirCacheEntry()); + assertEquals(paths[pathIdx], tw.getPathString()); + assertEquals(mode.getBits(), tw.getRawMode(0)); + assertSame(mode, tw.getFileMode(0)); + pathIdx++; + } + assertEquals(paths.length, pathIdx); } - assertEquals(paths.length, pathIdx); } @Test @@ -266,8 +243,9 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); DirCacheIterator dci = new DirCacheIterator(dc); @@ -360,8 +338,9 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); DirCacheIterator dci = new DirCacheIterator(dc); @@ -393,26 +372,28 @@ public class DirCacheIteratorTest extends RepositoryTestCase { } final DirCacheBuilder b = dc.builder(); - for (int i = 0; i < ents.length; i++) - b.add(ents[i]); + for (DirCacheEntry ent : ents) { + b.add(ent); + } b.finish(); - final TreeWalk tw = new TreeWalk(db); - for (int victimIdx = 0; victimIdx < paths.length; victimIdx++) { - tw.reset(); - tw.addTree(new DirCacheIterator(dc)); - tw.setFilter(PathFilterGroup.createFromStrings(Collections - .singleton(paths[victimIdx]))); - tw.setRecursive(tw.getFilter().shouldBeRecursive()); - assertTrue(tw.next()); - final DirCacheIterator c = tw.getTree(0, DirCacheIterator.class); - assertNotNull(c); - assertEquals(victimIdx, c.ptr); - assertSame(ents[victimIdx], c.getDirCacheEntry()); - assertEquals(paths[victimIdx], tw.getPathString()); - assertEquals(mode.getBits(), tw.getRawMode(0)); - assertSame(mode, tw.getFileMode(0)); - assertFalse(tw.next()); + try (TreeWalk tw = new TreeWalk(db)) { + for (int victimIdx = 0; victimIdx < paths.length; victimIdx++) { + tw.reset(); + tw.addTree(new DirCacheIterator(dc)); + tw.setFilter(PathFilterGroup.createFromStrings(Collections + .singleton(paths[victimIdx]))); + tw.setRecursive(tw.getFilter().shouldBeRecursive()); + assertTrue(tw.next()); + final DirCacheIterator c = tw.getTree(0, DirCacheIterator.class); + assertNotNull(c); + assertEquals(victimIdx, c.ptr); + assertSame(ents[victimIdx], c.getDirCacheEntry()); + assertEquals(paths[victimIdx], tw.getPathString()); + assertEquals(mode.getBits(), tw.getRawMode(0)); + assertSame(mode, tw.getFileMode(0)); + assertFalse(tw.next()); + } } } @@ -424,18 +405,19 @@ public class DirCacheIteratorTest extends RepositoryTestCase { final DirCache dc = DirCache.read(path, FS.DETECTED); assertEquals(2, dc.getEntryCount()); - final TreeWalk tw = new TreeWalk(db); - tw.setRecursive(true); - tw.addTree(new DirCacheIterator(dc)); + try (TreeWalk tw = new TreeWalk(db)) { + tw.setRecursive(true); + tw.addTree(new DirCacheIterator(dc)); - assertTrue(tw.next()); - assertEquals("a/a", tw.getPathString()); - assertSame(FileMode.REGULAR_FILE, tw.getFileMode(0)); + assertTrue(tw.next()); + assertEquals("a/a", tw.getPathString()); + assertSame(FileMode.REGULAR_FILE, tw.getFileMode(0)); - assertTrue(tw.next()); - assertEquals("q", tw.getPathString()); - assertSame(FileMode.REGULAR_FILE, tw.getFileMode(0)); + assertTrue(tw.next()); + assertEquals("q", tw.getPathString()); + assertSame(FileMode.REGULAR_FILE, tw.getFileMode(0)); - assertFalse(tw.next()); + assertFalse(tw.next()); + } } } |