87
88
unshift @INC, $path;
88
89
#diag $ENV{PADRE_HOME};
90
my $english = setlocale(LC_CTYPE) eq 'en_US.UTF-8' ? 1 : 0;
90
92
my $manager = Padre::PluginManager->new($padre);
91
93
$manager->load_plugin('A');
92
94
is $manager->plugins->{'A'}->{status}, 'error', 'error in loading A';
93
my $msg1 = qr/.*/; # set to qr/Failed to load module/ if locale is English
95
my $msg1 = $english ? qr/Plugin:A - Failed to load module/ : qr/.*/;
94
96
like $manager->plugins->{'A'}->errstr,
95
qr/^Plugin:A - $msg1: Global symbol "\$syntax_error" requires explicit package name at/,
97
qr/^$msg1: Global symbol "\$syntax_error" requires explicit package name at/,
96
98
'text of error message';
98
100
$manager->load_plugin('B');
99
101
is $manager->plugins->{'B'}->{status}, 'error', 'error in loading B';
100
my $msg2 = qr/.*/; # set to qr/Not compatible with Padre::Plugin API. Need to be subclass of Padre::Plugin/
102
my $msg2 = $english ? qr/Plugin:B - Not compatible with Padre::Plugin API. Need to be subclass of Padre::Plugin/ : qr/.*/;
101
103
like $manager->plugins->{'B'}->errstr,
102
qr/^Plugin:B - $msg2/,
103
105
'text of error message';
105
107
$manager->load_plugin('C');
106
108
is $manager->plugins->{'C'}->{status}, 'disabled', 'disabled in loading C';
107
is $manager->plugins->{'C'}->errstr,
108
'Plugin:C - Does not have menus',
109
my $msg3 = $english ? qr/Plugin:C - Does not have menus/ : qr/.*/;
110
like $manager->plugins->{'C'}->errstr,
109
112
'text of error message';