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>
This commit is contained in:
Matthias Sohn 2015-02-02 21:21:09 +01:00
parent 7f139b8eee
commit d2e0bfa568
1 changed files with 8 additions and 19 deletions

View File

@ -450,31 +450,20 @@ public void testRelativize_doc() {
@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);
}
}