summaryrefslogtreecommitdiff
path: root/t/qrcode.t
blob: f82c5fff4dbb7cc23ba3886c0072db8b2e2e2783 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!perl 
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;