X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FEval-WithLexicals.git;a=blobdiff_plain;f=t%2Fhints.t;h=6a07969e18f83428e45f96532f2b7e6fbd2ec6b2;hp=1e101b50f541ef412526b4327f13e195491cac9a;hb=14786ff863ce8fbc95583e3a39b9ca29c4f0958c;hpb=9661a07cde22f93b638636322a668c07b597c665 diff --git a/t/hints.t b/t/hints.t index 1e101b5..6a07969 100644 --- a/t/hints.t +++ b/t/hints.t @@ -1,17 +1,25 @@ use strictures (); -my $strictures_hints; -BEGIN { - local $ENV{PERL_STRICTURES_EXTRA} = 0; - strictures->VERSION(1); strictures->import(); - # Find the hint value that 'use strictures 1' sets on this perl. - $strictures_hints = $^H; -} -use strictures 1; - use Test::More; use Eval::WithLexicals; use lib 't/lib'; +my $strictures_hints; +my $strictures_warn; +{ + local $ENV{PERL_STRICTURES_EXTRA} = 0; + eval q{ + use strictures 1; + BEGIN { + # Find the hint value that 'use strictures 1' sets on this perl. + $strictures_hints = $^H; + $strictures_warn = ${^WARNING_BITS}; + }; + 1; + } or die $@; +}; + +use strictures 1; + my $eval = Eval::WithLexicals->with_plugins("HintPersistence")->new(prelude => ''); is_deeply( @@ -34,11 +42,17 @@ $eval->eval('use strictures 1'); like $@, qr/requires explicit package/, 'Correct message in $@'; } -is_deeply( - $eval->hints->{q{$^H}}, \$strictures_hints, +is( + ${$eval->hints->{q{$^H}}}, $strictures_hints, 'Hints are set per strictures' ); +is( + (unpack "H*", ${$eval->hints->{q{${^WARNING_BITS}}}}), + (unpack "H*", $strictures_warn), + 'Warning bits are set per strictures' +); + is_deeply( $eval->lexicals, { }, 'Lexical not stored'