This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
more perldiag grammar/punctuation tweaks
[perl5.git] / lib / diagnostics.t
CommitLineData
f5ad5489
GS
1#!./perl
2
3BEGIN {
7b903762
RGS
4 chdir '..' if -d '../pod' && -d '../t';
5 @INC = 'lib';
f5ad5489
GS
6}
7
4b056c06 8use Test::More tests => 5;
f5ad5489 9
d23f0205 10BEGIN { use_ok('diagnostics') }
f5ad5489 11
d23f0205 12require base;
f5ad5489 13
d23f0205
MS
14eval {
15 'base'->import(qw(I::do::not::exist));
16};
f5ad5489 17
f0e510f6 18like( $@, qr/^Base class package "I::do::not::exist" is empty/);
8b56d6ff
FC
19
20# Test for %.0f patterns in perldiag, added in 5.11.0
21close STDERR;
22open STDERR, ">", \my $warning
23 or die "Couldn't redirect STDERR to var: $!";
24warn('gmtime(nan) too large');
25like $warning, qr/\(W overflow\) You called/, '%0.f patterns';
4b056c06
FC
26
27# L<foo/bar> links
28seek STDERR, 0,0;
29$warning = '';
30warn("accept() on closed socket spanner");
31like $warning, qr/"accept" in perlfunc/, 'L<foo/bar> links';
32
33# L<foo|bar/baz> links
34seek STDERR, 0,0;
35$warning = '';
36warn
37 'Lexing code attempted to stuff non-Latin-1 character into Latin-1 input';
38like $warning, qr/using lex_stuff_pvn_flags or similar/, 'L<foo|bar/baz>';