1*5759b3d2Safresh1#!perl -T 2*5759b3d2Safresh1use Test::More; 3*5759b3d2Safresh1use version; 4*5759b3d2Safresh1 5*5759b3d2Safresh1BEGIN { 6*5759b3d2Safresh1 eval "use Test::Taint"; 7*5759b3d2Safresh1 if ($@) { 8*5759b3d2Safresh1 plan skip_all => "No Test::Taint available"; 9*5759b3d2Safresh1 } else { 10*5759b3d2Safresh1 plan tests => 6; 11*5759b3d2Safresh1 } 12*5759b3d2Safresh1} 13*5759b3d2Safresh1 14*5759b3d2Safresh1taint_checking_ok(); 15*5759b3d2Safresh1my $v = 'v1.2.3'; 16*5759b3d2Safresh1taint($v); 17*5759b3d2Safresh1tainted_ok($v, 'Set string as tainted'); 18*5759b3d2Safresh1my $v2 = version->parse($v); 19*5759b3d2Safresh1isnt("$v2", '', 'Correctly parsed the tainted string'); 20*5759b3d2Safresh1tainted_ok($v2, 'Resulting version object is tainted'); 21*5759b3d2Safresh1 22*5759b3d2Safresh1my $vs = "$v2"; 23*5759b3d2Safresh1tainted_ok($vs, 'Stringified object still tainted'); 24*5759b3d2Safresh1is $v2, 'v1.2.3', 'Comparison to tainted object'; 25