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
|
#!/usr/bin/perl
use Test;
BEGIN { plan tests => 6 }
########################################################################
package MyObject;
use Class::MakeMethods::Composite::Inheritable (
'Composite::Hash:new' => 'new',
hook => [ 'foo' ],
);
########################################################################
package main;
ok( 1 );
ok( ! defined MyObject->foo() );
MyObject->foo( Class::MakeMethods::Composite::Inheritable->Hook( sub {
my $callee = shift;
return "foo $callee";
} ) );
ok( MyObject->foo() eq "foo MyObject" );
ok( $obj_1 = MyObject->new() );
ok( $obj_1->foo() eq "foo $obj_1" );
$obj_1->foo( Class::MakeMethods::Composite::Inheritable->Hook( sub {
my $callee = shift;
Class::MakeMethods::Composite->CurrentResults(
map { tr[a-z][A-Z]; $_ } Class::MakeMethods::Composite->CurrentResults()
);
return;
} ) );
ok( $obj_1->foo() eq uc("foo $obj_1") );
1;
|