X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Moose-t-failing%2F030_roles%2F039_application_toclass.t;fp=Moose-t-failing%2F030_roles%2F039_application_toclass.t;h=99889eb44456a805ebc8c70b5a19191f928fb774;hb=c47cf41554416ee1828eab17d31342a53aaa0839;hp=0000000000000000000000000000000000000000;hpb=9864f0e4ba233c5f30ad6dc7c484ced43d883d27;p=gitmo%2FMouse.git diff --git a/Moose-t-failing/030_roles/039_application_toclass.t b/Moose-t-failing/030_roles/039_application_toclass.t new file mode 100644 index 0000000..99889eb --- /dev/null +++ b/Moose-t-failing/030_roles/039_application_toclass.t @@ -0,0 +1,80 @@ +#!/usr/bin/env perl +# This is automatically generated by author/import-moose-test.pl. +# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!! +use t::lib::MooseCompat; +use strict; +use warnings; +use Test::More; +$TODO = q{Mouse is not yet completed}; + +do { + package Role::Foo; + use Mouse::Role; + + sub foo { } + + + package Consumer::Basic; + use Mouse; + + with 'Role::Foo'; + + package Consumer::Excludes; + use Mouse; + + with 'Role::Foo' => { -excludes => 'foo' }; + + package Consumer::Aliases; + use Mouse; + + with 'Role::Foo' => { -alias => { 'foo' => 'role_foo' } }; + + package Consumer::Overrides; + use Mouse; + + with 'Role::Foo'; + + sub foo { } +}; + +my @basic = Consumer::Basic->meta->role_applications; +my @excludes = Consumer::Excludes->meta->role_applications; +my @aliases = Consumer::Aliases->meta->role_applications; +my @overrides = Consumer::Overrides->meta->role_applications; + +is(@basic, 1); +is(@excludes, 1); +is(@aliases, 1); +is(@overrides, 1); + +my $basic = $basic[0]; +my $excludes = $excludes[0]; +my $aliases = $aliases[0]; +my $overrides = $overrides[0]; + +isa_ok($basic, 'Mouse::Meta::Role::Application'); +isa_ok($excludes, 'Mouse::Meta::Role::Application'); +isa_ok($aliases, 'Mouse::Meta::Role::Application'); +isa_ok($overrides, 'Mouse::Meta::Role::Application'); + +is($basic->role, Role::Foo->meta); +is($excludes->role, Role::Foo->meta); +is($aliases->role, Role::Foo->meta); +is($overrides->role, Role::Foo->meta); + +is($basic->class, Consumer::Basic->meta); +is($excludes->class, Consumer::Excludes->meta); +is($aliases->class, Consumer::Aliases->meta); +is($overrides->class, Consumer::Overrides->meta); + +is_deeply($basic->get_method_aliases, {}); +is_deeply($excludes->get_method_aliases, {}); +is_deeply($aliases->get_method_aliases, { foo => 'role_foo' }); +is_deeply($overrides->get_method_aliases, {}); + +is_deeply($basic->get_method_exclusions, []); +is_deeply($excludes->get_method_exclusions, ['foo']); +is_deeply($aliases->get_method_exclusions, []); +is_deeply($overrides->get_method_exclusions, []); + +done_testing;