Browse Source

Path splitting test.

pull/50/head
Rafal Kupiec 1 year ago
parent
commit
ec580ddf8c
Signed by: belliash GPG Key ID: 4E829243E0CFE6B4
2 changed files with 64 additions and 0 deletions
  1. +32
    -0
      tests/path_split.aer
  2. +32
    -0
      tests/path_split.exp

+ 32
- 0
tests/path_split.aer View File

@ -0,0 +1,32 @@
class Program {
string[] parsePathComponents(string $path, bool $endSlash=true, bool $base=false) {
string[] $retArray;
$path = trim($path);
string $str, $temp;
char $char;
for(int $x = 0; $char = $path[$x]; $x++) {
if(!strstr('/', $char)) $temp += $char;
else if($temp) {
$str += $temp;
$retArray[$temp] = $str + ($endSlash ? '/' : '');
$str += '/';
$temp = '';
}
}
($base && $temp) ? $retArray[$temp] = $str + $temp : NULL;
return $retArray;
}
void main() {
string $path = '/my//stupid//path/to///some/file.php';
print_r($this->parsePathComponents($path));
$path = 'my/other//path/';
print_r($this->parsePathComponents($path, false));
$path = '/my//other/path/to///file.php';
print_r($this->parsePathComponents($path, true, true));
}
}

+ 32
- 0
tests/path_split.exp View File

@ -0,0 +1,32 @@
Array(5) {
[my] =>
my/
[stupid] =>
my/stupid/
[path] =>
my/stupid/path/
[to] =>
my/stupid/path/to/
[some] =>
my/stupid/path/to/some/
}
Array(3) {
[my] =>
my
[other] =>
my/other
[path] =>
my/other/path
}
Array(5) {
[my] =>
my/
[other] =>
my/other/
[path] =>
my/other/path/
[to] =>
my/other/path/to/
[file.php] =>
my/other/path/to/file.php
}

Loading…
Cancel
Save