use strict;
use warnings;
use Test2::Bundle::Extended;
use Data::QRCode;
my $qr = Data::QRCode->new('some words');
my $text_matrix = $qr->map(
sub{
my ($data) = @_;
!$data->{color} ? ' ' :
$data->{in_data} ? 'D' :
$data->{in_format} ? 'F' :
$data->{in_version} ? 'V' :
$data->{in_timing} ? 'T' :
$data->{in_alignment} ? 'A' :
$data->{in_finder} ? 'R' :
'*';
},
);
my $text = join "\n", map { join '',@{$_} } @{$text_matrix};
$text .= "\n";
is($text,<<'QRCODE','data should be as expected');
RRRRRRR F DDD RRRRRRR
R R F D R R
R RRR R D D R RRR R
R RRR R FDD R RRR R
R RRR R R RRR R
R R D R R
RRRRRRR T T T RRRRRRR
F D
F FF FTF DD F F FF
DD D DDD D DD D
D DDTD DD D D DDD
DDD D DD D D D D
D TD D D D D
* D DD D DD
RRRRRRR FD D DDD
R R F DDDD DDD D
R RRR R D D D DD
R RRR R F D D D D D
R RRR R F DD DD DD
R R DD D D D
RRRRRRR F DDD D D
QRCODE
done_testing;