mirror of
https://github.com/chillerlan/php-qrcode.git
synced 2026-08-17 14:31:08 +00:00
51 lines
1.2 KiB
PHP
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());
|
|
}
|
|
|
|
}
|