blob: 2f35d6775c0fb471967bad44dd0141a485248380 [file] [log] [blame]
package com.intellij.util;
import com.intellij.openapi.util.SystemInfo;
import junit.framework.Assert;
import junit.framework.TestCase;
/**
* @author traff
*/
public class PathMappingSettingsTest extends TestCase {
public static final String LOCAL_PATH_TO_FILE = "C:\\PythonSources\\src\\runner\\run.py";
public static final String REMOTE_PATH_TO_FILE = "/home/testPrj/runner/run.py";
public void testTrailingSlashes() {
PathMappingSettings mappingSettings = create();
mappingSettings.addMapping("C:\\PythonSources\\src\\", "/home/testPrj");
Assert.assertEquals("C:/PythonSources/src/runner/run.py", mappingSettings.convertToLocal(REMOTE_PATH_TO_FILE));
Assert.assertEquals("/home/testPrj/runner/run.py", mappingSettings.convertToRemote(LOCAL_PATH_TO_FILE));
}
public void testCaseNormalizingOnWin() {
PathMappingSettings mappingSettings = create();
mappingSettings.addMapping("c:/pythonsources/src", "/home/testPrj/");
if (SystemInfo.isWindows) {
Assert.assertEquals(REMOTE_PATH_TO_FILE, mappingSettings.convertToRemote(LOCAL_PATH_TO_FILE));
}
else {
Assert.assertEquals(LOCAL_PATH_TO_FILE, mappingSettings.convertToRemote(LOCAL_PATH_TO_FILE)); //don't convert
}
}
public void testOverlappingPaths() {
PathMappingSettings mappingSettings = create();
mappingSettings.addMapping("V:/site-packages", "/usr/lib/python2.6/site-packages");
mappingSettings.addMapping("V:/site-packages64", "/usr/lib64/python2.6/site-packages");
mappingSettings.addMapping("V:/bfms/django_root", "/opt/bfms");
mappingSettings.addMapping("V:/bfms", "/opt/bfms_trunk");
Assert.assertEquals("/usr/lib64/python2.6/site-packages/django", mappingSettings.convertToRemote("V:\\site-packages64\\django"));
Assert.assertEquals("V:/site-packages64/django", mappingSettings.convertToLocal("/usr/lib64/python2.6/site-packages/django"));
Assert.assertEquals("/opt/bfms/myapp", mappingSettings.convertToRemote("V:/bfms/django_root/myapp"));
Assert.assertEquals("V:/bfms/django_root/myapp", mappingSettings.convertToLocal("/opt/bfms/myapp"));
}
private static PathMappingSettings create() {
return new PathMappingSettings();
}
}