/
04_autoload.t
43 lines (38 loc) · 919 Bytes
/
04_autoload.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use strict;
use warnings;
use lib 't/lib';
use Test::More;
require Module::Requires;
eval {
Module::Requires->import(
'ClassA' => {
import => [qw/ foo bar baz /],
}
);
};
like($@, qr/ClassA is unloaded because -autoload an option is lacking./);
ok(!ClassA->can('package'));
eval {
Module::Requires->import(
'ClassA' => {
import => [qw/ foo bar baz /],
},
'ClassC' => {
import => [qw/ foo bar baz /],
}
);
};
like($@, qr/ClassA is unloaded because -autoload an option is lacking.\nClassC is unloaded because -autoload an option is lacking./);
ok(!ClassA->can('package'));
ok(!ClassC->can('package'));
eval {
Module::Requires->import(
'-autoload',
'ClassA' => {
import => [qw/ foo bar baz /],
}
);
};
is($@, '');
is(ClassA->params, 'ClassA, foo, bar, baz');
done_testing;