Browse Source

Tests for path resolution

rpm
J. King 3 years ago
parent
commit
23749b51aa
  1. 5
      lib/Service/Daemon.php
  2. 18
      tests/cases/Service/TestDaemon.php

5
lib/Service/Daemon.php

@ -159,9 +159,10 @@ class Daemon {
if ($cwd === false) {
return false;
}
$path = substr($cwd, 1)."/".$path;
$path = explode("/", substr($cwd, 1)."/".$path);
} else {
$path = explode("/", substr($path, 1));
}
$path = explode("/", substr($path, 1));
$out = [];
foreach ($path as $p) {
if ($p === "..") {

18
tests/cases/Service/TestDaemon.php

@ -41,12 +41,18 @@ class TestDaemon extends \JKingWeb\Arsse\Test\AbstractTest {
public function providePathResolutions(): iterable {
return [
["/", "/home/me", "/"],
["/.", "/home/me", "/"],
["/..", "/home/me", "/"],
["/run", "/home/me", "/run"],
["/./run", "/home/me", "/run"],
["/../run", "/home/me", "/run"],
["/", "/home/me", "/"],
["/.", "/home/me", "/"],
["/..", "/home/me", "/"],
["/run", "/home/me", "/run"],
["/./run", "/home/me", "/run"],
["/../run", "/home/me", "/run"],
["/run/../run", "/home/me", "/run"],
["/run/./run", "/home/me", "/run/run"],
["run", "/home/me", "/home/me/run"],
["run/..", "/home/me", "/home/me"],
[".", "/", "/"],
[".", false, false],
];
}

Loading…
Cancel
Save