Blame t/undef.t

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
}