#!perl -T
BEGIN { use_ok(
'Sub::Exporter'
); }
eval
{
Sub::Exporter::build_exporter({
exports
=> [
qw(foo)
],
collectors
=> [
qw(foo)
],
})
};
like($@,
qr/used in both/
,
"can't use one name in exports and collectors"
);
eval
{
Sub::Exporter::build_exporter({
collections
=> [
qw(foo)
],
})
};
like($@,
qr/unknown options/
,
"unknown options raise an exception"
);
eval
{
Sub::Exporter::setup_exporter({
into
=>
'Your::Face'
,
into_level
=> 5,
})
};
like(
$@,
qr/may not both/
,
"into and into_level are mutually exclusive (in setup_exporter)"
);
eval
{
Sub::Exporter::build_exporter({})->(
Class
=> {
into
=>
'Your::Face'
,
into_level
=> 1
}
);
};
like(
$@,
qr/may not both/
,
"into and into_level are mutually exclusive (in exporter)"
);
eval
{
Sub::Exporter::build_exporter({
into
=>
"This::Doesnt::Matter"
,
into_level
=> 0,
})
};
like(
$@,
qr(^into and into_level may not both be supplied to exporter)
,
"can't use one name in exports and collectors"
);