Blame t/export.t

Packit 92cec9
use strict;
Packit 92cec9
use warnings;
Packit 92cec9
Packit 92cec9
use Test::More 0.88;
Packit 92cec9
use Test::Warnings qw( warnings );
Packit 92cec9
Packit 92cec9
## no critic (Modules::ProhibitMultiplePackages)
Packit 92cec9
Packit 92cec9
{
Packit 92cec9
    package Foo;
Packit 92cec9
Packit 92cec9
    our $VERSION = '0.03';
Packit 92cec9
Packit 92cec9
    use Exporter qw( import );
Packit 92cec9
Packit 92cec9
    our @EXPORT_OK = qw( exported );
Packit 92cec9
Packit 92cec9
    use Package::DeprecationManager -deprecations => {
Packit 92cec9
        'Foo::foo' => '0.02',
Packit 92cec9
    };
Packit 92cec9
Packit 92cec9
    sub foo {
Packit 92cec9
        deprecated();
Packit 92cec9
    }
Packit 92cec9
Packit 92cec9
    sub exported {
Packit 92cec9
        return 'exported';
Packit 92cec9
    }
Packit 92cec9
}
Packit 92cec9
Packit 92cec9
{
Packit 92cec9
    package Bar;
Packit 92cec9
Packit 92cec9
    Foo->import( 'exported', -api_version => '0.01' );
Packit 92cec9
Packit 92cec9
    ::is_deeply(
Packit 92cec9
        [ ::warnings { Foo::foo() } ],
Packit 92cec9
        [],
Packit 92cec9
        'no warning for foo with api_version = 0.01'
Packit 92cec9
    );
Packit 92cec9
Packit 92cec9
    ::is(
Packit 92cec9
        exported(),
Packit 92cec9
        'exported',
Packit 92cec9
        'sub exported by Foo was imported and work as expected'
Packit 92cec9
    );
Packit 92cec9
}
Packit 92cec9
Packit 92cec9
done_testing();