Mercurial > pub > Impl
view _test/Test/Class/Meta.pm @ 284:f2a6bc5f3184
+IMPL::Object::InlineFactory: implement object factory as subroutine
author | sergey |
---|---|
date | Thu, 14 Feb 2013 19:14:02 +0400 |
parents | a8db61d0ed33 |
children |
line wrap: on
line source
use strict; package Test::Class::Meta; use parent qw(IMPL::Test::Unit); __PACKAGE__->PassThroughArgs; use IMPL::Test qw(test failed assert); test defineFooClassData => sub { Foo->static_accessor(info => {},'clone'); }; test updateFooClassData => sub { Foo->info->{data} = 'Foo' ; }; test getFooClassData => sub { assert( Foo->info->{data} eq 'Foo' ); }; test getBazClassData => sub { assert( Baz->info->{data} eq 'Foo' ); assert( Bar->info->{data} eq 'Foo' ); }; test updateBarClassData => sub { Bar->info->{data} = 'Bar'; }; test getBarClassData => sub { assert( Bar->info->{data} eq 'Bar'); }; test validatetFooClassData => sub { assert( Foo->info->{data} eq 'Foo'); }; test validateBazClassData => sub { assert( Baz->info->{data} eq 'Foo'); }; test getwrongBazClassData => sub { assert( not eval { Foo->info2; 1; } ); }; package Foo; use parent qw(IMPL::Class::Meta); package Bar; use parent qw(-norequire Foo); package Baz; use parent qw(-norequire Foo); 1;