use strict;
use warnings;
use Test2::Bundle::Extended;
use Data::QRCode;
use Data::QRCode::Input;
my $input = Data::QRCode::Input->new;
$input->error_correction_level(Data::QRCode::Input::ECLEVEL_M);
$input->append(Data::QRCode::Input::MODE_8,'some words');
my $qr = Data::QRCode->new($input);
is(
$qr->version,
1,
'version should be set',
);
is(
$qr->width,
21,
'width should be set',
);
my $text;
for my $y (0..$qr->width-1) {
for my $x (0..$qr->width-1) {
my $data = $qr->data_at($x,$y);
$text .= (
!$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' :
'*'
);
}
$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;