Mercurial > pub > Impl
comparison _test/Test/Class/Meta.pm @ 90:dc1da0389db7
Small improvements in the abstract object class
Added support for a class data, documentation
Additional tests for the new functionality
| author | wizard |
|---|---|
| date | Mon, 26 Apr 2010 03:10:03 +0400 |
| parents | |
| children | 76515373dac0 |
comparison
equal
deleted
inserted
replaced
| 89:3d1f584aea60 | 90:dc1da0389db7 |
|---|---|
| 1 use strict; | |
| 2 | |
| 3 package Test::Class::Meta; | |
| 4 use base qw(IMPL::Test::Unit); | |
| 5 | |
| 6 __PACKAGE__->PassThroughArgs; | |
| 7 | |
| 8 use IMPL::Test qw(test failed); | |
| 9 | |
| 10 test defineFooClassData => sub { | |
| 11 Foo->class_data(info => {}); | |
| 12 }; | |
| 13 | |
| 14 test updateFooClassData => sub { | |
| 15 Foo->class_data('info')->{data} = 'Foo' ; | |
| 16 }; | |
| 17 | |
| 18 test getFooClassData => sub { | |
| 19 failed "Wrong class data", "Expected: Foo", "Got: ".Foo->class_data('info')->{data} unless Foo->class_data('info')->{data} eq 'Foo'; | |
| 20 }; | |
| 21 | |
| 22 test getBazClassData => sub { | |
| 23 failed "Wrong class data", "Expected: Foo", "Got: ".Baz->class_data('info')->{data} unless Baz->class_data('info')->{data} eq 'Foo'; | |
| 24 }; | |
| 25 | |
| 26 test updateBarClassData => sub { | |
| 27 Bar->class_data('info')->{data} = 'Bar'; | |
| 28 }; | |
| 29 | |
| 30 test getBarClassData => sub { | |
| 31 failed "Wrong class data", "Expected: Bar", "Got: ".Bar->class_data('info')->{data} unless Bar->class_data('info')->{data} eq 'Bar'; | |
| 32 }; | |
| 33 | |
| 34 test validatetFooClassData => sub { | |
| 35 failed "Wrong class data", "Expected: Foo", "Got: ".Foo->class_data('info')->{data} unless Foo->class_data('info')->{data} eq 'Foo'; | |
| 36 }; | |
| 37 | |
| 38 test validateBazClassData => sub { | |
| 39 failed "Wrong class data", "Expected: Foo", "Got: ".Baz->class_data('info')->{data} unless Baz->class_data('info')->{data} eq 'Foo'; | |
| 40 }; | |
| 41 | |
| 42 test getwrongBazClassData => sub { | |
| 43 failed "Wrong class data", "Expected: undef", "Got: ".Foo->class_data( 'info2' ) if Foo->class_data( 'info2' ); | |
| 44 }; | |
| 45 | |
| 46 | |
| 47 | |
| 48 package Foo; | |
| 49 use base qw(IMPL::Class::Meta); | |
| 50 | |
| 51 package Bar; | |
| 52 use base qw(Foo); | |
| 53 | |
| 54 package Baz; | |
| 55 use base qw(Foo); | |
| 56 | |
| 57 1; |
