2021-01-08 14:50:23 +01:00
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* This file is part of the Kimai time-tracking app.
|
|
|
|
|
*
|
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
namespace App\Tests\Utils;
|
|
|
|
|
|
|
|
|
|
use App\Utils\FileHelper;
|
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @covers \App\Utils\FileHelper
|
|
|
|
|
*/
|
|
|
|
|
class FileHelperTest extends TestCase
|
|
|
|
|
{
|
2024-12-22 01:25:30 +01:00
|
|
|
|
public static function getFileTestData()
|
2021-01-08 14:50:23 +01:00
|
|
|
|
{
|
|
|
|
|
return [
|
|
|
|
|
['Barss_laolala_ld_ksjf_123_MyAwesome_GmbH', 'Barß / laölala # ld_ksjf 123 MyAwesome GmbH'],
|
|
|
|
|
['namaste', 'नमस्ते'],
|
|
|
|
|
['sa_yonara', 'さ!よなら'],
|
|
|
|
|
['sp_asibo_spa_sibo_spas_--_ibo', ' сп.асибо/спа сибо#/!спас -- ибо!!'],
|
|
|
|
|
['kkakkaekkyakkyaekkeokke_kkyeokkyekkokkwasssss', '까깨꺄꺠꺼께_껴꼐꼬꽈sssss'],
|
|
|
|
|
['ss_n_-', '\"#+ß.!$%&/()=?\\n=/*-+´_<>@' . "\n"],
|
|
|
|
|
['Demo_ProjecT1', 'Demo ProjecT1'],
|
|
|
|
|
['kimai-export', 'kimai-export'],
|
|
|
|
|
['D_e_m_o_Pr_oj_e_c_T1', 'D"e&m%o# Pr\'oj\\e/c?T1'],
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @dataProvider getFileTestData
|
|
|
|
|
*/
|
2024-02-07 23:47:25 +01:00
|
|
|
|
public function testEnsureMaxLength(string $expected, string $original): void
|
2021-01-08 14:50:23 +01:00
|
|
|
|
{
|
|
|
|
|
self::assertEquals($expected, FileHelper::convertToAsciiFilename($original));
|
|
|
|
|
}
|
2021-02-01 23:43:47 +01:00
|
|
|
|
|
2024-02-07 23:47:25 +01:00
|
|
|
|
public function testDataDirectory(): void
|
2021-02-01 23:43:47 +01:00
|
|
|
|
{
|
|
|
|
|
$data = realpath(__DIR__ . '/../_data/');
|
|
|
|
|
$sut = new FileHelper($data);
|
|
|
|
|
self::assertEquals($data . '/', $sut->getDataDirectory());
|
|
|
|
|
self::assertEquals($data . '/foo/', $sut->getDataDirectory('/foo/'));
|
|
|
|
|
self::assertEquals($data . '/foo/', $sut->getDataDirectory('foo'));
|
|
|
|
|
|
|
|
|
|
$data = realpath(__DIR__ . '/../../var/data/');
|
|
|
|
|
$sut->setDataDirectory($data);
|
|
|
|
|
self::assertEquals($data . '/', $sut->getDataDirectory());
|
|
|
|
|
self::assertEquals($data . '/foo/', $sut->getDataDirectory('/foo/'));
|
|
|
|
|
self::assertEquals($data . '/foo/', $sut->getDataDirectory('foo'));
|
|
|
|
|
}
|
2021-01-08 14:50:23 +01:00
|
|
|
|
}
|