mirror of
https://github.com/Perl/perl5.git
synced 2026-01-27 01:44:43 +00:00
Retract #12136, the warnings::register is already
tested by t/lib/warnings/9enabled, as pointed out by Paul Marquess. p4raw-id: //depot/perl@12185
This commit is contained in:
parent
7fcd0fc5f1
commit
d99274ce36
1
MANIFEST
1
MANIFEST
@ -1579,7 +1579,6 @@ lib/vars.t See if "use vars" work
|
||||
lib/warnings.pm For "use warnings"
|
||||
lib/warnings.t See if warning controls work
|
||||
lib/warnings/register.pm For "use warnings::register"
|
||||
lib/warnings/register.t See if "use warnings::register" works
|
||||
lib/Win32.pod Documentation for Win32 extras
|
||||
locale.c locale-specific utility functions
|
||||
macos/MacPerlTests.cmd MacOS ports
|
||||
|
||||
@ -18,9 +18,6 @@ Create a warnings category with the same name as the current package.
|
||||
|
||||
See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<perllexwarn>
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
@ -1,93 +0,0 @@
|
||||
#!./perl
|
||||
|
||||
BEGIN {
|
||||
chdir 't' if -d 't';
|
||||
@INC = '../lib';
|
||||
}
|
||||
|
||||
# this package has to be compiled first
|
||||
package WarnTest;
|
||||
|
||||
use warnings;
|
||||
use warnings::register;
|
||||
|
||||
my $status;
|
||||
sub report {
|
||||
$status = warnings::enabled() ? 1 : 0;
|
||||
}
|
||||
|
||||
sub odd_even {
|
||||
my $num = shift;
|
||||
warnings::warn('Odd number') if warnings::enabled() and $num % 2;
|
||||
}
|
||||
|
||||
sub odd_even_strict {
|
||||
warnings::warnif('numeric', 'Odd number') if $_[0] % 2;
|
||||
}
|
||||
|
||||
sub disabled {
|
||||
! warnings::enabled();
|
||||
}
|
||||
|
||||
sub category {
|
||||
warnings::warnif('closure', 'closures are neat');
|
||||
warnings::warnif('misc', 'Larry was here');
|
||||
warnings::warnif('void', '3.2 kilograms');
|
||||
}
|
||||
|
||||
package main;
|
||||
|
||||
use Test::More tests => 10;
|
||||
|
||||
use_ok( 'warnings', 'WarnTest' );
|
||||
use_ok( 'warnings::register' );
|
||||
|
||||
my $err;
|
||||
|
||||
# it's nice to trap these
|
||||
local $SIG{__WARN__} = sub {
|
||||
$err = $_[0];
|
||||
};
|
||||
|
||||
# try to trigger warning condition, first should not warn, second should
|
||||
WarnTest::odd_even(2);
|
||||
is( $err, '', 'no unexpected warning' );
|
||||
WarnTest::odd_even(3);
|
||||
like( $err, qr/^Odd number/, 'expected warning' );
|
||||
|
||||
$err = '';
|
||||
|
||||
# now disable warnings
|
||||
no warnings 'WarnTest';
|
||||
WarnTest::odd_even(5);
|
||||
is( $err, '', 'no unexpected warning with disabled warnings' );
|
||||
|
||||
# check to see if warnings really are disabled
|
||||
ok( WarnTest::disabled(), 'yep, warnings really are disabled' );
|
||||
|
||||
# now let's check lexical warnings
|
||||
no warnings;
|
||||
use warnings 'numeric';
|
||||
|
||||
# enable only one category
|
||||
{
|
||||
use warnings 'misc';
|
||||
WarnTest::category();
|
||||
like( $err, qr/^Larry/, 'warning category works' );
|
||||
|
||||
# now enable this category, it should overwrite the Larry warning
|
||||
use warnings 'void';
|
||||
WarnTest::category();
|
||||
like( $err, qr/^3.2 kilograms/, 'warning category still works' );
|
||||
}
|
||||
|
||||
# and outside of the block, we should only get the odd_even warning
|
||||
WarnTest::odd_even_strict(7);
|
||||
WarnTest::category();
|
||||
like( $err, qr/^Odd number/, 'warning scope appears to work' );
|
||||
|
||||
# and finally, fatal warnings
|
||||
use warnings FATAL => 'WarnTest';
|
||||
eval { WarnTest::odd_even(9) };
|
||||
like( $@, qr/^Odd number/, 'fatal warnings work too' );
|
||||
|
||||
@ -196,3 +196,4 @@ attributes
|
||||
base
|
||||
bytes
|
||||
ops
|
||||
warnings::register
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user