public function testArrayPopulation() { $data = array('size' => 10, 'padding' => 20, 'extension' => 'png'); $this->options->setFromArray($data); $this->assertEquals($data['size'], $this->options->getSize()); $this->assertEquals($data['padding'], $this->options->getPadding()); $this->assertEquals($data['extension'], $this->options->getExtension()); }
public function testGetQrCodeContent() { $qrCode = new QrCode('FooBar'); $qrCode->setSize($this->qrCodeOptions->getSize()); $qrCode->setPadding($this->qrCodeOptions->getPadding()); $qrCode->setImageType($this->qrCodeOptions->getExtension()); $this->assertEquals($qrCode->get(), $this->qrCodeService->getQrCodeContent('FooBar')); $qrCode = new QrCode('www.google.com'); $qrCode->setImageType('png'); $qrCode->setSize(500); $qrCode->setPadding($this->qrCodeOptions->getPadding()); $this->assertEquals($qrCode->get(), $this->qrCodeService->getQrCodeContent('www.google.com', 'png', 500)); $qrCode = new QrCode('http://www.alejandrocelaya.com'); $qrCode->setImageType('png'); $qrCode->setSize(500); $qrCode->setPadding(50); $this->assertEquals($qrCode->get(), $this->qrCodeService->getQrCodeContent('http://www.alejandrocelaya.com', 'png', 500, 50)); }
/** * Returns a QrCode content to be rendered or saved * If the first argument is a Params object, all the information will be tried to be fetched for it, * ignoring any other argument * @param string|Params $messageOrParams * @param string $extension * @param int $size * @param int $padding * @return mixed */ public function getQrCodeContent($messageOrParams, $extension = null, $size = null, $padding = null) { if ($messageOrParams instanceof Params) { $extension = $messageOrParams->fromRoute('extension', $this->options->getExtension()); $size = $messageOrParams->fromRoute('size', $this->options->getSize()); $padding = $messageOrParams->fromRoute('padding', $this->options->getPadding()); $messageOrParams = $messageOrParams->fromRoute('message'); } else { $extension = isset($extension) ? $extension : $this->options->getExtension(); $size = isset($size) ? $size : $this->options->getSize(); $padding = isset($padding) ? $padding : $this->options->getPadding(); } $qrCode = new QrCode($messageOrParams); $qrCode->setImageType($extension); $qrCode->setSize($size); $qrCode->setPadding($padding); return $qrCode->get(); }