zhamao-framework/tests/ZM/Utils/DataProviderTest.php
2022-03-30 17:49:53 +08:00

71 lines
1.9 KiB
PHP

<?php
declare(strict_types=1);
namespace Tests\ZM\Utils;
use PHPUnit\Framework\TestCase;
use ZM\Utils\DataProvider;
/**
* @internal
*/
class DataProviderTest extends TestCase
{
public function testGetSourceRootDir(): void
{
$this->assertEquals(SOURCE_ROOT_DIR, DataProvider::getSourceRootDir());
}
public function testGetDataFolder(): void
{
$this->assertEquals(SOURCE_ROOT_DIR . '/zm_data/', DataProvider::getDataFolder());
}
public function testGetResourceFolder(): void
{
$this->assertEquals(SOURCE_ROOT_DIR . '/resources/', DataProvider::getResourceFolder());
}
public function testScanDirFiles(): void
{
$files = DataProvider::scanDirFiles(SOURCE_ROOT_DIR . '/src/Module');
$this->assertContains(SOURCE_ROOT_DIR . '/src/Module/Example/Hello.php', $files);
}
public function testGetFrameworkRootDir(): void
{
$this->assertEquals(FRAMEWORK_ROOT_DIR, DataProvider::getFrameworkRootDir());
}
public function testGetWorkingDir(): void
{
$this->assertEquals(SOURCE_ROOT_DIR, DataProvider::getWorkingDir());
}
public function testSaveLoadJson(): void
{
$data = [
'a' => 1,
'b' => 2,
'c' => 3,
];
$file = 'test.json';
DataProvider::saveToJson($file, $data);
$this->assertEquals($data, DataProvider::loadFromJson($file));
}
public function testGetFrameworkLink(): void
{
$this->assertNotFalse(filter_var(DataProvider::getFrameworkLink(), FILTER_VALIDATE_URL));
}
public function testIsRelativePath(): void
{
$this->assertTrue(DataProvider::isRelativePath('./'));
$this->assertTrue(DataProvider::isRelativePath('../'));
$this->assertFalse(DataProvider::isRelativePath('/'));
$this->assertTrue(DataProvider::isRelativePath('test.php'));
}
}