Finally, this "Negative repeat count" warning wasn't such a great
[p5sagit/p5-mst-13.2.git] / t / lib / warnings / sv
index 29bef82..b38200d 100644 (file)
@@ -112,6 +112,26 @@ Use of uninitialized value in bitwise or (|) at - line 4.
 ########
 # sv.c
 use warnings 'uninitialized' ;
+my $Y = 1 ; 
+my $x = 1 & $a[$Y] ;
+no warnings 'uninitialized' ;
+my $Y = 1 ; 
+$x = 1 & $b[$Y] ;
+EXPECT
+Use of uninitialized value in bitwise and (&) at - line 4.
+########
+# sv.c
+use warnings 'uninitialized' ;
+my $Y = 1 ; 
+my $x = ~$a[$Y] ;
+no warnings 'uninitialized' ;
+my $Y = 1 ; 
+$x = ~$b[$Y] ;
+EXPECT
+Use of uninitialized value in 1's complement (~) at - line 4.
+########
+# sv.c
+use warnings 'uninitialized' ;
 my $x *= 1 ; # d
 no warnings 'uninitialized' ;
 my $y *= 1 ; # d
@@ -180,6 +200,17 @@ $C .= $A ;
 EXPECT
 Use of uninitialized value in concatenation (.) or string at - line 10.
 ########
+# perlbug 20011116.125
+use warnings 'uninitialized';
+$a = undef;
+$foo = join '', $a, "\n";
+$foo = "$a\n";
+$foo = "a:$a\n";
+EXPECT
+Use of uninitialized value in join or string at - line 4.
+Use of uninitialized value in concatenation (.) or string at - line 5.
+Use of uninitialized value in concatenation (.) or string at - line 6.
+########
 # sv.c 
 use warnings 'numeric' ;
 sub TIESCALAR{bless[]} ; 
@@ -251,7 +282,7 @@ no warnings 'redefine' ;
 sub jim {} 
 *jim = \&joe ;
 EXPECT
-Subroutine fred redefined at - line 5.
+Subroutine main::fred redefined at - line 5.
 ########
 # sv.c
 use warnings 'printf' ;
@@ -334,3 +365,22 @@ no warnings 'numeric' ;
 $a = "\x{100}\x{200}"; $a = -$a;
 EXPECT
 Argument "\x{100}\x{200}" isn't numeric in negation (-) at - line 3.
+########
+# sv.c
+open F, ">".($^O eq 'VMS'? 'NL:' : '/dev/null') ;
+use warnings 'printf';
+$a = "a\nb";
+$s = sprintf "%4s", $a;
+printf F "%4s", $a;
+$s = sprintf "%-4s", $a;
+printf F "%-4s", $a;
+$s = sprintf "%*s", -4, $a;
+no warnings 'printf';
+$s = sprintf "%4s", $a;
+printf F "%4s", $a;
+$s = sprintf "%-4s", $a;
+printf F "%-4s", $a;
+EXPECT
+Newline in left-justified string for sprintf at - line 7.
+Newline in left-justified string for printf at - line 8.
+Newline in left-justified string for sprintf at - line 9.