X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fconstructor.t;h=10f1212d9645c1e0d95b615900f3577256df9c38;hb=refs%2Fheads%2Fmaster;hp=ffbc1f7edea7d89591f624fffbfd6e60ce3448d4;hpb=5405fa515104b7e8f57fb1b14def70c52e898f64;p=gitmo%2FMooseX-Compiler.git diff --git a/t/constructor.t b/t/constructor.t index ffbc1f7..10f1212 100644 --- a/t/constructor.t +++ b/t/constructor.t @@ -3,7 +3,7 @@ use warnings; use lib 't/lib'; -use Test::MooseX::Compiler qw( save_fragment ); +use Test::MooseX::Compiler qw( save_fragment code_compiles_ok ); use Test::More 0.88; use MooseX::Compiler; @@ -45,28 +45,34 @@ use Moose; has a1 => ( is => 'ro', - isa => 'Int', default => 42, ); -sub foo { 42 } +sub foo { 84 } EOF my $class = 'Test::Class2'; save_fragment( $class, $code ); my $compiler = MooseX::Compiler->new( - class => $class, + class => $class, + rename_to => 'Test::Class2::Compiled', ); my $compiled = $compiler->compile_class(); -warn $compiled; like( $compiled, qr/sub new {.+\n}\n/s, 'compiled code has a constructor' ); + + code_compiles_ok($compiled); + + my $obj = Test::Class2::Compiled->new(); + isa_ok( $obj, 'Test::Class2::Compiled', 'compiled object constructor' ); + is( $obj->a1(), 'a1 attr defaults to 42' ); + is( $obj->foo(), 84, 'foo method works' ); } done_testing();