summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
authorRobin Rosenberg <robin.rosenberg@dewire.com>2013-12-27 16:31:32 +0100
committerMatthias Sohn <matthias.sohn@sap.com>2014-02-05 10:47:12 +0100
commite03f18941f5d996d23bc004ad63049bcfc0e53d3 (patch)
tree647dc5a0d092cdf86ab4a8be86e2543fea32bb67 /org.eclipse.jgit.test
parent08fd639c0d8fd1aebf96106b1d2ad67818c7ebd9 (diff)
downloadjgit-e03f18941f5d996d23bc004ad63049bcfc0e53d3.tar.gz
jgit-e03f18941f5d996d23bc004ad63049bcfc0e53d3.zip
Ban dangerous ref names in Windows
Bug: 423551 Change-Id: I3e71ef1b4a8181f46d2902c9169859f150cd6ad0 Also-By: Robin Stocker <robin@nibor.org> Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ValidRefNameTest.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ValidRefNameTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ValidRefNameTest.java
index 08d675bc04..2f8bfb3fdd 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ValidRefNameTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ValidRefNameTest.java
@@ -45,6 +45,8 @@ package org.eclipse.jgit.lib;
import static org.eclipse.jgit.junit.Assert.assertEquals;
+import org.eclipse.jgit.junit.MockSystemReader;
+import org.eclipse.jgit.util.SystemReader;
import org.junit.Test;
public class ValidRefNameTest {
@@ -192,4 +194,25 @@ public class ValidRefNameTest {
assertValid(false, "refs/heads/master@{1}");
assertValid(false, "refs/heads/master@{1.hour.ago}");
}
+
+ @Test
+ public void testWindowsReservedNames() {
+ SystemReader original = SystemReader.getInstance();
+ try {
+ SystemReader.setInstance(new MockSystemReader() {
+ public boolean isWindows() {
+ return true;
+ }
+ });
+ // re-using code from DirCacheCheckoutTest, hence
+ // only testing for one of the special names.
+ assertValid(false, "refs/heads/con");
+ assertValid(false, "refs/con/x");
+ assertValid(false, "con/heads/x");
+ assertValid(true, "refs/heads/conx");
+ assertValid(true, "refs/heads/xcon");
+ } finally {
+ SystemReader.setInstance(original);
+ }
+ }
}