1#!perl -T
2
3use strict;
4use warnings;
5use lib 't';
6
7use Test::More;
8
9eval " use YAML ";
10plan skip_all => "YAML is not installed." if $@;
11plan 'no_plan';
12
13use MyClass;
14my $obj = MyClass->new({ load_plugins => [qw/ AnonMethod /] });
15is $obj->call('foo'), 'anonmethod';
16
17MyClass->load_components(qw/ Autocall::InjectMethod /);
18my $obj2 = MyClass->new({ load_plugins => [qw/ AnonMethod /] });
19is $obj2->call('foo'), 'anonmethod';
20@MyClass::ISA = ('Class::Component');
21
22MyClass->load_components(qw/ Autocall::SingletonMethod /);
23my $obj3 = MyClass->new({ load_plugins => [qw/ AnonMethod /] });
24is $obj3->call('foo'), 'anonmethod';
25@MyClass::ISA = ('Class::Component');
26
27MyClass->load_components(qw/ Autocall::Autoload /);
28my $obj4 = MyClass->new({ load_plugins => [qw/ AnonMethod /] });
29is $obj4->call('foo'), 'anonmethod';
30@MyClass::ISA = ('Class::Component');
31