Files
php-qrcode/tests/Data/AlphaNumTest.php
T
2025-09-19 14:17:21 +02:00

50 lines
1.0 KiB
PHP

<?php
/**
* Class AlphaNumTest
*
* @created 24.11.2017
* @author Smiley <smiley@chillerlan.net>
* @copyright 2017 Smiley
* @license MIT
*/
declare(strict_types=1);
namespace chillerlan\QRCodeTest\Data;
use chillerlan\QRCode\Data\AlphaNum;
use chillerlan\QRCode\Data\QRDataModeInterface;
/**
* Tests the AlphaNum class
*/
final class AlphaNumTest extends DataInterfaceTestAbstract{
protected const testData = '0 $%*+-./:';
protected static function getDataModeInterface(string $data):QRDataModeInterface{
return new AlphaNum($data);
}
/**
* isAlphaNum() should pass on the 45 defined characters and fail on anything else (e.g. lowercase)
*
* @phpstan-return array<int, array{0: string, 1: bool}>
*/
public static function stringValidateProvider():array{
return [
['ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 $%*+-./:', true],
['abc', false],
['ÄÖÜ', false],
[',', false],
['-', true],
['+', true],
['.', true],
['*', true],
[':', true],
['/', true],
['\\', false],
];
}
}