7 'MooseX::StrictConstructor' => '0.01',
10 use Test::MooseX::Compiler qw( save_fragment );
22 my $class = 'Test::Class1';
23 save_fragment( $class, $code );
25 my $compiler = MooseX::Compiler->new(
29 my $compiled = $compiler->compile_class();
33 qr/^\#\s*use Moose;\n/m,
34 'use Moose declaration is commented out in compiled code'
40 'original use Moose declaration is removed from compiled code'
53 my $class = 'Test::Class2';
54 save_fragment( $class, $code );
56 my $compiler = MooseX::Compiler->new(
60 my $compiled = $compiler->compile_class();
64 qr/^\#\s*use Moose;\n/m,
65 'use Moose declaration is not commented out in compiled code'
70 qr/^use\s+Moose\s+0\.1\s+\(\)\s*;\n/m,
71 'original use Moose declaration is preserved, but () is added to prevent importing'
78 use MooseX::StrictConstructor;
83 my $class = 'Test::Class3';
84 save_fragment( $class, $code );
86 my $compiler = MooseX::Compiler->new(
90 my $compiled = $compiler->compile_class();
94 qr/^\#\s*use Moose;\n/m,
95 'use Moose declaration is commented out in compiled code'
100 qr/^\#\s*use MooseX::StrictConstructor;\n/m,
101 'use MooseX::StrictConstructor declaration is commented out in compiled code'
107 'original use Moose declaration is removed from compiled code'
112 qr/^use MooseX::StrictConstructor;\n/m,
113 'original use MooseX::StrictConstructor declaration is removed from compiled code'
120 use MooseX::StrictConstructor 0.01;
125 my $class = 'Test::Class4';
126 save_fragment( $class, $code );
128 my $compiler = MooseX::Compiler->new(
132 my $compiled = $compiler->compile_class();
136 qr/^\#\s*use Moose;\n/m,
137 'use Moose declaration is commented out in compiled code'
143 'original use Moose declaration is removed from compiled code'
148 qr/^\#\s*use MooseX::StrictConstructor;\n/m,
149 'use MooseX::StrictConstructor declaration is not commented out in compiled code'
154 qr/^use\s+MooseX::StrictConstructor\s+0\.01\s+\(\)\s*;\n/m,
155 'original use MooseX::StrictConstructor declaration is preserved, but () is added to prevent importing'