123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- <?php
- /**
- * BaconQrCode
- *
- * @link http://github.com/Bacon/BaconQrCode For the canonical source repository
- * @copyright 2013 Ben 'DASPRiD' Scholzen
- * @license http://opensource.org/licenses/BSD-2-Clause Simplified BSD License
- */
- namespace BaconQrCode\Encoder;
- use BaconQrCode\Common\ErrorCorrectionLevel;
- use BaconQrCode\Renderer\Text\Plain;
- use BaconQrCode\Writer;
- use PHPUnit_Framework_TestCase as TestCase;
- class PlainTest extends TestCase
- {
- /**
- * @var Plain
- */
- protected $renderer;
- /**
- * @var Writer
- */
- protected $writer;
- public function setUp()
- {
- $this->renderer = new Plain();
- $this->writer = new Writer($this->renderer);
- }
- public function testBasicRender()
- {
- $content = 'foobar';
- $expected =
- " \n" .
- " ███████ █████ ███████ \n" .
- " █ █ █ █ █ █ \n" .
- " █ ███ █ ██ █ ███ █ \n" .
- " █ ███ █ ███ █ ███ █ \n" .
- " █ ███ █ █ █ █ ███ █ \n" .
- " █ █ ██ █ █ \n" .
- " ███████ █ █ █ ███████ \n" .
- " █████ \n" .
- " ██ ██ █ ██ █ █ █ \n" .
- " ██ ██ █ █ ██ \n" .
- " ████████ █ ██ █ ██ \n" .
- " ██ █ █ \n" .
- " ██ ███ █ █ █ █ \n" .
- " █ ███ █ █ \n" .
- " ███████ ██ ██████ \n" .
- " █ █ ████ ██ \n" .
- " █ ███ █ ██ ██ ██ █ ██ \n" .
- " █ ███ █ ██ ██ █ ██ \n" .
- " █ ███ █ █ █ ██ ██ \n" .
- " █ █ ███ ███ ████ \n" .
- " ███████ ████ ██ \n" .
- " \n"
- ;
- $qrCode = Encoder::encode(
- $content,
- new ErrorCorrectionLevel(ErrorCorrectionLevel::L),
- Encoder::DEFAULT_BYTE_MODE_ECODING
- );
- $this->assertEquals($expected, $this->renderer->render($qrCode));
- }
- public function testBasicRenderNoMargins()
- {
- $content = 'foobar';
- $expected =
- "███████ █████ ███████\n" .
- "█ █ █ █ █ █\n" .
- "█ ███ █ ██ █ ███ █\n" .
- "█ ███ █ ███ █ ███ █\n" .
- "█ ███ █ █ █ █ ███ █\n" .
- "█ █ ██ █ █\n" .
- "███████ █ █ █ ███████\n" .
- " █████ \n" .
- "██ ██ █ ██ █ █ █\n" .
- " ██ ██ █ █ ██ \n" .
- " ████████ █ ██ █ ██\n" .
- " ██ █ █\n" .
- " ██ ███ █ █ █ █\n" .
- " █ ███ █ █ \n" .
- "███████ ██ ██████ \n" .
- "█ █ ████ ██ \n" .
- "█ ███ █ ██ ██ ██ █ ██\n" .
- "█ ███ █ ██ ██ █ ██ \n" .
- "█ ███ █ █ █ ██ ██\n" .
- "█ █ ███ ███ ████\n" .
- "███████ ████ ██ \n"
- ;
- $qrCode = Encoder::encode(
- $content,
- new ErrorCorrectionLevel(ErrorCorrectionLevel::L),
- Encoder::DEFAULT_BYTE_MODE_ECODING
- );
- $this->renderer->setMargin(0);
- $this->assertEquals(0, $this->renderer->getMargin());
- $this->assertEquals($expected, $this->renderer->render($qrCode));
- }
- public function testBasicRenderCustomChar()
- {
- $content = 'foobar';
- $expected =
- "-----------------------\n" .
- "-#######-#####-#######-\n" .
- "-#-----#--#-#--#-----#-\n" .
- "-#-###-#--##---#-###-#-\n" .
- "-#-###-#--###--#-###-#-\n" .
- "-#-###-#---#-#-#-###-#-\n" .
- "-#-----#----##-#-----#-\n" .
- "-#######-#-#-#-#######-\n" .
- "---------#####---------\n" .
- "-##-##-#--##-#-#-----#-\n" .
- "----##----##-#-#-##----\n" .
- "--########-#--##-#--##-\n" .
- "-----------##------#-#-\n" .
- "--##--###--#---#--#--#-\n" .
- "---------#-###----#-#--\n" .
- "-#######--##-######----\n" .
- "-#-----#---####---##---\n" .
- "-#-###-#-##-##-##-#-##-\n" .
- "-#-###-#-##-##--#-##---\n" .
- "-#-###-#---#---#-##-##-\n" .
- "-#-----#-###--###-####-\n" .
- "-#######-####---##-----\n" .
- "-----------------------\n"
- ;
- $qrCode = Encoder::encode(
- $content,
- new ErrorCorrectionLevel(ErrorCorrectionLevel::L),
- Encoder::DEFAULT_BYTE_MODE_ECODING
- );
- $this->renderer->setFullBlock('#');
- $this->renderer->setEmptyBlock('-');
- $this->assertEquals('#', $this->renderer->getFullBlock());
- $this->assertEquals('-', $this->renderer->getEmptyBlock());
- $this->assertEquals($expected, $this->renderer->render($qrCode));
- }
- }
|