Commit | Line | Data |
f56affb6 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use lib 't/lib'; |
5 | |
6 | use Test::MooseX::Compiler qw( save_fragment ); |
7 | use Test::More 0.88; |
8 | |
9 | use MooseX::Compiler; |
10 | |
11 | { |
12 | my $code = <<'EOF'; |
13 | use Moose; |
14 | |
15 | sub foo { 42 } |
16 | EOF |
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 | |
41 | done_testing(); |