The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

use strict;
use warnings;
use lib 't/lib';

BEGIN {

    package Test::Kit::Tester;
    use Test::More tests => 4;
    require Test::Kit;

    #
    # test conflicts
    #
    eval {
        Test::Kit->import(qw/NaughtyTest Test::More Test::Differences/);
    };
    my $error = $@;
    like $error,
qr/\A\QFunction &ok exported from more than one package:  NaughtyTest, Test::More/,
      'Trying to export conflicting functions should fail';

    #
    # test composition
    #

    # XXX Because Test::Kit->import gives me an import() method which causes
    # the next test to fail.
    undef *Test::Kit::Tester::import;
    Test::Kit->_reset;
    {
        Test::Kit::Tester::ok( +Test::Kit->import(
            qw/Test::More Test::Differences/),
          '... and composing non-conflicting packages should succeed');
    }
}
ok 1, '... and the Test::More functions should be exported';
eq_or_diff [ 1, 3 ], [ 1, 3 ], '... as should Test::Differences functions';