use Test::More tests => 4;
use Imager::QRCode;
use Encode;
my @Tests = ( {
params => {},
result => qr/^$/,
}, {
params => {
size => 2,
margin => 2,
version => 1,
level => 'M',
casesensitive => 1,
lightcolor => Imager::Color->new(255, 255, 255),
darkcolor => Imager::Color->new(0, 0, 0),
},
result => qr/^$/,
}, {
params => {
size => 2,
margin => 2,
version => 1,
level => 'M',
casesensitive => 1,
mode => '8-bit',
lightcolor => Imager::Color->new(255, 255, 255),
darkcolor => Imager::Color->new(0, 0, 0),
},
result => qr/^$/,
}, {
params => {
size => 2,
margin => 2,
version => 1,
level => 'M',
casesensitive => 1,
mode => 'invalid',
lightcolor => Imager::Color->new(255, 255, 255),
darkcolor => Imager::Color->new(0, 0, 0),
},
result => qr/^Invalid mode: XS error/,
} );
for my $dat ( @Tests ) {
my $params = $dat->{ params };
my $qrcode = Imager::QRCode->new(%$params);
my $text = encode('cp932', decode('utf8', "QRコードは(株)デンソーウェーブの登録商標です。QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other countries."));
eval { $qrcode->plot($text) };
like $@, $dat->{ result }, 'plot successful';
}