diff options
| author | wn_ <invalid@email.com> | 2024-11-21 17:27:15 +0000 |
|---|---|---|
| committer | wn_ <invalid@email.com> | 2024-11-21 17:34:32 +0000 |
| commit | 64a36970d6c4a90c1ab738e0b859b4fffa18c603 (patch) | |
| tree | bf385b721be5b1c6067040ce65f0b892bb1c9225 /vendor/chillerlan/php-qrcode/tests/QRCodeTest.php | |
| parent | 1e14fc0fd957cea2ab176d5132c3fe5329991c17 (diff) | |
Bump 'chillerlan/php-qrcode' to 5.0.x.
* Maintains PHP `7.4` compatibility and adds PHP `8.4` compatibility
* The `4.4.x` branch does the same, but I didn't see any reason not to go to `5.0.x`.
* https://github.com/chillerlan/php-qrcode/releases
Diffstat (limited to 'vendor/chillerlan/php-qrcode/tests/QRCodeTest.php')
| -rwxr-xr-x | vendor/chillerlan/php-qrcode/tests/QRCodeTest.php | 152 |
1 files changed, 0 insertions, 152 deletions
diff --git a/vendor/chillerlan/php-qrcode/tests/QRCodeTest.php b/vendor/chillerlan/php-qrcode/tests/QRCodeTest.php deleted file mode 100755 index 56936a745..000000000 --- a/vendor/chillerlan/php-qrcode/tests/QRCodeTest.php +++ /dev/null @@ -1,152 +0,0 @@ -<?php -/** - * Class QRCodeTest - * - * @filesource QRCodeTest.php - * @created 17.11.2017 - * @package chillerlan\QRCodeTest - * @author Smiley <smiley@chillerlan.net> - * @copyright 2017 Smiley - * @license MIT - */ - -namespace chillerlan\QRCodeTest; - -use chillerlan\QRCode\{QROptions, QRCode}; -use chillerlan\QRCode\Data\{AlphaNum, Byte, Kanji, Number, QRCodeDataException}; -use chillerlan\QRCode\Output\QRCodeOutputException; -use PHPUnit\Framework\TestCase; - -use function random_bytes; - -/** - * Tests basic functions of the QRCode class - */ -class QRCodeTest extends TestCase{ - - /** @internal */ - protected QRCode $qrcode; - /** @internal */ - protected QROptions $options; - - /** - * invoke test instances - * - * @internal - */ - protected function setUp():void{ - $this->qrcode = new QRCode; - $this->options = new QROptions; - } - - /** - * isNumber() should pass on any number and fail on anything else - */ - public function testIsNumber():void{ - $this::assertTrue($this->qrcode->isNumber('0123456789')); - - $this::assertFalse($this->qrcode->isNumber('ABC123')); - } - - /** - * isAlphaNum() should pass on the 45 defined characters and fail on anything else (e.g. lowercase) - */ - public function testIsAlphaNum():void{ - $this::assertTrue($this->qrcode->isAlphaNum('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 $%*+-./:')); - - $this::assertFalse($this->qrcode->isAlphaNum('abc')); - } - - /** - * isKanji() should pass on Kanji/SJIS characters and fail on everything else - */ - public function testIsKanji():void{ - $this::assertTrue($this->qrcode->isKanji('茗荷')); - - $this::assertFalse($this->qrcode->isKanji('Ã')); - $this::assertFalse($this->qrcode->isKanji('ABC')); - $this::assertFalse($this->qrcode->isKanji('123')); - } - - /** - * isByte() passses any binary string and only fails on empty strings - */ - public function testIsByte():void{ - $this::assertTrue($this->qrcode->isByte("\x01\x02\x03")); - $this::assertTrue($this->qrcode->isByte(' ')); // not empty! - $this::assertTrue($this->qrcode->isByte('0')); - - $this::assertFalse($this->qrcode->isByte('')); - } - - /** - * tests if an exception is thrown when an invalid (built-in) output type is specified - */ - public function testInitDataInterfaceException():void{ - $this->expectException(QRCodeOutputException::class); - $this->expectExceptionMessage('invalid output type'); - - $this->options->outputType = 'foo'; - - (new QRCode($this->options))->render('test'); - } - - /** - * tests if an exception is thrown when trying to call getMatrix() without data (empty string, no data set) - */ - public function testGetMatrixException():void{ - $this->expectException(QRCodeDataException::class); - $this->expectExceptionMessage('QRCode::getMatrix() No data given.'); - - $this->qrcode->getMatrix(''); - } - - /** - * test whether stings are trimmed (they are not) - i'm still torn on that (see isByte) - */ - public function testAvoidTrimming():void{ - $m1 = $this->qrcode->getMatrix('hello')->matrix(); - $m2 = $this->qrcode->getMatrix('hello ')->matrix(); // added space - - $this::assertNotSame($m1, $m2); - } - - /** - * tests if the data mode is overriden if QROptions::$dataModeOverride is set to a valid value - * - * @see https://github.com/chillerlan/php-qrcode/issues/39 - */ - public function testDataModeOverride():void{ - - // no (or invalid) value set - auto detection - $this->options->dataModeOverride = 'foo'; - $this->qrcode = new QRCode; - - $this::assertInstanceOf(Number::class, $this->qrcode->initDataInterface('123')); - $this::assertInstanceOf(AlphaNum::class, $this->qrcode->initDataInterface('ABC123')); - $this::assertInstanceOf(Byte::class, $this->qrcode->initDataInterface(random_bytes(32))); - $this::assertInstanceOf(Kanji::class, $this->qrcode->initDataInterface('茗荷')); - - // data mode set: force the given data mode - $this->options->dataModeOverride = 'Byte'; - $this->qrcode = new QRCode($this->options); - - $this::assertInstanceOf(Byte::class, $this->qrcode->initDataInterface('123')); - $this::assertInstanceOf(Byte::class, $this->qrcode->initDataInterface('ABC123')); - $this::assertInstanceOf(Byte::class, $this->qrcode->initDataInterface(random_bytes(32))); - $this::assertInstanceOf(Byte::class, $this->qrcode->initDataInterface('茗荷')); - } - - /** - * tests if an exception is thrown when an invalid character occurs when forcing a data mode other than Byte - */ - public function testDataModeOverrideError():void{ - $this->expectException(QRCodeDataException::class); - $this->expectExceptionMessage('illegal char:'); - - $this->options->dataModeOverride = 'AlphaNum'; - - (new QRCode($this->options))->initDataInterface(random_bytes(32)); - } - -} |