#!/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';