xref: /openbsd-src/gnu/usr.bin/perl/dist/base/t/warnings.t (revision b39c515898423c8d899e35282f4b395f7cad3298)
1*b39c5158Smillert#!/usr/bin/perl -w
2*b39c5158Smillert
3*b39c5158Smillertuse strict;
4*b39c5158Smillert
5*b39c5158Smillertuse Test::More tests => 1;
6*b39c5158Smillert
7*b39c5158Smillertmy $warnings;
8*b39c5158SmillertBEGIN {
9*b39c5158Smillert    $SIG{__WARN__} = sub { $warnings = join '', @_ };
10*b39c5158Smillert}
11*b39c5158Smillert
12*b39c5158Smillert{
13*b39c5158Smillert    package Foo;
14*b39c5158Smillert    use fields qw(thing);
15*b39c5158Smillert}
16*b39c5158Smillert
17*b39c5158Smillert{
18*b39c5158Smillert    package Bar;
19*b39c5158Smillert    use fields qw(stuff);
20*b39c5158Smillert    use base qw(Foo);
21*b39c5158Smillert}
22*b39c5158Smillert
23*b39c5158Smillert::like $warnings,
24*b39c5158Smillert       '/^Bar is inheriting from Foo but already has its own fields!/',
25*b39c5158Smillert       'Inheriting from a base with protected fields warns';
26