* @copyright 2017 Smiley * @license MIT */ namespace chillerlan\QRCodeTest; use chillerlan\QRCode\{QROptions, QRCode}; use chillerlan\QRCode\Data\{AlphaNum, Byte, Number, QRCodeDataException}; use chillerlan\QRCode\Output\QRCodeOutputException; use chillerlan\QRCodeExamples\MyCustomOutput; use function random_bytes; class QRCodeTest extends QRTestAbstract{ protected $FQCN = QRCode::class; /** * @var \chillerlan\QRCode\QRCode */ protected $qrcode; protected function setUp():void{ parent::setUp(); $this->qrcode = $this->reflection->newInstance(); } public function testIsNumber(){ $this->assertTrue($this->qrcode->isNumber('0123456789')); $this->assertFalse($this->qrcode->isNumber('ABC')); } public function testIsAlphaNum(){ $this->assertTrue($this->qrcode->isAlphaNum('ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 $%*+-./:')); $this->assertFalse($this->qrcode->isAlphaNum('abc')); } public function testIsKanji(){ $this->assertTrue($this->qrcode->isKanji('茗荷')); $this->assertFalse($this->qrcode->isKanji('Ã')); } // coverage public function typeDataProvider(){ return [ 'png' => [QRCode::OUTPUT_IMAGE_PNG, 'data:image/png;base64,'], 'gif' => [QRCode::OUTPUT_IMAGE_GIF, 'data:image/gif;base64,'], 'jpg' => [QRCode::OUTPUT_IMAGE_JPG, 'data:image/jpg;base64,'], 'svg' => [QRCode::OUTPUT_MARKUP_SVG, 'data:image/svg+xml;base64,'], 'html' => [QRCode::OUTPUT_MARKUP_HTML, '