Added code to fixup line numbers, inline constructor, and load modules that construct...
[gitmo/MooseX-Compiler.git] / t / constructor.t
CommitLineData
f56affb6 1use strict;
2use warnings;
3
4use lib 't/lib';
5
6use Test::MooseX::Compiler qw( save_fragment );
7use Test::More 0.88;
8
9use MooseX::Compiler;
10
11{
12 my $code = <<'EOF';
13use Moose;
14
15sub foo { 42 }
16EOF
17
18 my $class = 'Test::Class1';
19 save_fragment( $class, $code );
20
21 my $compiler = MooseX::Compiler->new(
22 class => $class,
23 );
24
25 my $compiled = $compiler->compile_class();
26 like(
27 $compiled,
28 qr/sub new {.+\n}\n/s,
29 'compiled code has a constructor'
30 );
31
32 for my $module (qw( Scalar::Util Moose::Error::Util Carp )) {
33 like(
34 $compiled,
35 qr/^use \Q$module\E \(\);/m,
36 "compiled code loads $module"
37 );
38 }
39}
40
41done_testing();