Mercurial > hg > rc1
diff vendor/endroid/qr-code/tests/QrCodeTest.php @ 6:cec75ba50afc
endroid/qrcode as distributed
author | Charlie Root |
---|---|
date | Sat, 13 Jan 2018 09:00:52 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/endroid/qr-code/tests/QrCodeTest.php Sat Jan 13 09:00:52 2018 -0500 @@ -0,0 +1,99 @@ +<?php + +/* + * (c) Jeroen van den Enden <info@endroid.nl> + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +namespace Endroid\Tests\QrCode; + +use Endroid\QrCode\Exceptions\ImageFunctionFailedException; +use Endroid\QrCode\Exceptions\ImageFunctionUnknownException; +use Endroid\QrCode\QrCode; +use PHPUnit_Framework_TestCase; + +class QrCodeTest extends PHPUnit_Framework_TestCase +{ + /** + * @var QrCode + */ + protected $qrCode; + + /** + * Tests if a valid data uri is returned. + */ + public function testGetDataUri() + { + $qrCode = $this->getQrCode(); + $dataUri = $qrCode->getDataUri(); + + $this->assertTrue(is_string($dataUri)); + } + + /** + * Tests if a valid image string is returned. + * + * @throws ImageFunctionFailedException + * @throws ImageFunctionUnknownException + */ + public function testGetImageString() + { + $qrCode = $this->getQrCode(); + $imageString = $qrCode->get('png'); + + $this->assertTrue(is_string($imageString)); + } + + /** + * Tests if a valid image string is returned. + * + * @throws ImageFunctionFailedException + * @throws ImageFunctionUnknownException + */ + public function testGetQrCodeWithLogoString() + { + $qrCode = $this->createQrCodeWithLogo(); + $imageString = $qrCode->get('png'); + + $this->assertTrue(is_string($imageString)); + } + + /** + * Returns a QR code. + */ + protected function getQrCode() + { + if (!$this->qrCode) { + $this->qrCode = $this->createQrCode(); + } + + return $this->qrCode; + } + + /** + * Creates a QR code. + * + * @return QrCode + */ + protected function createQrCode() + { + $qrCode = new QrCode(); + $qrCode->setText('Life is too short to be generating QR codes'); + $qrCode->setSize(300); + + return $qrCode; + } + + protected function createQrCodeWithLogo() + { + $qrCode = new QrCode(); + $qrCode->setText('Life is too short to be generating QR codes') + ->setSize(300) + ->setLogo(dirname(__DIR__).'/assets/image/logo.png') + ->setLogoSize(60); + + return $qrCode; + } +}