use strict;
use warnings;
-use Test::More no_plan => 1;
+use Test::More 'no_plan';
use Test::Exception;
BEGIN {
extends 'Foo';
+ # always add it *after* the extends
__PACKAGE__->meta->description->{'Hello'} = 'Earth';
package Baz;
use Moose;
extends 'Bar';
+
+ package Gorch;
+ use metaclass 'MooseX::MetaDescription::Meta::Class' => (
+ description => {
+ 'Hello' => 'World'
+ }
+ );
+ use Moose;
+
+ extends 'Baz';
}
# check the meta-desc
isa_ok($baz_class->metadescription, 'MooseX::MetaDescription::Description');
is($baz_class->metadescription->descriptor, $baz_class, '... got the circular ref');
+my $gorch_class = Gorch->meta;
+isa_ok($gorch_class, 'MooseX::MetaDescription::Meta::Class');
+isa_ok($gorch_class->metadescription, 'MooseX::MetaDescription::Description');
+is($gorch_class->metadescription->descriptor, $gorch_class, '... got the circular ref');
foreach my $x ('Foo', Foo->new) {
is_deeply(
'Hello' => 'Earth',
'World' => 'Hello'
},
- '... got the right class description'
+ '... got the right class description (inherited and changed)'
);
}
'Hello' => 'Earth',
'World' => 'Hello'
},
- '... got the right class description'
+ '... got the right class description (inherited with changes handles correctly)'
);
}
+foreach my $x ('Gorch', Gorch->new) {
+ is_deeply(
+ $x->meta->description,
+ {
+ 'Hello' => 'World',
+ },
+ '... got the right class description (with completely overriden desc)'
+ );
+}