Revert most of the conversion to Test::Fatal so we can redo it
[gitmo/Moose.git] / t / 300_immutable / 008_immutable_constructor_error.t
CommitLineData
93e98578 1#!/usr/bin/perl
2
3use strict;
4use warnings;
5
a28e50e4 6use Test::More;
53a4d826 7use Test::Exception;
93e98578 8
7ff56534 9
93e98578 10=pod
11
12This tests to make sure that we provide the same error messages from
13an immutable constructor as is provided by a non-immutable
14constructor.
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
27my $scalar = 1;
53a4d826 28throws_ok { Foo->new($scalar) } qr/\QSingle parameters to new() must be a HASH ref/,
93e98578 29 'Non-ref provided to immutable constructor gives useful error message';
53a4d826 30throws_ok { Foo->new(\$scalar) } qr/\QSingle parameters to new() must be a HASH ref/,
93e98578 31 'Scalar ref provided to immutable constructor gives useful error message';
53a4d826 32throws_ok { Foo->new(undef) } qr/\QSingle parameters to new() must be a HASH ref/,
a62dcd43 33 'undef provided to immutable constructor gives useful error message';
93e98578 34
a28e50e4 35done_testing;