summaryrefslogtreecommitdiffstats
path: root/t/001-basic.t
blob: e9055315986ccecd0461ff5717d8b713a08b8cbd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/env perl
use strict;
use warnings;
use Test::More tests => 8;

package Foo;

sub new {
    my $class = shift;
    bless { _class => $class }, $class;
}

package Foo::Moose;
use Moose;
use MooseX::NonMoose;
extends 'Foo';

package main;
my $foo = Foo->new;
my $foo_moose = Foo::Moose->new;
isa_ok $foo, 'Foo';
is $foo->{_class}, 'Foo', 'Foo gets the correct class';
isa_ok $foo_moose, 'Foo::Moose';
isa_ok $foo_moose, 'Foo';
is $foo_moose->{_class}, 'Foo::Moose', 'Foo::Moose gets the correct class';
my $meta = Foo::Moose->meta;
ok $meta->has_method('new'), 'Foo::Moose has its own constructor';
isa_ok $meta->constructor_class->meta, 'Moose::Meta::Class';
ok $meta->constructor_class->meta->does_role('MooseX::NonMoose::Meta::Role::Constructor'),
   'Foo::Moose gets its constructor from MooseX::NonMoose';