blob: c08cea8685a88fa893ebdda99475adb0b74a5f43 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Google Inc and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Sergey Prigogin - initial API and implementation
*******************************************************************************/
package org.eclipse.core.tests.internal.utils;
import java.net.URI;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.core.filesystem.EFS;
import org.eclipse.core.filesystem.URIUtil;
import org.eclipse.core.internal.utils.FileUtil;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.tests.filesystem.FileSystemTest;
/**
* Tests for {@link FileUtil} class.
*/
public class FileUtilTest extends FileSystemTest {
public static Test suite() {
return new TestSuite(FileUtilTest.class);
}
private IPath baseTestDir;
@Override
protected void setUp() throws Exception {
super.setUp();
baseTestDir = getRandomLocation();
baseTestDir.toFile().mkdirs();
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
ensureDoesNotExistInFileSystem(baseTestDir.toFile());
}
public void testRealPath() throws Exception {
IPath realPath = baseTestDir.append("Test.TXT");
realPath.toFile().createNewFile();
IPath testPath;
if (EFS.getLocalFileSystem().isCaseSensitive()) {
testPath = realPath;
} else {
testPath = Path.fromOSString(realPath.toOSString().toLowerCase());
}
assertEquals(realPath, FileUtil.realPath(testPath));
}
public void testRealPathOfNonexistingFile() throws Exception {
IPath realPath = baseTestDir.append("ExistingDir");
realPath.toFile().mkdirs();
IPath testPath;
if (EFS.getLocalFileSystem().isCaseSensitive()) {
testPath = realPath;
} else {
testPath = Path.fromOSString(realPath.toOSString().toLowerCase());
}
String suffix = "NonexistingDir/NonexistingFile.txt";
assertEquals(realPath.append(suffix), FileUtil.realPath(testPath.append(suffix)));
}
public void testRealURI() throws Exception {
IPath realPath = baseTestDir.append("Test.TXT");
realPath.toFile().createNewFile();
IPath testPath;
if (EFS.getLocalFileSystem().isCaseSensitive()) {
testPath = realPath;
} else {
testPath = Path.fromOSString(realPath.toOSString().toLowerCase());
}
URI realURI = URIUtil.toURI(realPath);
URI testURI = URIUtil.toURI(testPath);
assertEquals(realURI, FileUtil.realURI(testURI));
}
}