The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
BEGIN { delete $ENV{MOO_FATAL_WARNINGS} }
use strict;
use warnings;
use Test::More;

$INC{'strictures.pm'} = __FILE__;
my $strictures = 0;
my $version;
sub strictures::VERSION {
  $version = $_[1];
  2;;
}
sub strictures::import {
  $strictures++;
  strict->import;
  warnings->import(FATAL => 'all');
}

local $SIG{__WARN__} = sub {};
eval q{
  use Moo::_strictures;
  0 + "string";
};
is $strictures, 0, 'strictures not imported without MOO_FATAL_WARNINGS';
is $@, '', 'warnings not fatal without MOO_FATAL_WARNINGS';

$ENV{MOO_FATAL_WARNINGS} = 1;
eval q{
  use Moo::_strictures;
  0 + "string";
};
is $strictures, 1, 'strictures imported with MOO_FATAL_WARNINGS';
is $version, 2, 'strictures version 2 requested with MOO_FATAL_WARNINGS';
like $@, qr/isn't numeric/, 'warnings fatal with MOO_FATAL_WARNINGS';

done_testing;