aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
authorRobin Stocker <robin@nibor.org>2013-07-08 10:51:52 +0200
committerRobin Stocker <robin@nibor.org>2013-07-08 10:53:50 +0200
commit56ee8117802a672e80011ee07ea6b253a5b7d0a9 (patch)
tree936beac19060d5089f9c277bdcfbea66dfe528f0 /org.eclipse.jgit.test
parent12326ddead2948f20fadcd495096997a941e648b (diff)
downloadjgit-56ee8117802a672e80011ee07ea6b253a5b7d0a9.tar.gz
jgit-56ee8117802a672e80011ee07ea6b253a5b7d0a9.zip
Fix bugs in TreeWalk#isPathSuffix used by PathSuffixFilter
* It didn't check the first character in the pattern due to a off-by-one error. Spotted by James Roper. * It returned true even when pattern was longer than current path, e.g. it returned that ".txt" is suffix of "txt". Bug: 411999 Change-Id: I9fbcd68a11fb57cc49956b70c387a47271a0424f Signed-off-by: Robin Stocker <robin@nibor.org>
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathSuffixFilterTest.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathSuffixFilterTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathSuffixFilterTest.java
index 3ec159198a..d871c5ec10 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathSuffixFilterTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/treewalk/filter/PathSuffixFilterTest.java
@@ -82,6 +82,16 @@ public class PathSuffixFilterTest extends RepositoryTestCase {
assertEquals(expected, paths);
}
+ @Test
+ public void testEdgeCases() throws IOException {
+ ObjectId treeId = createTree("abc", "abcd", "bcd", "c");
+ assertEquals(new ArrayList<String>(), getMatchingPaths("xbcd", treeId));
+ assertEquals(new ArrayList<String>(), getMatchingPaths("abcx", treeId));
+ assertEquals(Arrays.asList("abcd"), getMatchingPaths("abcd", treeId));
+ assertEquals(Arrays.asList("abcd", "bcd"), getMatchingPaths("bcd", treeId));
+ assertEquals(Arrays.asList("abc", "c"), getMatchingPaths("c", treeId));
+ }
+
private ObjectId createTree(String... paths) throws IOException {
final ObjectInserter odi = db.newObjectInserter();
final DirCache dc = db.readDirCache();