| 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(); |
| } |
| } |