babaev-an 28dbf773f1 20250608
[File] обновлён метод RemoveDir. Теперь он корректно удаляет не пустую директорию.
[File] добавлен метод DirectoryExists (string $directory, bool $checkReadAccess = true,
                              bool $checkWriteAccess = false): bool
2025-06-08 11:45:40 +03:00

76 lines
2.3 KiB
PHP

<?php
namespace goodboyalex\php_components_pack\tests\classes;
use goodboyalex\php_components_pack\classes\File;
use PHPUnit\Framework\TestCase;
class FileTest extends TestCase
{
public function testExtractFileName ()
{
$this->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"));
}
public function testRemoveDir ()
{
/**
* ВАЖНО! Перед запуском теста необходимо создать директорию D:\TestDelete и наполнить её ненужными файлами
*/
$this->PrepareForTest();
$result = File::RemoveDir("D:\\TestDelete");
$this->assertTrue($result);
$this->assertFalse(File::DirectoryExists("D:\\TestDelete"));
}
}