. */ namespace SP\Tests\Util; use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Group; use SP\Tests\UnitaryTestCase; use SP\Util\Util; /** * Class UtilTest */ #[Group('unitary')] class UtilTest extends UnitaryTestCase { /** * This method is called after the last test of this test class is run. */ public static function tearDownAfterClass(): void { ini_set('memory_limit', -1); } public static function boolProvider(): array { return [ ['false', false], ['no', false], ['n', false], ['0', false], ['off', false], [0, false], ['true', true], ['yes', true], ['y', true], ['1', true], ['on', true], [1, true] ]; } public static function unitsProvider(): array { return [ ['128K', 131072], ['128M', 134217728], ['128G', 137438953472], ['131072', 131072], ['134217728', 134217728], ['137438953472', 137438953472], ]; } #[DataProvider('unitsProvider')] public function testConvertShortUnit(string $unit, int $expected) { $this->assertEquals($expected, Util::convertShortUnit($unit)); } public function testGetMaxUpload() { $upload = ini_get('upload_max_filesize',); $post = ini_get('post_max_size'); $memory = ini_get('memory_limit'); $this->assertEquals(min($upload, $post, $memory), Util::getMaxUpload()); } /** * @param $value * @param $expected */ #[DataProvider('boolProvider')] public function testBoolval($value, $expected) { $this->assertEquals($expected, Util::boolval($value)); $this->assertEquals($expected, Util::boolval($value, true)); } }