StringUtils.cleanPath retains plain pointer to current directory
Issue: SPR-16908
This commit is contained in:
@@ -378,53 +378,59 @@ public class StringUtilsTests {
|
||||
assertEquals("../mypath/myfile", StringUtils.cleanPath("mypath/../../mypath/myfile"));
|
||||
assertEquals("/../mypath/myfile", StringUtils.cleanPath("/../mypath/myfile"));
|
||||
assertEquals("/mypath/myfile", StringUtils.cleanPath("/a/:b/../../mypath/myfile"));
|
||||
assertEquals("file:///c:/path/to/the%20file.txt", StringUtils.cleanPath("file:///c:/some/../path/to/the%20file.txt"));
|
||||
assertEquals("/", StringUtils.cleanPath("/"));
|
||||
assertEquals("/", StringUtils.cleanPath("/mypath/../"));
|
||||
assertEquals("", StringUtils.cleanPath("mypath/.."));
|
||||
assertEquals("", StringUtils.cleanPath("mypath/../."));
|
||||
assertEquals("./", StringUtils.cleanPath("mypath/../"));
|
||||
assertEquals("./", StringUtils.cleanPath("././"));
|
||||
assertEquals("./", StringUtils.cleanPath("./"));
|
||||
assertEquals("../", StringUtils.cleanPath("../"));
|
||||
assertEquals("../", StringUtils.cleanPath("./../"));
|
||||
assertEquals("../", StringUtils.cleanPath(".././"));
|
||||
assertEquals("file:/", StringUtils.cleanPath("file:/"));
|
||||
assertEquals("file:/", StringUtils.cleanPath("file:/mypath/../"));
|
||||
assertEquals("file:", StringUtils.cleanPath("file:mypath/.."));
|
||||
assertEquals("file:", StringUtils.cleanPath("file:mypath/../."));
|
||||
assertEquals("file:./", StringUtils.cleanPath("file:mypath/../"));
|
||||
assertEquals("file:./", StringUtils.cleanPath("file:././"));
|
||||
assertEquals("file:./", StringUtils.cleanPath("file:./"));
|
||||
assertEquals("file:../", StringUtils.cleanPath("file:../"));
|
||||
assertEquals("file:../", StringUtils.cleanPath("file:./../"));
|
||||
assertEquals("file:../", StringUtils.cleanPath("file:.././"));
|
||||
assertEquals("file:///c:/path/the%20file.txt", StringUtils.cleanPath("file:///c:/some/../path/the%20file.txt"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPathEquals() {
|
||||
assertTrue("Must be true for the same strings",
|
||||
StringUtils.pathEquals("/dummy1/dummy2/dummy3",
|
||||
"/dummy1/dummy2/dummy3"));
|
||||
StringUtils.pathEquals("/dummy1/dummy2/dummy3", "/dummy1/dummy2/dummy3"));
|
||||
assertTrue("Must be true for the same win strings",
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3",
|
||||
"C:\\dummy1\\dummy2\\dummy3"));
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3", "C:\\dummy1\\dummy2\\dummy3"));
|
||||
assertTrue("Must be true for one top path on 1",
|
||||
StringUtils.pathEquals("/dummy1/bin/../dummy2/dummy3",
|
||||
"/dummy1/dummy2/dummy3"));
|
||||
StringUtils.pathEquals("/dummy1/bin/../dummy2/dummy3", "/dummy1/dummy2/dummy3"));
|
||||
assertTrue("Must be true for one win top path on 2",
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3",
|
||||
"C:\\dummy1\\bin\\..\\dummy2\\dummy3"));
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3", "C:\\dummy1\\bin\\..\\dummy2\\dummy3"));
|
||||
assertTrue("Must be true for two top paths on 1",
|
||||
StringUtils.pathEquals("/dummy1/bin/../dummy2/bin/../dummy3",
|
||||
"/dummy1/dummy2/dummy3"));
|
||||
StringUtils.pathEquals("/dummy1/bin/../dummy2/bin/../dummy3", "/dummy1/dummy2/dummy3"));
|
||||
assertTrue("Must be true for two win top paths on 2",
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3",
|
||||
"C:\\dummy1\\bin\\..\\dummy2\\bin\\..\\dummy3"));
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3", "C:\\dummy1\\bin\\..\\dummy2\\bin\\..\\dummy3"));
|
||||
assertTrue("Must be true for double top paths on 1",
|
||||
StringUtils.pathEquals("/dummy1/bin/tmp/../../dummy2/dummy3",
|
||||
"/dummy1/dummy2/dummy3"));
|
||||
StringUtils.pathEquals("/dummy1/bin/tmp/../../dummy2/dummy3", "/dummy1/dummy2/dummy3"));
|
||||
assertTrue("Must be true for double top paths on 2 with similarity",
|
||||
StringUtils.pathEquals("/dummy1/dummy2/dummy3",
|
||||
"/dummy1/dum/dum/../../dummy2/dummy3"));
|
||||
StringUtils.pathEquals("/dummy1/dummy2/dummy3", "/dummy1/dum/dum/../../dummy2/dummy3"));
|
||||
assertTrue("Must be true for current paths",
|
||||
StringUtils.pathEquals("./dummy1/dummy2/dummy3",
|
||||
"dummy1/dum/./dum/../../dummy2/dummy3"));
|
||||
StringUtils.pathEquals("./dummy1/dummy2/dummy3", "dummy1/dum/./dum/../../dummy2/dummy3"));
|
||||
assertFalse("Must be false for relative/absolute paths",
|
||||
StringUtils.pathEquals("./dummy1/dummy2/dummy3",
|
||||
"/dummy1/dum/./dum/../../dummy2/dummy3"));
|
||||
StringUtils.pathEquals("./dummy1/dummy2/dummy3", "/dummy1/dum/./dum/../../dummy2/dummy3"));
|
||||
assertFalse("Must be false for different strings",
|
||||
StringUtils.pathEquals("/dummy1/dummy2/dummy3",
|
||||
"/dummy1/dummy4/dummy3"));
|
||||
StringUtils.pathEquals("/dummy1/dummy2/dummy3", "/dummy1/dummy4/dummy3"));
|
||||
assertFalse("Must be false for one false path on 1",
|
||||
StringUtils.pathEquals("/dummy1/bin/tmp/../dummy2/dummy3",
|
||||
"/dummy1/dummy2/dummy3"));
|
||||
StringUtils.pathEquals("/dummy1/bin/tmp/../dummy2/dummy3", "/dummy1/dummy2/dummy3"));
|
||||
assertFalse("Must be false for one false win top path on 2",
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3",
|
||||
"C:\\dummy1\\bin\\tmp\\..\\dummy2\\dummy3"));
|
||||
StringUtils.pathEquals("C:\\dummy1\\dummy2\\dummy3", "C:\\dummy1\\bin\\tmp\\..\\dummy2\\dummy3"));
|
||||
assertFalse("Must be false for top path on 1 + difference",
|
||||
StringUtils.pathEquals("/dummy1/bin/../dummy2/dummy3",
|
||||
"/dummy1/dummy2/dummy4"));
|
||||
StringUtils.pathEquals("/dummy1/bin/../dummy2/dummy3", "/dummy1/dummy2/dummy4"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user