|
Packit |
d0f5c2 |
use strict;
|
|
Packit |
d0f5c2 |
use warnings FATAL => 'all';
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
use Test::More;
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
use Encode qw(encode decode find_encoding);
|
|
Packit |
d0f5c2 |
use Encode::Encoder qw(encoder);
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
local %Encode::ExtModule = %Encode::Config::ExtModule;
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
my @names = Encode->encodings(':all');
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
plan tests => 1 + 4 * @names;
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
my $emptyutf8;
|
|
Packit |
d0f5c2 |
eval { my $c = encoder($emptyutf8)->utf8; };
|
|
Packit |
d0f5c2 |
ok(!$@,"crashed encoding undef variable ($@)");
|
|
Packit |
d0f5c2 |
|
|
Packit |
d0f5c2 |
for my $name (@names) {
|
|
Packit |
d0f5c2 |
my $enc = find_encoding($name);
|
|
Packit |
d0f5c2 |
is($enc->encode(undef), undef, "find_encoding('$name')->encode(undef) returns undef");
|
|
Packit |
d0f5c2 |
is($enc->decode(undef), undef, "find_encoding('$name')->decode(undef) returns undef");
|
|
Packit |
d0f5c2 |
is(encode($name, undef), undef, "encode('$name', undef) returns undef");
|
|
Packit |
d0f5c2 |
is(decode($name, undef), undef, "decode('$name', undef) returns undef");
|
|
Packit |
d0f5c2 |
}
|