7 'MooseX::StrictConstructor' => '0.01',
10 use Test::MooseX::Compiler qw( save_class );
29 save_class( 'Test::Class1', $code );
31 my $compiler = MooseX::Compiler->new(
32 class => 'Test::Class1',
35 my $compiled = $compiler->compile_class();
39 qr/^\#\s*use Moose;\n/m,
40 'use Moose declaration is commented out in compiled code'
46 'original use Moose declaration is removed from compiled code'
64 save_class( 'Test::Class1', $code );
66 my $compiler = MooseX::Compiler->new(
67 class => 'Test::Class1',
70 my $compiled = $compiler->compile_class();
74 qr/^\#\s*use Moose;\n/m,
75 'use Moose declaration is not commented out in compiled code'
80 qr/^use\s+Moose\s+0\.1\s+\(\)\s*;\n/m,
81 'original use Moose declaration is preserved, but () is added to prevent importing'
93 use MooseX::StrictConstructor;
100 save_class( 'Test::Class1', $code );
102 my $compiler = MooseX::Compiler->new(
103 class => 'Test::Class1',
106 my $compiled = $compiler->compile_class();
110 qr/^\#\s*use Moose;\n/m,
111 'use Moose declaration is commented out in compiled code'
116 qr/^\#\s*use MooseX::StrictConstructor;\n/m,
117 'use MooseX::StrictConstructor declaration is commented out in compiled code'
123 'original use Moose declaration is removed from compiled code'
128 qr/^use MooseX::StrictConstructor;\n/m,
129 'original use MooseX::StrictConstructor declaration is removed from compiled code'
135 package Test::Class4;
141 use MooseX::StrictConstructor 0.01;
148 save_class( 'Test::Class1', $code );
150 my $compiler = MooseX::Compiler->new(
151 class => 'Test::Class1',
154 my $compiled = $compiler->compile_class();
158 qr/^\#\s*use Moose;\n/m,
159 'use Moose declaration is commented out in compiled code'
165 'original use Moose declaration is removed from compiled code'
170 qr/^\#\s*use MooseX::StrictConstructor;\n/m,
171 'use MooseX::StrictConstructor declaration is not commented out in compiled code'
176 qr/^use\s+MooseX::StrictConstructor\s+0\.01\s+\(\)\s*;\n/m,
177 'original use MooseX::StrictConstructor declaration is preserved, but () is added to prevent importing'