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)); } }