improve alias/excludes warning
[gitmo/Moose.git] / t / 300_immutable / 008_immutable_constructor_error.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More;
7 use Test::Exception;
8
9
10 =pod
11
12 This tests to make sure that we provide the same error messages from
13 an immutable constructor as is provided by a non-immutable
14 constructor.
15
16 =cut
17
18 {
19     package Foo;
20     use Moose;
21
22     has 'foo' => (is => 'rw', isa => 'Int');
23
24     Foo->meta->make_immutable(debug => 0);
25 }
26
27 my $scalar = 1;
28 throws_ok { Foo->new($scalar) } qr/\QSingle parameters to new() must be a HASH ref/,
29           'Non-ref provided to immutable constructor gives useful error message';
30 throws_ok { Foo->new(\$scalar) } qr/\QSingle parameters to new() must be a HASH ref/,
31           'Scalar ref provided to immutable constructor gives useful error message';
32 throws_ok { Foo->new(undef) } qr/\QSingle parameters to new() must be a HASH ref/,
33           'undef provided to immutable constructor gives useful error message';
34
35 done_testing;