Cleanup failing tests
[gitmo/Mouse.git] / Moose-t-failing / 030_roles / 020_role_composite.t
CommitLineData
67199842 1#!/usr/bin/perl
c47cf415 2# This is automatically generated by author/import-moose-test.pl.
3# DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
4use t::lib::MooseCompat;
67199842 5
6use strict;
7use warnings;
8
c47cf415 9use Test::More;
10$TODO = q{Mouse is not yet completed};
67199842 11use Test::Exception;
12
c47cf415 13use Mouse::Meta::Role::Application;
67199842 14use Mouse::Meta::Role::Composite;
15
16{
17 package Role::Foo;
18 use Mouse::Role;
6cfa1e5e 19
67199842 20 package Role::Bar;
21 use Mouse::Role;
22
23 package Role::Baz;
6cfa1e5e 24 use Mouse::Role;
25
67199842 26 package Role::Gorch;
6cfa1e5e 27 use Mouse::Role;
67199842 28}
29
30{
31 my $c = Mouse::Meta::Role::Composite->new(
32 roles => [
33 Role::Foo->meta,
34 Role::Bar->meta,
6cfa1e5e 35 Role::Baz->meta,
67199842 36 ]
37 );
38 isa_ok($c, 'Mouse::Meta::Role::Composite');
39
40 is($c->name, 'Role::Foo|Role::Bar|Role::Baz', '... got the composite role name');
41
42 is_deeply($c->get_roles, [
43 Role::Foo->meta,
44 Role::Bar->meta,
6cfa1e5e 45 Role::Baz->meta,
67199842 46 ], '... got the right roles');
6cfa1e5e 47
67199842 48 ok($c->does_role($_), '... our composite does the role ' . $_)
49 for qw(
50 Role::Foo
51 Role::Bar
6cfa1e5e 52 Role::Baz
67199842 53 );
6cfa1e5e 54
67199842 55 lives_ok {
c47cf415 56 Mouse::Meta::Role::Application->new->apply($c);
6cfa1e5e 57 } '... this composed okay';
58
67199842 59 ##... now nest 'em
6cfa1e5e 60 {
67199842 61 my $c2 = Mouse::Meta::Role::Composite->new(
62 roles => [
63 $c,
64 Role::Gorch->meta,
65 ]
66 );
67 isa_ok($c2, 'Mouse::Meta::Role::Composite');
68
69 is($c2->name, 'Role::Foo|Role::Bar|Role::Baz|Role::Gorch', '... got the composite role name');
70
71 is_deeply($c2->get_roles, [
72 $c,
6cfa1e5e 73 Role::Gorch->meta,
67199842 74 ], '... got the right roles');
75
76 ok($c2->does_role($_), '... our composite does the role ' . $_)
77 for qw(
78 Role::Foo
79 Role::Bar
6cfa1e5e 80 Role::Baz
81 Role::Gorch
82 );
67199842 83 }
84}
c47cf415 85
86done_testing;