--- /dev/null
+use strict;
+use warnings;
+
+use lib 't/lib';
+
+use Test::MooseX::Compiler qw( save_fragment );
+use Test::More 0.88;
+
+use MooseX::Compiler;
+
+{
+ my $code = <<'EOF';
+use Moose;
+
+sub foo { 42 }
+EOF
+
+ my $class = 'Test::Class1';
+ save_fragment( $class, $code );
+
+ my $compiler = MooseX::Compiler->new(
+ class => $class,
+ );
+
+ my $compiled = $compiler->compile_class();
+ like(
+ $compiled,
+ qr/sub new {.+\n}\n/s,
+ 'compiled code has a constructor'
+ );
+
+ for my $module (qw( Scalar::Util Moose::Error::Util Carp )) {
+ like(
+ $compiled,
+ qr/^use \Q$module\E \(\);/m,
+ "compiled code loads $module"
+ );
+ }
+}
+
+done_testing();