|
Packit |
0b03d9 |
#!perl -w
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
use strict;
|
|
Packit |
0b03d9 |
use FindBin;
|
|
Packit |
0b03d9 |
use lib (($FindBin::Bin."/lib")=~/^(.*)$/);
|
|
Packit |
0b03d9 |
use Test::More tests => 6;
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
my $foo;
|
|
Packit |
0b03d9 |
ok($foo = MyTest->new());
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
my @plugins;
|
|
Packit |
0b03d9 |
ok(@plugins = sort $foo->booga(nork => 'fark'));
|
|
Packit |
0b03d9 |
is(ref $plugins[0],'MyTest::Extend::Plugin::Bar');
|
|
Packit |
0b03d9 |
is($plugins[0]->nork,'fark');
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
@plugins = ();
|
|
Packit |
0b03d9 |
eval { @plugins = $foo->wooga( nork => 'fark') };
|
|
Packit |
0b03d9 |
is($@, '');
|
|
Packit |
0b03d9 |
is(scalar(@plugins),0);
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
package MyTest;
|
|
Packit |
0b03d9 |
use File::Spec::Functions qw(catdir);
|
|
Packit |
0b03d9 |
use strict;
|
|
Packit |
0b03d9 |
use FindBin;
|
|
Packit |
0b03d9 |
use lib (($FindBin::Bin."/lib")=~/^(.*)$/);
|
|
Packit |
0b03d9 |
use Module::Pluggable (search_path => ["MyTest::Extend::Plugin"], sub_name => 'booga', instantiate => 'new');
|
|
Packit |
0b03d9 |
use Module::Pluggable (search_path => ["MyTest::Extend::Plugin"], sub_name => 'wooga', instantiate => 'nosomuchmethod');
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
sub new {
|
|
Packit |
0b03d9 |
my $class = shift;
|
|
Packit |
0b03d9 |
return bless {}, $class;
|
|
Packit |
0b03d9 |
|
|
Packit |
0b03d9 |
}
|
|
Packit |
0b03d9 |
1;
|
|
Packit |
0b03d9 |
|