-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathConversionTest.php
50 lines (37 loc) · 1.84 KB
/
ConversionTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
declare(strict_types=1);
namespace Spiral\Tests\Files;
use Spiral\Files\Files;
final class ConversionTest extends TestCase
{
private Files $files;
public function testNormalizeFilePath(): void
{
self::assertSame('/abc/file.name', $this->files->normalizePath('/abc\\file.name'));
self::assertSame('/abc/file.name', $this->files->normalizePath('\\abc//file.name'));
}
public function testNormalizeDirectoryPath(): void
{
self::assertSame('/abc/dir/', $this->files->normalizePath('\\abc/dir', true));
self::assertSame('/abc/dir/', $this->files->normalizePath('\\abc//dir', true));
}
public function testNormalizeUniversalNamingConventionPath(): void
{
self::assertSame('//host/path/resource', $this->files->normalizePath('//host/path/resource'));
self::assertSame('//host/path/resource', $this->files->normalizePath('//host/path//resource'));
self::assertSame('\\\\host/path/resource', $this->files->normalizePath('\\\\host/path/resource'));
self::assertSame('\\\\host/path/resource', $this->files->normalizePath('\\\\host/path//resource'));
}
public function testRelativePath(): void
{
self::assertSame('some-filename.txt', $this->files->relativePath('/abc/some-filename.txt', '/abc'));
self::assertSame('../some-filename.txt', $this->files->relativePath('/abc/../some-filename.txt', '/abc'));
self::assertSame('../../some-filename.txt', $this->files->relativePath('/abc/../../some-filename.txt', '/abc'));
self::assertSame('./some-filename.txt', $this->files->relativePath('/abc/some-filename.txt', '/abc/..'));
self::assertSame('../some-filename.txt', $this->files->relativePath('/abc/some-filename.txt', '/abc/../..'));
}
protected function setUp(): void
{
$this->files = new Files();
}
}