Convert all tests to done_testing.
[gitmo/Moose.git] / t / 030_roles / 040_role_for_combination.t
CommitLineData
31d96c3e 1#!/usr/bin/env perl
2use strict;
3use warnings;
a28e50e4 4use Test::More;
31d96c3e 5
6my $OPTS;
7do {
8 package My::Singleton::Role;
9 use Moose::Role;
10
11 sub foo { 'My::Singleton::Role' }
12
13 package My::Role::Metaclass;
14 use Moose;
15 BEGIN { extends 'Moose::Meta::Role' };
16
6bdef412 17 sub _role_for_combination {
31d96c3e 18 my ($self, $opts) = @_;
19 $OPTS = $opts;
20 return My::Singleton::Role->meta;
21 }
22
23 package My::Special::Role;
24 use Moose::Role -metaclass => 'My::Role::Metaclass';
25
26 sub foo { 'My::Special::Role' }
27
28 package My::Usual::Role;
29 use Moose::Role;
30
31 sub bar { 'My::Usual::Role' }
32
33 package My::Class;
34 use Moose;
35
36 with (
37 'My::Special::Role' => { number => 1 },
38 'My::Usual::Role' => { number => 2 },
39 );
40};
41
42is(My::Class->foo, 'My::Singleton::Role', 'role_for_combination applied');
43is(My::Class->bar, 'My::Usual::Role', 'collateral role');
44is_deeply($OPTS, { number => 1 });
45
a28e50e4 46done_testing;