#!/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;
syntax highlighted by Code2HTML, v. 0.9.1