Files
php-qrcode/tests/Common/ECICharsetTest.php
T

51 lines
1.2 KiB
PHP

<?php
/**
* ECICharsetTest.php
*
* @created 13.03.2023
* @author smiley <smiley@chillerlan.net>
* @copyright 2023 smiley
* @license MIT
*/
namespace chillerlan\QRCodeTest\Common;
use chillerlan\QRCode\QRCodeException;
use chillerlan\QRCode\Common\ECICharset;
use PHPUnit\Framework\Attributes\DataProvider;
use PHPUnit\Framework\TestCase;
final class ECICharsetTest extends TestCase{
public static function invalidIdProvider():array{
return [[-1], [1000000]];
}
#[DataProvider('invalidIdProvider')]
public function testInvalidDataException(int $id):void{
$this->expectException(QRCodeException::class);
$this->expectExceptionMessage('invalid charset id:');
/** @phan-suppress-next-line PhanNoopNew */
new ECICharset($id);
}
public static function encodingProvider():array{
$params = [];
foreach(ECICharset::MB_ENCODINGS as $id => $name){
$params[] = [$id, $name];
}
return $params;
}
#[DataProvider('encodingProvider')]
public function testGetName(int $id, string|null $name = null):void{
$eciCharset = new ECICharset($id);
$this::assertSame($id, $eciCharset->getID());
$this::assertSame($name, $eciCharset->getName());
}
}