fixed Filesystem:makePathRelative and added 2 more testcases
This commit is contained in:
parent
8d218e7f50
commit
cd3206c5cb
@ -369,10 +369,14 @@ class Filesystem
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Determine how deep the start path is relative to the common path (ie, "web/bundles" = 2 levels)
|
// Determine how deep the start path is relative to the common path (ie, "web/bundles" = 2 levels)
|
||||||
$depth = count($startPathArr) - $index;
|
if (count($startPathArr) === 1 && $startPathArr[0] === '') {
|
||||||
|
$depth = 0;
|
||||||
|
} else {
|
||||||
|
$depth = count($startPathArr) - $index;
|
||||||
|
}
|
||||||
|
|
||||||
// When we need to traverse from the start, and we are starting from a root path, don't add '../'
|
// When we need to traverse from the start, and we are starting from a root path, don't add '../'
|
||||||
if ('/' === $startPath[0] && 0 === $index && 1 === $depth) {
|
if ('/' === $startPath[0] && 0 === $index && 0 === $depth) {
|
||||||
$traverser = '';
|
$traverser = '';
|
||||||
} else {
|
} else {
|
||||||
// Repeated "../" for each level need to reach the common path
|
// Repeated "../" for each level need to reach the common path
|
||||||
|
@ -840,6 +840,8 @@ class FilesystemTest extends FilesystemTestCase
|
|||||||
array('/a/aab/bb/', '/a/aa/', '../aab/bb/'),
|
array('/a/aab/bb/', '/a/aa/', '../aab/bb/'),
|
||||||
array('/a/aab/bb/', '/', 'a/aab/bb/'),
|
array('/a/aab/bb/', '/', 'a/aab/bb/'),
|
||||||
array('/a/aab/bb/', '/b/aab', '../../a/aab/bb/'),
|
array('/a/aab/bb/', '/b/aab', '../../a/aab/bb/'),
|
||||||
|
array('/aab/bb', '/aa', '../aab/bb/'),
|
||||||
|
array('/aab', '/aa', '../aab/'),
|
||||||
);
|
);
|
||||||
|
|
||||||
if ('\\' === DIRECTORY_SEPARATOR) {
|
if ('\\' === DIRECTORY_SEPARATOR) {
|
||||||
|
Reference in New Issue
Block a user