Browse Source

Fix FileUtils.testRelativize_mixedCase which failed on Mac OS X

HFS is case insensitive hence expecting it to return the result for case
sensitive filesystem doesn't work.

Change-Id: I292eab78e50711529a0412f9a54e174a3ac16109
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
tags/v3.7.0.201502031740-rc1
Matthias Sohn 9 years ago
parent
commit
d2e0bfa568
1 changed files with 8 additions and 19 deletions
  1. 8
    19
      org.eclipse.jgit.test/tst/org/eclipse/jgit/util/FileUtilTest.java

+ 8
- 19
org.eclipse.jgit.test/tst/org/eclipse/jgit/util/FileUtilTest.java View File

@@ -450,31 +450,20 @@ public class FileUtilTest {
@Test
public void testRelativize_mixedCase() {
SystemReader systemReader = SystemReader.getInstance();
String oldOSName = null;
String base = toOSPathString("C:\\git\\jgit");
String other = toOSPathString("C:\\Git\\test\\d\\f.txt");
String expectedWindows = toOSPathString("..\\test\\d\\f.txt");
String expectedUnix = toOSPathString("..\\..\\Git\\test\\d\\f.txt");
String expectedCaseInsensitive = toOSPathString("..\\test\\d\\f.txt");
String expectedCaseSensitive = toOSPathString("..\\..\\Git\\test\\d\\f.txt");

if (!systemReader.isWindows()) {
if (systemReader.isWindows()) {
String actual = FileUtils.relativize(base, other);
assertEquals(expectedUnix, actual);

// FS_POSIX#isCaseSensitive will return "false" for mac OS X.
// Use this to test both behaviors.
oldOSName = System.getProperty("os.name");
try {
System.setProperty("os.name", "Mac OS X");

actual = FileUtils.relativize(base, other);
assertEquals(expectedWindows, actual);
} finally {
if (oldOSName != null)
System.setProperty("os.name", oldOSName);
}
assertEquals(expectedCaseInsensitive, actual);
} else if (systemReader.isMacOS()) {
String actual = FileUtils.relativize(base, other);
assertEquals(expectedCaseInsensitive, actual);
} else {
String actual = FileUtils.relativize(base, other);
assertEquals(expectedWindows, actual);
assertEquals(expectedCaseSensitive, actual);
}
}


Loading…
Cancel
Save