]> BookStack Code Mirror - system-cli/blob - tests/PathTest.php
Made a range of tweaks from testing
[system-cli] / tests / PathTest.php
1 <?php
2
3 namespace Tests;
4
5 use Cli\Services\Paths;
6
7 class PathTest extends TestCase
8 {
9
10     public function test_resolve()
11     {
12         $cwd = getcwd();
13         $this->assertEquals('/my/path', Paths::resolve('/my/path/'));
14         $this->assertEquals('/my/path', Paths::resolve('\\my\\path'));
15         $this->assertEquals('/my/path', Paths::resolve('/my/path'));
16         $this->assertEquals('/my/path', Paths::resolve('/my/cats/../path'));
17         $this->assertEquals('/my/path', Paths::resolve('/my/cats/.././path'));
18         $this->assertEquals('/my/path', Paths::resolve('/my/path', '/root'));
19         $this->assertEquals('/root/my/path', Paths::resolve('my/path', '/root'));
20         $this->assertEquals('/my/path', Paths::resolve('../my/path', '/root'));
21         $this->assertEquals("{$cwd}/my/path", Paths::resolve('my/path'));
22         $this->assertEquals("{$cwd}", Paths::resolve(''));
23     }
24
25     public function test_join()
26     {
27         $this->assertEquals('/my/path', Paths::join('/my/', 'path'));
28         $this->assertEquals('/my/path', Paths::join('/my/', '/path'));
29         $this->assertEquals('/my/path', Paths::join('/my', 'path'));
30         $this->assertEquals('/my/path', Paths::join('/my', 'path/'));
31         $this->assertEquals('my/path/to/here', Paths::join('my', 'path', 'to', 'here'));
32         $this->assertEquals('my', Paths::join('my'));
33         $this->assertEquals('my/path', Paths::join('my//', '//path//'));
34         $this->assertEquals('/my/path', Paths::join('/my//', '\\path\\'));
35     }
36 }