diff --git a/composer.lock b/composer.lock index 507a853..df8a959 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "0c5a35b9c8987ac3fd0f7480fea87d4c", + "content-hash": "0c5a35b9c8987ac3fd0f7480fea87d4c", "packages": [], "packages-dev": [ { @@ -1621,4 +1621,4 @@ }, "platform-dev": {}, "plugin-api-version": "2.6.0" -} \ No newline at end of file +} diff --git a/sources/classes/File.php b/sources/classes/File.php new file mode 100644 index 0000000..cd55852 --- /dev/null +++ b/sources/classes/File.php @@ -0,0 +1,148 @@ +PrepareForTest(); + + $this->assertEquals("test.txt", File::ExtractFileName("c:\\tmp\\test.txt")); + $this->assertEquals("test.txt", File::ExtractFileName("c:/tmp/test.txt")); + $this->assertEquals("test.txt", File::ExtractFileName("\\tmp\\test.txt")); + } + + private function PrepareForTest (): void + { + require_once __DIR__ . '/../../sources/classes/File.php'; + } + + public function testFindFiles () + { + $this->PrepareForTest(); + + $result = File::FindFiles(__DIR__); + + $this->assertIsArray($result); + $this->assertCount(8, $result); + } + + public function testGetRelativePath () + { + $this->PrepareForTest(); + + $fullPath = "c:\\source\\tmp\\test.txt"; + + $basePath = "c:\\source\\"; + + $this->assertEquals("tmp\\test.txt", File::GetRelativePath($fullPath, $basePath)); + } + + public function testExtractFileExtension () + { + $this->PrepareForTest(); + + $this->assertEquals("txt", File::ExtractFileExtension("c:\\tmp\\test.txt")); + $this->assertEquals("txt", File::ExtractFileExtension("c:/tmp/test.txt")); + $this->assertEquals("txt", File::ExtractFileExtension("\\tmp\\test.txt")); + } + + public function testExtractFileNameWithoutExtension () + { + $this->PrepareForTest(); + + $this->assertEquals("test", File::ExtractFileNameWithoutExtension("c:\\tmp\\test.txt")); + $this->assertEquals("test", File::ExtractFileNameWithoutExtension("c:/tmp/test.txt")); + $this->assertEquals("test", File::ExtractFileNameWithoutExtension("\\tmp\\test.txt")); + } +}