The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use Test;
BEGIN {
    use Config;
    if ($Config::Config{'extensions'} !~ /\bEncode\b/) {
      print "1..0 # Skip: Encode was not built\n";
      exit 0;
    }

    plan tests => 3;
}

{
    use encoding::warnings;
    ok(encoding::warnings->VERSION);

    if ($] < 5.009004) {
        ok('skipped');
        ok('skipped');
        exit;
    }

    my ($a, $b, $c, $warned);

    local $SIG{__WARN__} = sub {
        if ($_[0] =~ /upgraded/) { $warned = 1 }
    };

    utf8::encode($a = chr(20000));
    $b = chr(20000);
    $c = $a . $b;
    ok($warned);
}

{
    my ($a, $b, $c, $warned);

    local $SIG{__WARN__} = sub {
        if ($_[0] =~ /upgraded/) { $warned = 1 }
    };

    utf8::encode($a = chr(20000));
    $b = chr(20000);
    $c = $a . $b;
    ok(!$warned);
}


__END__