improve repository name validation

This commit is contained in:
Sebastian Sdorra
2012-05-18 15:47:24 +02:00
parent cac2f69c89
commit e134cf0595
3 changed files with 118 additions and 13 deletions

View File

@@ -142,19 +142,92 @@ public class ValidationUtilTest
assertTrue(ValidationUtil.isRepositoryNameValid("scm/plugins/git-plugin"));
assertTrue(ValidationUtil.isRepositoryNameValid("s"));
assertTrue(ValidationUtil.isRepositoryNameValid("sc"));
assertTrue(ValidationUtil.isRepositoryNameValid(".scm/plugins"));
// issue 142
assertFalse(ValidationUtil.isRepositoryNameValid("."));
assertFalse(ValidationUtil.isRepositoryNameValid("/"));
assertFalse(ValidationUtil.isRepositoryNameValid(".scm/plugins"));
assertFalse(ValidationUtil.isRepositoryNameValid("scm/plugins/."));
assertFalse(ValidationUtil.isRepositoryNameValid("scm/../plugins"));
assertFalse(ValidationUtil.isRepositoryNameValid("scm/main/"));
assertFalse(ValidationUtil.isRepositoryNameValid("/scm/main/"));
// issue 144
assertFalse(ValidationUtil.isRepositoryNameValid("scm/./main"));
assertFalse(ValidationUtil.isRepositoryNameValid("scm//main"));
// issue 148
//J-
String[] validPaths = {
"scm",
"scm/main",
"scm/plugins/git-plugin",
"s",
"sc",
".scm/plugins",
".hiddenrepo",
"b.",
"...",
"..c",
"d..",
"a/b..",
"a/..b",
"a..c",
};
String[] invalidPaths = {
".",
"/",
"//",
"..",
"/.",
"/..",
"./",
"../",
"/../",
"/./",
"/...",
"/abc",
".../",
"/sdf/",
"asdf/",
"./b",
"scm/plugins/.",
"scm/../plugins",
"scm/main/",
"/scm/main/",
"scm/./main",
"scm//main",
"scm\\main",
"scm/main-$HOME",
"scm/main-${HOME}-home",
"scm/main-%HOME-home",
"scm/main-%HOME%-home",
"abc$abc",
"abc%abc",
"abc<abc",
"abc>abc",
"abc#abc",
"abc+abc",
"abc{abc",
"abc}abc",
"abc(abc",
"abc)abc",
"abc[abc",
"abc]abc",
"abc|abc"
};
//J+
for (String path : validPaths)
{
assertTrue(ValidationUtil.isRepositoryNameValid(path));
}
for (String path : invalidPaths)
{
assertFalse(ValidationUtil.isRepositoryNameValid(path));
}
}
/**