This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
warnings for perlio + others
[perl5.git] / ext / PerlIO / t / via.t
1 #!./perl
2
3 use strict;
4 use warnings;
5
6 BEGIN {
7     chdir 't' if -d 't';
8     @INC = '../lib';
9     unless (find PerlIO::Layer 'perlio') {
10         print "1..0 # Skip: not perlio\n";
11         exit 0;
12     }
13 }
14
15 my $tmp = "via$$";
16
17 use Test::More tests => 11;
18
19 my $fh;
20 my $a = join("", map { chr } 0..255) x 10;
21 my $b;
22
23 BEGIN { use_ok('MIME::QuotedPrint'); }
24
25 ok( open($fh,">Via(MIME::QuotedPrint)", $tmp), 'open QuotedPrint for output');
26 ok( (print $fh $a), "print to output file");
27 ok( close($fh), 'close output file');
28
29 ok( open($fh,"<Via(MIME::QuotedPrint)", $tmp), 'open QuotedPrint for input');
30 { local $/; $b = <$fh> }
31 ok( close($fh), "close input file");
32
33 is($a, $b, 'compare original data with filtered version');
34
35
36 {
37     my $warnings = '';
38     local $SIG{__WARN__} = sub { $warnings = join '', @_ };
39
40     use warnings 'layer';
41     ok( ! open($fh,">Via(Unknown::Module)", $tmp), 'open Via Unknown::Module will fail');
42     like( $warnings, qr/^Cannot find package 'Unknown::Module'/,  'warn about unknown package' );
43
44     $warnings = '';
45     no warnings 'layer';
46     ok( ! open($fh,">Via(Unknown::Module)", $tmp), 'open Via Unknown::Module will fail');
47     is( $warnings, "",  "don't warn about unknown package" );
48 }    
49
50 END {
51     1 while unlink $tmp;
52 }