xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Simple/t/Test2/behavior/init_croak.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1use strict;
2use warnings;
3use Test2::Tools::Tiny;
4
5BEGIN {
6    package Foo::Bar;
7    use Test2::Util::HashBase qw/foo bar baz/;
8    use Carp qw/croak/;
9
10    sub init {
11        my $self = shift;
12        croak "'foo' is a required attribute"
13            unless $self->{+FOO};
14    }
15}
16
17skip_all("known to fail on $]") if $] le "5.006002";
18
19$@ = "";
20my ($file, $line) = (__FILE__, __LINE__ + 1);
21eval { my $one = Foo::Bar->new };
22my $err = $@;
23
24like(
25    $err,
26    qr/^'foo' is a required attribute at \Q$file\E line $line/,
27    "Croak does not report to HashBase from init"
28);
29
30done_testing;
31