Changeset 2909
- Timestamp:
- 05/10/05 01:30:14 (4 years ago)
- svk:copy_cache_prev:
- 4437
- Location:
- ext/Perl-MetaClass
- Files:
-
- 2 modified
-
lib/Perl/MetaClass.pm (modified) (2 diffs)
-
t/10_MetaClass.t (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ext/Perl-MetaClass/lib/Perl/MetaClass.pm
r2903 r2909 6 6 7 7 use Perl::MetaProperty; 8 #use Perl::MetaMethod;9 #use Perl::MetaAssoc;8 use Perl::MetaMethod; 9 use Perl::MetaAssoc; 10 10 11 11 sub Perl::MetaClass::new(Str $name) returns Str is export { … … 113 113 =head1 SYNOPSIS 114 114 115 my $superclass = Perl::MetaClass::new('Foo'); 116 my $class = Perl::MetaClass::new('Foo::Bar'); 115 # Package 116 # | 117 # +-----+----+ 118 # | | 119 # Module Role 120 # | 121 # Class 117 122 118 $class.clsSuperClass($superclass); 123 my $package = Perl::MetaClass::new('Package'); 124 my $role = Perl::MetaClass::new('Role'); 125 my $module = Perl::MetaClass::new('Module'); 126 127 $role.clsSuperClass($package); 128 $module.clsSuperClass($package); 129 130 my $class = Perl::MetaClass::new('Class'); 131 $class.clsSuperClass($role); 119 132 120 133 =head1 DESCRIPTION -
ext/Perl-MetaClass/t/10_MetaClass.t
r2903 r2909 11 11 # -------------------------------------------------------------- 12 12 # 13 # Bar <- SuperClass13 # Package <- Super-MetaClass 14 14 # | 15 # Foo <-Class15 # Role <- MetaClass 16 16 # | 17 # [ .prop1 .prop2 ] <- Properties17 # [ .prop1 .prop2 ] <- Properties 18 18 # | 19 # [ method1 method2 ] <- Methods19 # [ method1 method2 ] <- Methods 20 20 # | 21 # +-----+----+ 22 # | | 23 # Foo::Bar Bar::Baz <- SubClasses 21 # Class <- SubClasses 24 22 # 25 23 # -------------------------------------------------------------- 26 24 27 my $class = Perl::MetaClass::new(' Foo');25 my $class = Perl::MetaClass::new('Role'); 28 26 29 is($class.clsName(), ' Foo', '... we got the right class name');27 is($class.clsName(), 'Role', '... we got the right class name'); 30 28 31 29 # Super Class 32 30 33 my $superclass = Perl::MetaClass::new(' Bar');31 my $superclass = Perl::MetaClass::new('Package'); 34 32 35 33 is($class.clsSuper(), undef, '... we do not have a superclass'); 36 34 $class.clsSuper($superclass); 37 is($class.clsSuper().clsName(), ' Bar', '... we now have a superclass');35 is($class.clsSuper().clsName(), 'Package', '... we now have a superclass'); 38 36 39 37 # Sub Classes … … 44 42 } 45 43 46 my $subclass1 = Perl::MetaClass::new(' Foo::Bar');44 my $subclass1 = Perl::MetaClass::new('Class'); 47 45 $subclass1.clsSuper($class); 48 46 … … 51 49 is(+@subclasses, 1, '... we have 1 subclasses now'); 52 50 is(@subclasses[0].clsName(), 'Foo::Bar', '... this is our first subclass'); 53 }54 55 my $subclass2 = Perl::MetaClass::new('Bar::Baz');56 $subclass2.clsSuper($class);57 58 {59 my @subclasses = $class.clsSubClasses();60 is(+@subclasses, 2, '... we have 2 subclasses now');61 is(@subclasses[0].clsName(), 'Foo::Bar', '... this is our first subclass');62 is(@subclasses[1].clsName(), 'Bar::Baz', '... this is our second subclass');63 51 } 64 52
