From: gfx Date: Thu, 26 Nov 2009 12:25:08 +0000 (+0900) Subject: Remove method list without explanations X-Git-Tag: 0.40_08~8 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=ecb77ca40583d35617313267443dfc4970c3599a;p=gitmo%2FMouse.git Remove method list without explanations --- diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index 47fd266..20605ad 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -533,52 +533,6 @@ metaclass. Throws an error with the given message. -=head3 OTHER PUBLIC METHODS - -=head3 add_after_method_modifier - -=head3 add_around_method_modifier - -=head3 add_augment_method_modifier - -=head3 add_before_method_modifier - -=head3 add_override_method_modifier - -=head3 attribute_metaclass - -=head3 calculate_all_roles - -=head3 compute_all_applicable_attributes - -=head3 constructor_class - -=head3 create_anon_class - -=head3 destructor_class - -=head3 does_role - -=head3 find_attribute_by_name - -=head3 find_method_by_name - -=head3 get_all_method_names - -=head3 is_anon_class - -=head3 is_immutable - -=head3 is_mutable - -=head3 make_immutable - -=head3 make_mutable - -=head3 method_metaclass - -=head3 roles - =head1 SEE ALSO L diff --git a/t/050_metaclasses/failing/013_metaclass_traits.t b/t/050_metaclasses/failing/013_metaclass_traits.t deleted file mode 100644 index 06159a0..0000000 --- a/t/050_metaclasses/failing/013_metaclass_traits.t +++ /dev/null @@ -1,223 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; - -use lib 't/lib', 'lib'; - -use Test::More tests => 32; -use Test::Exception; - -{ - package My::SimpleTrait; - - use Mouse::Role; - - sub simple { return 5 } -} - -{ - package Foo; - - use Mouse -traits => [ 'My::SimpleTrait' ]; -} - -can_ok( Foo->meta(), 'simple' ); -is( Foo->meta()->simple(), 5, - 'Foo->meta()->simple() returns expected value' ); - -{ - package Bar; - - use Mouse -traits => 'My::SimpleTrait'; -} - -can_ok( Bar->meta(), 'simple' ); -is( Bar->meta()->simple(), 5, - 'Foo->meta()->simple() returns expected value' ); - -{ - package My::SimpleTrait2; - - use Mouse::Role; - - # This needs to happen at compile time so it happens before we - # apply traits to Bar - BEGIN { - has 'attr' => - ( is => 'ro', - default => 'something', - ); - } - - sub simple { return 5 } -} - -{ - package Bar; - - use Mouse -traits => [ 'My::SimpleTrait2' ]; -} - -can_ok( Bar->meta(), 'simple' ); -is( Bar->meta()->simple(), 5, - 'Bar->meta()->simple() returns expected value' ); -can_ok( Bar->meta(), 'attr' ); -is( Bar->meta()->attr(), 'something', - 'Bar->meta()->attr() returns expected value' ); - -{ - package My::SimpleTrait3; - - use Mouse::Role; - - BEGIN { - has 'attr2' => - ( is => 'ro', - default => 'something', - ); - } - - sub simple2 { return 55 } -} - -{ - package Baz; - - use Mouse -traits => [ 'My::SimpleTrait2', 'My::SimpleTrait3' ]; -} - -can_ok( Baz->meta(), 'simple' ); -is( Baz->meta()->simple(), 5, - 'Baz->meta()->simple() returns expected value' ); -can_ok( Baz->meta(), 'attr' ); -is( Baz->meta()->attr(), 'something', - 'Baz->meta()->attr() returns expected value' ); -can_ok( Baz->meta(), 'simple2' ); -is( Baz->meta()->simple2(), 55, - 'Baz->meta()->simple2() returns expected value' ); -can_ok( Baz->meta(), 'attr2' ); -is( Baz->meta()->attr2(), 'something', - 'Baz->meta()->attr2() returns expected value' ); - -{ - package My::Trait::AlwaysRO; - - use Mouse::Role; - - around '_process_new_attribute', '_process_inherited_attribute' => - sub { - my $orig = shift; - my ( $self, $name, %args ) = @_; - - $args{is} = 'ro'; - - return $self->$orig( $name, %args ); - }; -} - -{ - package Quux; - - use Mouse -traits => [ 'My::Trait::AlwaysRO' ]; - - has 'size' => - ( is => 'rw', - isa => 'Int', - ); -} - -ok( Quux->meta()->has_attribute('size'), - 'Quux has size attribute' ); -ok( ! Quux->meta()->get_attribute('size')->writer(), - 'size attribute does not have a writer' ); - -{ - package My::Class::Whatever; - - use Mouse::Role; - - sub whatever { 42 } - - package Mouse::Meta::Class::Custom::Trait::Whatever; - - sub register_implementation { - return 'My::Class::Whatever'; - } -} - -{ - package RanOutOfNames; - - use Mouse -traits => [ 'Whatever' ]; -} - -ok( RanOutOfNames->meta()->meta()->has_method('whatever'), - 'RanOutOfNames->meta() has whatever method' ); - -{ - package Role::Foo; - - use Mouse::Role -traits => [ 'My::SimpleTrait' ]; -} - -can_ok( Role::Foo->meta(), 'simple' ); -is( Role::Foo->meta()->simple(), 5, - 'Role::Foo->meta()->simple() returns expected value' ); - -{ - require Mouse::Util::TypeConstraints; - dies_ok( sub { Mouse::Util::TypeConstraints->import( -traits => 'My::SimpleTrait' ) }, - 'cannot provide -traits to an exporting module that does not init_meta' ); - like( $@, qr/does not have an init_meta/, - '... and error provides a useful explanation' ); -} - - -{ - package Foo::Subclass; - - use Mouse -traits => [ 'My::SimpleTrait3' ]; - - extends 'Foo'; -} - -can_ok( Foo::Subclass->meta(), 'simple' ); -is( Foo::Subclass->meta()->simple(), 5, - 'Foo::Subclass->meta()->simple() returns expected value' ); -is( Foo::Subclass->meta()->simple2(), 55, - 'Foo::Subclass->meta()->simple2() returns expected value' ); -can_ok( Foo::Subclass->meta(), 'attr2' ); -is( Foo::Subclass->meta()->attr2(), 'something', - 'Foo::Subclass->meta()->attr2() returns expected value' ); - -{ - - package Class::WithAlreadyPresentTrait; - use Mouse -traits => 'My::SimpleTrait'; - - has an_attr => ( is => 'ro' ); -} - -lives_ok { - my $instance = Class::WithAlreadyPresentTrait->new( an_attr => 'value' ); - is( $instance->an_attr, 'value', 'Can get value' ); -} -'Can create instance and access attributes'; - -{ - - package Class::WhichLoadsATraitFromDisk; - - # Any role you like here, the only important bit is that it gets - # loaded from disk and has not already been defined. - use Mouse -traits => 'Role::Parent'; - - has an_attr => ( is => 'ro' ); -} - -lives_ok { - my $instance = Class::WhichLoadsATraitFromDisk->new( an_attr => 'value' ); - is( $instance->an_attr, 'value', 'Can get value' ); -} -'Can create instance and access attributes';