This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
new perldelta
[perl5.git] / cpan / Scalar-List-Utils / t / tainted.t
1 #!./perl -T
2
3 use strict;
4 use warnings;
5
6 use Config;
7 use Test::More;
8 use Scalar::Util qw(tainted);
9
10 if (exists($Config{taint_support}) && not $Config{taint_support}) {
11     plan skip_all => "your perl was built without taint support";
12 }
13 else {
14     plan tests => 5;
15 }
16
17
18 ok( !tainted(1), 'constant number');
19
20 my $var = 2;
21
22 ok( !tainted($var), 'known variable');
23
24 ok( tainted($^X), 'interpreter variable');
25
26 $var = $^X;
27 ok( tainted($var), 'copy of interpreter variable');
28
29 {
30     package Tainted;
31     sub TIESCALAR { bless {} }
32     sub FETCH { $^X }
33 }
34
35 tie my $tiedvar, 'Tainted';
36 ok( tainted($tiedvar), 'for magic variables');