2021-02-26 16:16:17 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Class AlphaNumTest
|
|
|
|
*
|
|
|
|
* @filesource AlphaNumTest.php
|
|
|
|
* @created 24.11.2017
|
|
|
|
* @package chillerlan\QRCodeTest\Data
|
|
|
|
* @author Smiley <smiley@chillerlan.net>
|
|
|
|
* @copyright 2017 Smiley
|
|
|
|
* @license MIT
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace chillerlan\QRCodeTest\Data;
|
|
|
|
|
2022-07-02 14:01:51 +00:00
|
|
|
use chillerlan\QRCode\Data\{AlphaNum, QRCodeDataException, QRDataInterface};
|
|
|
|
use chillerlan\QRCode\QROptions;
|
2021-02-26 16:16:17 +00:00
|
|
|
|
2022-07-02 14:01:51 +00:00
|
|
|
/**
|
|
|
|
* Tests the AlphaNum class
|
|
|
|
*/
|
|
|
|
final class AlphaNumTest extends DatainterfaceTestAbstract{
|
|
|
|
|
|
|
|
/** @internal */
|
|
|
|
protected string $testdata = '0 $%*+-./:';
|
2021-02-26 16:16:17 +00:00
|
|
|
|
2022-07-02 14:01:51 +00:00
|
|
|
/** @internal */
|
|
|
|
protected array $expected = [
|
2021-02-26 16:16:17 +00:00
|
|
|
32, 80, 36, 212, 252, 15, 175, 251,
|
|
|
|
176, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
17, 236, 17, 236, 17, 236, 17, 236,
|
|
|
|
112, 43, 9, 248, 200, 194, 75, 25,
|
|
|
|
205, 173, 154, 68, 191, 16, 128,
|
|
|
|
92, 112, 20, 198, 27
|
|
|
|
];
|
|
|
|
|
2022-07-02 14:01:51 +00:00
|
|
|
/**
|
|
|
|
* @inheritDoc
|
|
|
|
* @internal
|
|
|
|
*/
|
|
|
|
protected function getDataInterfaceInstance(QROptions $options):QRDataInterface{
|
|
|
|
return new AlphaNum($options);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Tests if an exception is thrown when an invalid character is encountered
|
|
|
|
*/
|
|
|
|
public function testGetCharCodeException():void{
|
2021-02-26 16:16:17 +00:00
|
|
|
$this->expectException(QRCodeDataException::class);
|
|
|
|
$this->expectExceptionMessage('illegal char: "#" [35]');
|
|
|
|
|
|
|
|
$this->dataInterface->setData('#');
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|