jvdias 0833027
--- perl-5.8.8/lib/overload.t.U27509	2005-04-22 10:56:23.000000000 -0400
jvdias 0833027
+++ perl-5.8.8/lib/overload.t	2006-06-01 19:13:32.000000000 -0400
jvdias 0833027
@@ -46,92 +46,64 @@
jvdias 0833027
 
jvdias 0833027
 package main;
jvdias 0833027
 
jvdias 0833027
-our $test = 0;
jvdias 0833027
 $| = 1;
jvdias 0833027
-print "1..",&last,"\n";
jvdias 0833027
+use Test::More tests => 508;
jvdias 0833027
 
jvdias 0833027
-sub test {
jvdias 0833027
-  $test++; 
jvdias 0833027
-  if (@_ > 1) {
jvdias 0833027
-    my $comment = "";
jvdias 0833027
-    $comment = " # " . $_ [2] if @_ > 2;
jvdias 0833027
-    if ($_[0] eq $_[1]) {
jvdias 0833027
-      print "ok $test$comment\n";
jvdias 0833027
-      return 1;
jvdias 0833027
-    } else {
jvdias 0833027
-      $comment .= ": '$_[0]' ne '$_[1]'";
jvdias 0833027
-      print "not ok $test$comment\n";
jvdias 0833027
-      return 0;
jvdias 0833027
-    }
jvdias 0833027
-  } else {
jvdias 0833027
-    if (shift) {
jvdias 0833027
-      print "ok $test\n";
jvdias 0833027
-      return 1;
jvdias 0833027
-    } else {
jvdias 0833027
-      print "not ok $test\n";
jvdias 0833027
-      return 0;
jvdias 0833027
-    }
jvdias 0833027
-  }
jvdias 0833027
-}
jvdias 0833027
 
jvdias 0833027
 $a = new Oscalar "087";
jvdias 0833027
 $b= "$a";
jvdias 0833027
 
jvdias 0833027
-# All test numbers in comments are off by 1.
jvdias 0833027
-# So much for hard-wiring them in :-) To fix this:
jvdias 0833027
-test(1);			# 1
jvdias 0833027
-
jvdias 0833027
-test ($b eq $a);		# 2
jvdias 0833027
-test ($b eq "087");		# 3
jvdias 0833027
-test (ref $a eq "Oscalar");	# 4
jvdias 0833027
-test ($a eq $a);		# 5
jvdias 0833027
-test ($a eq "087");		# 6
jvdias 0833027
+is($b, $a);
jvdias 0833027
+is($b, "087");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
+is($a, $a);
jvdias 0833027
+is($a, "087");
jvdias 0833027
 
jvdias 0833027
 $c = $a + 7;
jvdias 0833027
 
jvdias 0833027
-test (ref $c eq "Oscalar");	# 7
jvdias 0833027
-test (!($c eq $a));		# 8
jvdias 0833027
-test ($c eq "94");		# 9
jvdias 0833027
+is(ref $c, "Oscalar");
jvdias 0833027
+isnt($c, $a);
jvdias 0833027
+is($c, "94");
jvdias 0833027
 
jvdias 0833027
 $b=$a;
jvdias 0833027
 
jvdias 0833027
-test (ref $a eq "Oscalar");	# 10
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 $b++;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 11
jvdias 0833027
-test ( $a eq "087");		# 12
jvdias 0833027
-test ( $b eq "88");		# 13
jvdias 0833027
-test (ref $a eq "Oscalar");	# 14
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "88");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 $c=$b;
jvdias 0833027
 $c-=$a;
jvdias 0833027
 
jvdias 0833027
-test (ref $c eq "Oscalar");	# 15
jvdias 0833027
-test ( $a eq "087");		# 16
jvdias 0833027
-test ( $c eq "1");		# 17
jvdias 0833027
-test (ref $a eq "Oscalar");	# 18
jvdias 0833027
+is(ref $c, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($c, "1");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 $b=1;
jvdias 0833027
 $b+=$a;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 19
jvdias 0833027
-test ( $a eq "087");		# 20
jvdias 0833027
-test ( $b eq "88");		# 21
jvdias 0833027
-test (ref $a eq "Oscalar");	# 22
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "88");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 eval q[ package Oscalar; use overload ('++' => sub { $ {$_[0]}++;$_[0] } ) ];
jvdias 0833027
 
jvdias 0833027
 $b=$a;
jvdias 0833027
 
jvdias 0833027
-test (ref $a eq "Oscalar");	# 23
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 $b++;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 24
jvdias 0833027
-test ( $a eq "087");		# 25
jvdias 0833027
-test ( $b eq "88");		# 26
jvdias 0833027
-test (ref $a eq "Oscalar");	# 27
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "88");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 package Oscalar;
jvdias 0833027
 $dummy=bless \$dummy;		# Now cache of method should be reloaded
jvdias 0833027
@@ -140,10 +112,10 @@
jvdias 0833027
 $b=$a;
jvdias 0833027
 $b++;				
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 28
jvdias 0833027
-test ( $a eq "087");		# 29
jvdias 0833027
-test ( $b eq "88");		# 30
jvdias 0833027
-test (ref $a eq "Oscalar");	# 31
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "88");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 undef $b;			# Destroying updates tables too...
jvdias 0833027
 
jvdias 0833027
@@ -151,14 +123,14 @@
jvdias 0833027
 
jvdias 0833027
 $b=$a;
jvdias 0833027
 
jvdias 0833027
-test (ref $a eq "Oscalar");	# 32
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 $b++;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 33
jvdias 0833027
-test ( $a eq "087");		# 34
jvdias 0833027
-test ( $b eq "88");		# 35
jvdias 0833027
-test (ref $a eq "Oscalar");	# 36
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "88");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 package Oscalar;
jvdias 0833027
 $dummy=bless \$dummy;		# Now cache of method should be reloaded
jvdias 0833027
@@ -166,21 +138,21 @@
jvdias 0833027
 
jvdias 0833027
 $b++;				
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 37
jvdias 0833027
-test ( $a eq "087");		# 38
jvdias 0833027
-test ( $b eq "90");		# 39
jvdias 0833027
-test (ref $a eq "Oscalar");	# 40
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "90");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 $b=$a;
jvdias 0833027
 $b++;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 41
jvdias 0833027
-test ( $a eq "087");		# 42
jvdias 0833027
-test ( $b eq "89");		# 43
jvdias 0833027
-test (ref $a eq "Oscalar");	# 44
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "89");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 
jvdias 0833027
-test ($b? 1:0);			# 45
jvdias 0833027
+ok($b? 1:0);
jvdias 0833027
 
jvdias 0833027
 eval q[ package Oscalar; use overload ('=' => sub {$main::copies++; 
jvdias 0833027
 						   package Oscalar;
jvdias 0833027
@@ -189,44 +161,44 @@
jvdias 0833027
 
jvdias 0833027
 $b=new Oscalar "$a";
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 46
jvdias 0833027
-test ( $a eq "087");		# 47
jvdias 0833027
-test ( $b eq "087");		# 48
jvdias 0833027
-test (ref $a eq "Oscalar");	# 49
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "087");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
 
jvdias 0833027
 $b++;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 50
jvdias 0833027
-test ( $a eq "087");		# 51
jvdias 0833027
-test ( $b eq "89");		# 52
jvdias 0833027
-test (ref $a eq "Oscalar");	# 53
jvdias 0833027
-test ($copies == 0);		# 54
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "89");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
+is($copies, undef);
jvdias 0833027
 
jvdias 0833027
 $b+=1;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 55
jvdias 0833027
-test ( $a eq "087");		# 56
jvdias 0833027
-test ( $b eq "90");		# 57
jvdias 0833027
-test (ref $a eq "Oscalar");	# 58
jvdias 0833027
-test ($copies == 0);		# 59
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "90");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
+is($copies, undef);
jvdias 0833027
 
jvdias 0833027
 $b=$a;
jvdias 0833027
 $b+=1;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 60
jvdias 0833027
-test ( $a eq "087");		# 61
jvdias 0833027
-test ( $b eq "88");		# 62
jvdias 0833027
-test (ref $a eq "Oscalar");	# 63
jvdias 0833027
-test ($copies == 0);		# 64
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "88");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
+is($copies, undef);
jvdias 0833027
 
jvdias 0833027
 $b=$a;
jvdias 0833027
 $b++;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar") || print ref $b,"=ref(b)\n";	# 65
jvdias 0833027
-test ( $a eq "087");		# 66
jvdias 0833027
-test ( $b eq "89");		# 67
jvdias 0833027
-test (ref $a eq "Oscalar");	# 68
jvdias 0833027
-test ($copies == 1);		# 69
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "89");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
+is($copies, 1);
jvdias 0833027
 
jvdias 0833027
 eval q[package Oscalar; use overload ('+=' => sub {$ {$_[0]} += 3*$_[1];
jvdias 0833027
 						   $_[0] } ) ];
jvdias 0833027
@@ -235,34 +207,34 @@
jvdias 0833027
 $b=$a;
jvdias 0833027
 $b+=1;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 70
jvdias 0833027
-test ( $a eq "087");		# 71
jvdias 0833027
-test ( $b eq "90");		# 72
jvdias 0833027
-test (ref $a eq "Oscalar");	# 73
jvdias 0833027
-test ($copies == 2);		# 74
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($a, "087");
jvdias 0833027
+is($b, "90");
jvdias 0833027
+is(ref $a, "Oscalar");
jvdias 0833027
+is($copies, 2);
jvdias 0833027
 
jvdias 0833027
 $b+=$b;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 75
jvdias 0833027
-test ( $b eq "360");		# 76
jvdias 0833027
-test ($copies == 2);		# 77
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($b, "360");
jvdias 0833027
+is($copies, 2);
jvdias 0833027
 $b=-$b;
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 78
jvdias 0833027
-test ( $b eq "-360");		# 79
jvdias 0833027
-test ($copies == 2);		# 80
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($b, "-360");
jvdias 0833027
+is($copies, 2);
jvdias 0833027
 
jvdias 0833027
 $b=abs($b);
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 81
jvdias 0833027
-test ( $b eq "360");		# 82
jvdias 0833027
-test ($copies == 2);		# 83
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($b, "360");
jvdias 0833027
+is($copies, 2);
jvdias 0833027
 
jvdias 0833027
 $b=abs($b);
jvdias 0833027
 
jvdias 0833027
-test (ref $b eq "Oscalar");	# 84
jvdias 0833027
-test ( $b eq "360");		# 85
jvdias 0833027
-test ($copies == 2);		# 86
jvdias 0833027
+is(ref $b, "Oscalar");
jvdias 0833027
+is($b, "360");
jvdias 0833027
+is($copies, 2);
jvdias 0833027
 
jvdias 0833027
 eval q[package Oscalar; 
jvdias 0833027
        use overload ('x' => sub {new Oscalar ( $_[2] ? "_.$_[1]._" x $ {$_[0]}
jvdias 0833027
@@ -270,7 +242,7 @@
jvdias 0833027
 
jvdias 0833027
 $a=new Oscalar "yy";
jvdias 0833027
 $a x= 3;
jvdias 0833027
-test ($a eq "_.yy.__.yy.__.yy._"); # 87
jvdias 0833027
+is($a, "_.yy.__.yy.__.yy._");
jvdias 0833027
 
jvdias 0833027
 eval q[package Oscalar; 
jvdias 0833027
        use overload ('.' => sub {new Oscalar ( $_[2] ? 
jvdias 0833027
@@ -279,7 +251,7 @@
jvdias 0833027
 
jvdias 0833027
 $a=new Oscalar "xx";
jvdias 0833027
 
jvdias 0833027
-test ("b${a}c" eq "_._.b.__.xx._.__.c._"); # 88
jvdias 0833027
+is("b${a}c", "_._.b.__.xx._.__.c._");
jvdias 0833027
 
jvdias 0833027
 # Check inheritance of overloading;
jvdias 0833027
 {
jvdias 0833027
@@ -288,26 +260,26 @@
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 $aI = new OscalarI "$a";
jvdias 0833027
-test (ref $aI eq "OscalarI");	# 89
jvdias 0833027
-test ("$aI" eq "xx");		# 90
jvdias 0833027
-test ($aI eq "xx");		# 91
jvdias 0833027
-test ("b${aI}c" eq "_._.b.__.xx._.__.c._");		# 92
jvdias 0833027
+is(ref $aI, "OscalarI");
jvdias 0833027
+is("$aI", "xx");
jvdias 0833027
+is($aI, "xx");
jvdias 0833027
+is("b${aI}c", "_._.b.__.xx._.__.c._");
jvdias 0833027
 
jvdias 0833027
 # Here we test blessing to a package updates hash
jvdias 0833027
 
jvdias 0833027
 eval "package Oscalar; no overload '.'";
jvdias 0833027
 
jvdias 0833027
-test ("b${a}" eq "_.b.__.xx._"); # 93
jvdias 0833027
+is("b${a}", "_.b.__.xx._");
jvdias 0833027
 $x="1";
jvdias 0833027
 bless \$x, Oscalar;
jvdias 0833027
-test ("b${a}c" eq "bxxc");	# 94
jvdias 0833027
+is("b${a}c", "bxxc");
jvdias 0833027
 new Oscalar 1;
jvdias 0833027
-test ("b${a}c" eq "bxxc");	# 95
jvdias 0833027
+is("b${a}c", "bxxc");
jvdias 0833027
 
jvdias 0833027
 # Negative overloading:
jvdias 0833027
 
jvdias 0833027
 $na = eval { ~$a };
jvdias 0833027
-test($@ =~ /no method found/);	# 96
jvdias 0833027
+like($@, qr/no method found/);
jvdias 0833027
 
jvdias 0833027
 # Check AUTOLOADING:
jvdias 0833027
 
jvdias 0833027
@@ -318,32 +290,32 @@
jvdias 0833027
 eval "package Oscalar; sub comple; use overload '~' => 'comple'";
jvdias 0833027
 
jvdias 0833027
 $na = eval { ~$a };		# Hash was not updated
jvdias 0833027
-test($@ =~ /no method found/);	# 97
jvdias 0833027
+like($@, qr/no method found/);
jvdias 0833027
 
jvdias 0833027
 bless \$x, Oscalar;
jvdias 0833027
 
jvdias 0833027
 $na = eval { ~$a };		# Hash updated
jvdias 0833027
 warn "`$na', $@" if $@;
jvdias 0833027
-test !$@;			# 98
jvdias 0833027
-test($na eq '_!_xx_!_');	# 99
jvdias 0833027
+ok !$@;
jvdias 0833027
+is($na, '_!_xx_!_');
jvdias 0833027
 
jvdias 0833027
 $na = 0;
jvdias 0833027
 
jvdias 0833027
 $na = eval { ~$aI };		# Hash was not updated
jvdias 0833027
-test($@ =~ /no method found/);	# 100
jvdias 0833027
+like($@, qr/no method found/);
jvdias 0833027
 
jvdias 0833027
 bless \$x, OscalarI;
jvdias 0833027
 
jvdias 0833027
 $na = eval { ~$aI };
jvdias 0833027
 print $@;
jvdias 0833027
 
jvdias 0833027
-test !$@;			# 101
jvdias 0833027
-test($na eq '_!_xx_!_');	# 102
jvdias 0833027
+ok(!$@);
jvdias 0833027
+is($na, '_!_xx_!_');
jvdias 0833027
 
jvdias 0833027
 eval "package Oscalar; sub rshft; use overload '>>' => 'rshft'";
jvdias 0833027
 
jvdias 0833027
 $na = eval { $aI >> 1 };	# Hash was not updated
jvdias 0833027
-test($@ =~ /no method found/);	# 103
jvdias 0833027
+like($@, qr/no method found/);
jvdias 0833027
 
jvdias 0833027
 bless \$x, OscalarI;
jvdias 0833027
 
jvdias 0833027
@@ -352,20 +324,20 @@
jvdias 0833027
 $na = eval { $aI >> 1 };
jvdias 0833027
 print $@;
jvdias 0833027
 
jvdias 0833027
-test !$@;			# 104
jvdias 0833027
-test($na eq '_!_xx_!_');	# 105
jvdias 0833027
+ok(!$@);
jvdias 0833027
+is($na, '_!_xx_!_');
jvdias 0833027
 
jvdias 0833027
 # warn overload::Method($a, '0+'), "\n";
jvdias 0833027
-test (overload::Method($a, '0+') eq \&Oscalar::numify); # 106
jvdias 0833027
-test (overload::Method($aI,'0+') eq \&Oscalar::numify); # 107
jvdias 0833027
-test (overload::Overloaded($aI)); # 108
jvdias 0833027
-test (!overload::Overloaded('overload')); # 109
jvdias 0833027
+is(overload::Method($a, '0+'), \&Oscalar::numify);
jvdias 0833027
+is(overload::Method($aI,'0+'), \&Oscalar::numify);
jvdias 0833027
+ok(overload::Overloaded($aI));
jvdias 0833027
+ok(!overload::Overloaded('overload'));
jvdias 0833027
 
jvdias 0833027
-test (! defined overload::Method($aI, '<<')); # 110
jvdias 0833027
-test (! defined overload::Method($a, '<')); # 111
jvdias 0833027
+ok(! defined overload::Method($aI, '<<'));
jvdias 0833027
+ok(! defined overload::Method($a, '<'));
jvdias 0833027
 
jvdias 0833027
-test (overload::StrVal($aI) =~ /^OscalarI=SCALAR\(0x[\da-fA-F]+\)$/); # 112
jvdias 0833027
-test (overload::StrVal(\$aI) eq "@{[\$aI]}"); # 113
jvdias 0833027
+like (overload::StrVal($aI), qr/^OscalarI=SCALAR\(0x[\da-fA-F]+\)$/);
jvdias 0833027
+is(overload::StrVal(\$aI), "@{[\$aI]}");
jvdias 0833027
 
jvdias 0833027
 # Check overloading by methods (specified deep in the ISA tree).
jvdias 0833027
 {
jvdias 0833027
@@ -379,16 +351,16 @@
jvdias 0833027
 $aII = \$aaII;
jvdias 0833027
 bless $aII, 'OscalarII';
jvdias 0833027
 bless \$fake, 'OscalarI';		# update the hash
jvdias 0833027
-test(($aI | 3) eq '_<<_xx_<<_');	# 114
jvdias 0833027
+is(($aI | 3), '_<<_xx_<<_');
jvdias 0833027
 # warn $aII << 3;
jvdias 0833027
-test(($aII << 3) eq '_<<_087_<<_');	# 115
jvdias 0833027
+is(($aII << 3), '_<<_087_<<_');
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   BEGIN { $int = 7; overload::constant 'integer' => sub {$int++; shift}; }
jvdias 0833027
   $out = 2**10;
jvdias 0833027
 }
jvdias 0833027
-test($int, 9);		# 116
jvdias 0833027
-test($out, 1024);		# 117
jvdias 0833027
+is($int, 9);
jvdias 0833027
+is($out, 1024);
jvdias 0833027
 
jvdias 0833027
 $foo = 'foo';
jvdias 0833027
 $foo1 = 'f\'o\\o';
jvdias 0833027
@@ -402,15 +374,15 @@
jvdias 0833027
   /b\b$foo.\./;
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
-test($out, 'foo');		# 118
jvdias 0833027
-test($out, $foo);		# 119
jvdias 0833027
-test($out1, 'f\'o\\o');		# 120
jvdias 0833027
-test($out1, $foo1);		# 121
jvdias 0833027
-test($out2, "a\afoo,\,");	# 122
jvdias 0833027
-test("@q", "foo q f'o\\\\o q a\\a qq ,\\, qq");	# 123
jvdias 0833027
-test($q, 11);			# 124
jvdias 0833027
-test("@qr", "b\\b qq .\\. qq");	# 125
jvdias 0833027
-test($qr, 9);			# 126
jvdias 0833027
+is($out, 'foo');
jvdias 0833027
+is($out, $foo);
jvdias 0833027
+is($out1, 'f\'o\\o');
jvdias 0833027
+is($out1, $foo1);
jvdias 0833027
+is($out2, "a\afoo,\,");
jvdias 0833027
+is("@q", "foo q f'o\\\\o q a\\a qq ,\\, qq");
jvdias 0833027
+is($q, 11);
jvdias 0833027
+is("@qr", "b\\b qq .\\. qq");
jvdias 0833027
+is($qr, 9);
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   $_ = '!!foo!<-.>!';
jvdias 0833027
@@ -433,19 +405,19 @@
jvdias 0833027
   tr/A-Z/a-z/;
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
-test($out, '_<foo>_');		# 117
jvdias 0833027
-test($out1, '_<f\'o\\o>_');		# 128
jvdias 0833027
-test($out2, "_<a\a>_foo_<,\,>_");	# 129
jvdias 0833027
-test("@q1", "foo q f'o\\\\o q a\\a qq ,\\, qq oups
jvdias 0833027
+is($out, '_<foo>_');
jvdias 0833027
+is($out1, '_<f\'o\\o>_');
jvdias 0833027
+is($out2, "_<a\a>_foo_<,\,>_");
jvdias 0833027
+is("@q1", "foo q f'o\\\\o q a\\a qq ,\\, qq oups
jvdias 0833027
  qq oups1
jvdias 0833027
- q second part q tail here s A-Z tr a-z tr");	# 130
jvdias 0833027
-test("@qr1", "b\\b qq .\\. qq try it q first part q yet another qq");	# 131
jvdias 0833027
-test($res, 1);			# 132
jvdias 0833027
-test($a, "_
jvdias 0833027
->_");	# 133
jvdias 0833027
-test($b, "_
jvdias 0833027
->_");	# 134
jvdias 0833027
-test($c, "bareword");	# 135
jvdias 0833027
+ q second part q tail here s A-Z tr a-z tr");
jvdias 0833027
+is("@qr1", "b\\b qq .\\. qq try it q first part q yet another qq");
jvdias 0833027
+is($res, 1);
jvdias 0833027
+is($a, "_
jvdias 0833027
+>_");
jvdias 0833027
+is($b, "_
jvdias 0833027
+>_");
jvdias 0833027
+is($c, "bareword");
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   package symbolic;		# Primitive symbolic calculator
jvdias 0833027
@@ -513,24 +485,24 @@
jvdias 0833027
 {
jvdias 0833027
   my $foo = new symbolic 11;
jvdias 0833027
   my $baz = $foo++;
jvdias 0833027
-  test( (sprintf "%d", $foo), '12');
jvdias 0833027
-  test( (sprintf "%d", $baz), '11');
jvdias 0833027
+  is((sprintf "%d", $foo), '12');
jvdias 0833027
+  is((sprintf "%d", $baz), '11');
jvdias 0833027
   my $bar = $foo;
jvdias 0833027
   $baz = ++$foo;
jvdias 0833027
-  test( (sprintf "%d", $foo), '13');
jvdias 0833027
-  test( (sprintf "%d", $bar), '12');
jvdias 0833027
-  test( (sprintf "%d", $baz), '13');
jvdias 0833027
+  is((sprintf "%d", $foo), '13');
jvdias 0833027
+  is((sprintf "%d", $bar), '12');
jvdias 0833027
+  is((sprintf "%d", $baz), '13');
jvdias 0833027
   my $ban = $foo;
jvdias 0833027
   $baz = ($foo += 1);
jvdias 0833027
-  test( (sprintf "%d", $foo), '14');
jvdias 0833027
-  test( (sprintf "%d", $bar), '12');
jvdias 0833027
-  test( (sprintf "%d", $baz), '14');
jvdias 0833027
-  test( (sprintf "%d", $ban), '13');
jvdias 0833027
+  is((sprintf "%d", $foo), '14');
jvdias 0833027
+  is((sprintf "%d", $bar), '12');
jvdias 0833027
+  is((sprintf "%d", $baz), '14');
jvdias 0833027
+  is((sprintf "%d", $ban), '13');
jvdias 0833027
   $baz = 0;
jvdias 0833027
   $baz = $foo++;
jvdias 0833027
-  test( (sprintf "%d", $foo), '15');
jvdias 0833027
-  test( (sprintf "%d", $baz), '14');
jvdias 0833027
-  test( "$foo", '[++ [+= [++ [++ [n 11] 1] 1] 1] 1]');
jvdias 0833027
+  is((sprintf "%d", $foo), '15');
jvdias 0833027
+  is((sprintf "%d", $baz), '14');
jvdias 0833027
+  is("$foo", '[++ [+= [++ [++ [n 11] 1] 1] 1] 1]');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -543,8 +515,8 @@
jvdias 0833027
     $side = (sqrt(1 + $side**2) - 1)/$side;
jvdias 0833027
   }
jvdias 0833027
   my $pi = $side*(2**($iter+2));
jvdias 0833027
-  test "$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]';
jvdias 0833027
-  test( (sprintf "%f", $pi), '3.182598');
jvdias 0833027
+  is("$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]');
jvdias 0833027
+  is((sprintf "%f", $pi), '3.182598');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -556,8 +528,8 @@
jvdias 0833027
     $side = (sqrt(1 + $side**2) - 1)/$side;
jvdias 0833027
   }
jvdias 0833027
   my $pi = $side*(2**($iter+2));
jvdias 0833027
-  test "$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]';
jvdias 0833027
-  test( (sprintf "%f", $pi), '3.182598');
jvdias 0833027
+  is("$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]');
jvdias 0833027
+  is((sprintf "%f", $pi), '3.182598');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -565,9 +537,9 @@
jvdias 0833027
   symbolic->vars($a, $b);
jvdias 0833027
   my $c = sqrt($a**2 + $b**2);
jvdias 0833027
   $a = 3; $b = 4;
jvdias 0833027
-  test( (sprintf "%d", $c), '5');
jvdias 0833027
+  is((sprintf "%d", $c), '5');
jvdias 0833027
   $a = 12; $b = 5;
jvdias 0833027
-  test( (sprintf "%d", $c), '13');
jvdias 0833027
+  is((sprintf "%d", $c), '13');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -634,24 +606,24 @@
jvdias 0833027
 {
jvdias 0833027
   my $foo = new symbolic1 11;
jvdias 0833027
   my $baz = $foo++;
jvdias 0833027
-  test( (sprintf "%d", $foo), '12');
jvdias 0833027
-  test( (sprintf "%d", $baz), '11');
jvdias 0833027
+  is((sprintf "%d", $foo), '12');
jvdias 0833027
+  is((sprintf "%d", $baz), '11');
jvdias 0833027
   my $bar = $foo;
jvdias 0833027
   $baz = ++$foo;
jvdias 0833027
-  test( (sprintf "%d", $foo), '13');
jvdias 0833027
-  test( (sprintf "%d", $bar), '12');
jvdias 0833027
-  test( (sprintf "%d", $baz), '13');
jvdias 0833027
+  is((sprintf "%d", $foo), '13');
jvdias 0833027
+  is((sprintf "%d", $bar), '12');
jvdias 0833027
+  is((sprintf "%d", $baz), '13');
jvdias 0833027
   my $ban = $foo;
jvdias 0833027
   $baz = ($foo += 1);
jvdias 0833027
-  test( (sprintf "%d", $foo), '14');
jvdias 0833027
-  test( (sprintf "%d", $bar), '12');
jvdias 0833027
-  test( (sprintf "%d", $baz), '14');
jvdias 0833027
-  test( (sprintf "%d", $ban), '13');
jvdias 0833027
+  is((sprintf "%d", $foo), '14');
jvdias 0833027
+  is((sprintf "%d", $bar), '12');
jvdias 0833027
+  is((sprintf "%d", $baz), '14');
jvdias 0833027
+  is((sprintf "%d", $ban), '13');
jvdias 0833027
   $baz = 0;
jvdias 0833027
   $baz = $foo++;
jvdias 0833027
-  test( (sprintf "%d", $foo), '15');
jvdias 0833027
-  test( (sprintf "%d", $baz), '14');
jvdias 0833027
-  test( "$foo", '[++ [+= [++ [++ [n 11] 1] 1] 1] 1]');
jvdias 0833027
+  is((sprintf "%d", $foo), '15');
jvdias 0833027
+  is((sprintf "%d", $baz), '14');
jvdias 0833027
+  is("$foo", '[++ [+= [++ [++ [n 11] 1] 1] 1] 1]');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -664,8 +636,8 @@
jvdias 0833027
     $side = (sqrt(1 + $side**2) - 1)/$side;
jvdias 0833027
   }
jvdias 0833027
   my $pi = $side*(2**($iter+2));
jvdias 0833027
-  test "$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]';
jvdias 0833027
-  test( (sprintf "%f", $pi), '3.182598');
jvdias 0833027
+  is("$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]');
jvdias 0833027
+  is((sprintf "%f", $pi), '3.182598');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -677,8 +649,8 @@
jvdias 0833027
     $side = (sqrt(1 + $side**2) - 1)/$side;
jvdias 0833027
   }
jvdias 0833027
   my $pi = $side*(2**($iter+2));
jvdias 0833027
-  test "$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]';
jvdias 0833027
-  test( (sprintf "%f", $pi), '3.182598');
jvdias 0833027
+  is("$side", '[/ [- [sqrt [+ 1 [** [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]] 2]]] 1] [/ [- [sqrt [+ 1 [** [n 1] 2]]] 1] [n 1]]]');
jvdias 0833027
+  is((sprintf "%f", $pi), '3.182598');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -686,9 +658,9 @@
jvdias 0833027
   symbolic1->vars($a, $b);
jvdias 0833027
   my $c = sqrt($a**2 + $b**2);
jvdias 0833027
   $a = 3; $b = 4;
jvdias 0833027
-  test( (sprintf "%d", $c), '5');
jvdias 0833027
+  is((sprintf "%d", $c), '5');
jvdias 0833027
   $a = 12; $b = 5;
jvdias 0833027
-  test( (sprintf "%d", $c), '13');
jvdias 0833027
+  is((sprintf "%d", $c), '13');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -702,9 +674,9 @@
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   my $seven = new two_face ("vii", 7);
jvdias 0833027
-  test( (sprintf "seven=$seven, seven=%d, eight=%d", $seven, $seven+1),
jvdias 0833027
+  is((sprintf "seven=$seven, seven=%d, eight=%d", $seven, $seven+1),
jvdias 0833027
 	'seven=vii, seven=7, eight=8');
jvdias 0833027
-  test( scalar ($seven =~ /i/), '1')
jvdias 0833027
+  is(scalar ($seven =~ /i/), '1');
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -717,7 +689,7 @@
jvdias 0833027
   my @arr = map sorting->new($_), 0..12;
jvdias 0833027
   my @sorted1 = sort @arr;
jvdias 0833027
   my @sorted2 = map $$_, @sorted1;
jvdias 0833027
-  test "@sorted2", '0 10 7 4 1 11 8 5 12 2 9 6 3';
jvdias 0833027
+  is("@sorted2", '0 10 7 4 1 11 8 5 12 2 9 6 3');
jvdias 0833027
 }
jvdias 0833027
 {
jvdias 0833027
   package iterator;
jvdias 0833027
@@ -728,21 +700,21 @@
jvdias 0833027
 
jvdias 0833027
 # XXX iterator overload not intended to work with CORE::GLOBAL?
jvdias 0833027
 if (defined &CORE::GLOBAL::glob) {
jvdias 0833027
-  test '1', '1';	# 175
jvdias 0833027
-  test '1', '1';	# 176
jvdias 0833027
-  test '1', '1';	# 177
jvdias 0833027
+  is('1', '1');
jvdias 0833027
+  is('1', '1');
jvdias 0833027
+  is('1', '1');
jvdias 0833027
 }
jvdias 0833027
 else {
jvdias 0833027
   my $iter = iterator->new(5);
jvdias 0833027
   my $acc = '';
jvdias 0833027
   my $out;
jvdias 0833027
   $acc .= " $out" while $out = <${iter}>;
jvdias 0833027
-  test $acc, ' 5 4 3 2 1 0';	# 175
jvdias 0833027
+  is($acc, ' 5 4 3 2 1 0');
jvdias 0833027
   $iter = iterator->new(5);
jvdias 0833027
-  test scalar <${iter}>, '5';	# 176
jvdias 0833027
+  is(scalar <${iter}>, '5');
jvdias 0833027
   $acc = '';
jvdias 0833027
   $acc .= " $out" while $out = <$iter>;
jvdias 0833027
-  test $acc, ' 4 3 2 1 0';	# 177
jvdias 0833027
+  is($acc, ' 4 3 2 1 0');
jvdias 0833027
 }
jvdias 0833027
 {
jvdias 0833027
   package deref;
jvdias 0833027
@@ -773,53 +745,53 @@
jvdias 0833027
   # Hash:
jvdias 0833027
   my @cont = sort %$deref;
jvdias 0833027
   if ("\t" eq "\011") { # ascii
jvdias 0833027
-      test "@cont", '23 5 fake foo';	# 178
jvdias 0833027
+      is("@cont", '23 5 fake foo');
jvdias 0833027
   } 
jvdias 0833027
   else {                # ebcdic alpha-numeric sort order
jvdias 0833027
-      test "@cont", 'fake foo 23 5';	# 178
jvdias 0833027
+      is("@cont", 'fake foo 23 5');
jvdias 0833027
   }
jvdias 0833027
   my @keys = sort keys %$deref;
jvdias 0833027
-  test "@keys", 'fake foo';	# 179
jvdias 0833027
+  is("@keys", 'fake foo');
jvdias 0833027
   my @val = sort values %$deref;
jvdias 0833027
-  test "@val", '23 5';		# 180
jvdias 0833027
-  test $deref->{foo}, 5;	# 181
jvdias 0833027
-  test defined $deref->{bar}, ''; # 182
jvdias 0833027
+  is("@val", '23 5');
jvdias 0833027
+  is($deref->{foo}, 5);
jvdias 0833027
+  is(defined $deref->{bar}, '');
jvdias 0833027
   my $key;
jvdias 0833027
   @keys = ();
jvdias 0833027
   push @keys, $key while $key = each %$deref;
jvdias 0833027
   @keys = sort @keys;
jvdias 0833027
-  test "@keys", 'fake foo';	# 183  
jvdias 0833027
-  test exists $deref->{bar}, ''; # 184
jvdias 0833027
-  test exists $deref->{foo}, 1; # 185
jvdias 0833027
+  is("@keys", 'fake foo');
jvdias 0833027
+  is(exists $deref->{bar}, '');
jvdias 0833027
+  is(exists $deref->{foo}, 1);
jvdias 0833027
   # Code:
jvdias 0833027
-  test $deref->(5), 39;		# 186
jvdias 0833027
-  test &$deref(6), 40;		# 187
jvdias 0833027
+  is($deref->(5), 39);
jvdias 0833027
+  is(&$deref(6), 40);
jvdias 0833027
   sub xxx_goto { goto &$deref }
jvdias 0833027
-  test xxx_goto(7), 41;		# 188
jvdias 0833027
+  is(xxx_goto(7), 41);
jvdias 0833027
   my $srt = bless { c => sub {$b <=> $a}
jvdias 0833027
 		  }, 'deref';
jvdias 0833027
   *srt = \&$srt;
jvdias 0833027
   my @sorted = sort srt 11, 2, 5, 1, 22;
jvdias 0833027
-  test "@sorted", '22 11 5 2 1'; # 189
jvdias 0833027
+  is("@sorted", '22 11 5 2 1');
jvdias 0833027
   # Scalar
jvdias 0833027
-  test $$deref, 123;		# 190
jvdias 0833027
+  is($$deref, 123);
jvdias 0833027
   # Code
jvdias 0833027
   @sorted = sort $srt 11, 2, 5, 1, 22;
jvdias 0833027
-  test "@sorted", '22 11 5 2 1'; # 191
jvdias 0833027
+  is("@sorted", '22 11 5 2 1');
jvdias 0833027
   # Array
jvdias 0833027
-  test "@$deref", '11 12 13';	# 192
jvdias 0833027
-  test $#$deref, '2';		# 193
jvdias 0833027
+  is("@$deref", '11 12 13');
jvdias 0833027
+  is($#$deref, '2');
jvdias 0833027
   my $l = @$deref;
jvdias 0833027
-  test $l, 3;			# 194
jvdias 0833027
-  test $deref->[2], '13';		# 195
jvdias 0833027
+  is($l, 3);
jvdias 0833027
+  is($deref->[2], '13');
jvdias 0833027
   $l = pop @$deref;
jvdias 0833027
-  test $l, 13;			# 196
jvdias 0833027
+  is($l, 13);
jvdias 0833027
   $l = 1;
jvdias 0833027
-  test $deref->[$l], '12';	# 197
jvdias 0833027
+  is($deref->[$l], '12');
jvdias 0833027
   # Repeated dereference
jvdias 0833027
   my $double = bless { h => $deref,
jvdias 0833027
 		     }, 'deref';
jvdias 0833027
-  test $double->{foo}, 5;	# 198
jvdias 0833027
+  is($double->{foo}, 5);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -856,9 +828,9 @@
jvdias 0833027
 
jvdias 0833027
 my $bar = new two_refs 3,4,5,6;
jvdias 0833027
 $bar->[2] = 11;
jvdias 0833027
-test $bar->{two}, 11;		# 199
jvdias 0833027
+is($bar->{two}, 11);
jvdias 0833027
 $bar->{three} = 13;
jvdias 0833027
-test $bar->[3], 13;		# 200
jvdias 0833027
+is($bar->[3], 13);
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   package two_refs_o;
jvdias 0833027
@@ -867,9 +839,9 @@
jvdias 0833027
 
jvdias 0833027
 $bar = new two_refs_o 3,4,5,6;
jvdias 0833027
 $bar->[2] = 11;
jvdias 0833027
-test $bar->{two}, 11;		# 201
jvdias 0833027
+is($bar->{two}, 11);
jvdias 0833027
 $bar->{three} = 13;
jvdias 0833027
-test $bar->[3], 13;		# 202
jvdias 0833027
+is($bar->[3], 13);
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   package two_refs1;
jvdias 0833027
@@ -909,9 +881,9 @@
jvdias 0833027
 
jvdias 0833027
 $bar = new two_refs_o 3,4,5,6;
jvdias 0833027
 $bar->[2] = 11;
jvdias 0833027
-test $bar->{two}, 11;		# 203
jvdias 0833027
+is($bar->{two}, 11);
jvdias 0833027
 $bar->{three} = 13;
jvdias 0833027
-test $bar->[3], 13;		# 204
jvdias 0833027
+is($bar->[3], 13);
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   package two_refs1_o;
jvdias 0833027
@@ -920,9 +892,9 @@
jvdias 0833027
 
jvdias 0833027
 $bar = new two_refs1_o 3,4,5,6;
jvdias 0833027
 $bar->[2] = 11;
jvdias 0833027
-test $bar->{two}, 11;		# 205
jvdias 0833027
+is($bar->{two}, 11);
jvdias 0833027
 $bar->{three} = 13;
jvdias 0833027
-test $bar->[3], 13;		# 206
jvdias 0833027
+is($bar->[3], 13);
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
   package B;
jvdias 0833027
@@ -932,12 +904,12 @@
jvdias 0833027
 my $aaa;
jvdias 0833027
 { my $bbbb = 0; $aaa = bless \$bbbb, B }
jvdias 0833027
 
jvdias 0833027
-test !$aaa, 1;			# 207
jvdias 0833027
+is !$aaa, 1;
jvdias 0833027
 
jvdias 0833027
 unless ($aaa) {
jvdias 0833027
-  test 'ok', 'ok';		# 208
jvdias 0833027
+  pass();
jvdias 0833027
 } else {
jvdias 0833027
-  test 'is not', 'ok';		# 208
jvdias 0833027
+  fail();
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 # check that overload isn't done twice by join
jvdias 0833027
@@ -945,7 +917,7 @@
jvdias 0833027
   package Join;
jvdias 0833027
   use overload '""' => sub { $c++ };
jvdias 0833027
   my $x = join '', bless([]), 'pq', bless([]);
jvdias 0833027
-  main::test $x, '0pq1';		# 209
jvdias 0833027
+  main::is $x, '0pq1';
jvdias 0833027
 };
jvdias 0833027
 
jvdias 0833027
 # Test module-specific warning
jvdias 0833027
@@ -954,10 +926,10 @@
jvdias 0833027
     my $a = "" ;
jvdias 0833027
     local $SIG{__WARN__} = sub {$a = $_[0]} ;
jvdias 0833027
     $x = eval ' overload::constant "integer" ; ' ;
jvdias 0833027
-    test($a eq "") ; # 210
jvdias 0833027
+    is($a, "");
jvdias 0833027
     use warnings 'overload' ;
jvdias 0833027
     $x = eval ' overload::constant "integer" ; ' ;
jvdias 0833027
-    test($a =~ /^Odd number of arguments for overload::constant at/) ; # 211
jvdias 0833027
+    like($a, qr/^Odd number of arguments for overload::constant at/);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -965,10 +937,10 @@
jvdias 0833027
     my $a = "" ;
jvdias 0833027
     local $SIG{__WARN__} = sub {$a = $_[0]} ;
jvdias 0833027
     $x = eval ' overload::constant "fred" => sub {} ; ' ;
jvdias 0833027
-    test($a eq "") ; # 212
jvdias 0833027
+    is($a, "");
jvdias 0833027
     use warnings 'overload' ;
jvdias 0833027
     $x = eval ' overload::constant "fred" => sub {} ; ' ;
jvdias 0833027
-    test($a =~ /^`fred' is not an overloadable type at/); # 213
jvdias 0833027
+    like($a, qr/^`fred' is not an overloadable type at/);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -976,10 +948,10 @@
jvdias 0833027
     my $a = "" ;
jvdias 0833027
     local $SIG{__WARN__} = sub {$a = $_[0]} ;
jvdias 0833027
     $x = eval ' overload::constant "integer" => 1; ' ;
jvdias 0833027
-    test($a eq "") ; # 214
jvdias 0833027
+    is($a, "");
jvdias 0833027
     use warnings 'overload' ;
jvdias 0833027
     $x = eval ' overload::constant "integer" => 1; ' ;
jvdias 0833027
-    test($a =~ /^`1' is not a code reference at/); # 215
jvdias 0833027
+    like($a, qr/^`1' is not a code reference at/);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -1005,13 +977,13 @@
jvdias 0833027
 
jvdias 0833027
   my $x = new noov_int 11;
jvdias 0833027
   my $int_x = int $x;
jvdias 0833027
-  main::test("$int_x" eq 20);			# 216
jvdias 0833027
+  main::is("$int_x", 20);
jvdias 0833027
   $x = new ov_int1 31;
jvdias 0833027
   $int_x = int $x;
jvdias 0833027
-  main::test("$int_x" eq 131);			# 217
jvdias 0833027
+  main::is("$int_x", 131);
jvdias 0833027
   $x = new ov_int2 51;
jvdias 0833027
   $int_x = int $x;
jvdias 0833027
-  main::test("$int_x" eq 1054);			# 218
jvdias 0833027
+  main::is("$int_x", 1054);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 # make sure that we don't inifinitely recurse
jvdias 0833027
@@ -1023,9 +995,10 @@
jvdias 0833027
                'bool'  => sub { shift },
jvdias 0833027
                fallback => 1;
jvdias 0833027
   my $x = bless([]);
jvdias 0833027
-  main::test("$x" =~ /Recurse=ARRAY/);		# 219
jvdias 0833027
-  main::test($x);                               # 220
jvdias 0833027
-  main::test($x+0 =~ /Recurse=ARRAY/);		# 221
jvdias 0833027
+  # For some reason beyond me these have to be oks rather than likes.
jvdias 0833027
+  main::ok("$x" =~ /Recurse=ARRAY/);
jvdias 0833027
+  main::ok($x);
jvdias 0833027
+  main::ok($x+0 =~ qr/Recurse=ARRAY/);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 # BugID 20010422.003
jvdias 0833027
@@ -1056,7 +1029,7 @@
jvdias 0833027
 my $r = Foo->new(8);
jvdias 0833027
 $r = Foo->new(0);
jvdias 0833027
 
jvdias 0833027
-test(($r || 0) == 0); # 222
jvdias 0833027
+is(($r || 0), 0);
jvdias 0833027
 
jvdias 0833027
 package utf8_o;
jvdias 0833027
 
jvdias 0833027
@@ -1076,8 +1049,8 @@
jvdias 0833027
 
jvdias 0833027
 
jvdias 0833027
 my $utfvar = new utf8_o 200.2.1;
jvdias 0833027
-test("$utfvar" eq 200.2.1); # 223 - stringify
jvdias 0833027
-test("a$utfvar" eq "a".200.2.1); # 224 - overload via sv_2pv_flags
jvdias 0833027
+is("$utfvar", 200.2.1); # 223 - stringify
jvdias 0833027
+is("a$utfvar", "a".200.2.1); # 224 - overload via sv_2pv_flags
jvdias 0833027
 
jvdias 0833027
 # 225..227 -- more %{} tests.  Hangs in 5.6.0, okay in later releases.
jvdias 0833027
 # Basically this example implements strong encapsulation: if Hderef::import()
jvdias 0833027
@@ -1093,9 +1066,9 @@
jvdias 0833027
 package main;
jvdias 0833027
 my $a = Foo->new;
jvdias 0833027
 $a->xet('b', 42);
jvdias 0833027
-test ($a->xet('b'), 42);
jvdias 0833027
-test (!defined eval { $a->{b} });
jvdias 0833027
-test ($@ =~ /zap/);
jvdias 0833027
+is ($a->xet('b'), 42);
jvdias 0833027
+ok (!defined eval { $a->{b} });
jvdias 0833027
+like ($@, qr/zap/);
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
    package t229;
jvdias 0833027
@@ -1110,7 +1083,7 @@
jvdias 0833027
       my $y = $x;
jvdias 0833027
       eval { $y++ };
jvdias 0833027
    }
jvdias 0833027
-   main::test (!$warn);
jvdias 0833027
+   main::ok (!$warn);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -1120,9 +1093,9 @@
jvdias 0833027
         $out1 = 0;
jvdias 0833027
         $out2 = 1;
jvdias 0833027
     }
jvdias 0833027
-    test($int,  2,  "#24313");	# 230
jvdias 0833027
-    test($out1, 17, "#24313");	# 231
jvdias 0833027
-    test($out2, 17, "#24313");	# 232
jvdias 0833027
+    is($int,  2,  "#24313");	# 230
jvdias 0833027
+    is($out1, 17, "#24313");	# 231
jvdias 0833027
+    is($out2, 17, "#24313");	# 232
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 {
jvdias 0833027
@@ -1146,16 +1119,16 @@
jvdias 0833027
     my $o  = bless [], 'perl31793';
jvdias 0833027
     my $of = bless [], 'perl31793_fb';
jvdias 0833027
     my $no = bless [], 'no_overload';
jvdias 0833027
-    test (overload::StrVal(\"scalar") =~ /^SCALAR\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal([])        =~ /^ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal({})        =~ /^HASH\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal(sub{1})    =~ /^CODE\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal(\*GLOB)    =~ /^GLOB\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal(\$o)       =~ /^REF\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal(qr/a/)     =~ /^Regexp=SCALAR\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal($o)        =~ /^perl31793=ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal($of)       =~ /^perl31793_fb=ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
-    test (overload::StrVal($no)       =~ /^no_overload=ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal(\"scalar"), qr/^SCALAR\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal([]),        qr/^ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal({}),        qr/^HASH\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal(sub{1}),    qr/^CODE\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal(\*GLOB),    qr/^GLOB\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal(\$o),       qr/^REF\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal(qr/a/),     qr/^Regexp=SCALAR\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal($o),        qr/^perl31793=ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal($of),       qr/^perl31793_fb=ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
+    like(overload::StrVal($no),       qr/^no_overload=ARRAY\(0x[0-9a-f]+\)$/);
jvdias 0833027
 }
jvdias 0833027
 
jvdias 0833027
 # These are all check that overloaded values rather than reference addressess
jvdias 0833027
@@ -1174,9 +1147,102 @@
jvdias 0833027
 	    die if $@;
jvdias 0833027
 	    my $expect = eval $rcode;
jvdias 0833027
 	    die if $@;
jvdias 0833027
-	    test ($got, $expect, $ocode) or print "# $rcode\n";
jvdias 0833027
+	    is ($got, $expect, $ocode) or print "# $rcode\n";
jvdias 0833027
 	}
jvdias 0833027
     }
jvdias 0833027
 }
jvdias 0833027
-# Last test is:
jvdias 0833027
-sub last {493}
jvdias 0833027
+{
jvdias 0833027
+    # check that overloading works in regexes
jvdias 0833027
+    {
jvdias 0833027
+	package Foo493;
jvdias 0833027
+	use overload
jvdias 0833027
+	    '""' => sub { "^$_[0][0]\$" },
jvdias 0833027
+	    '.'  => sub { 
jvdias 0833027
+		    bless [
jvdias 0833027
+			     $_[2]
jvdias 0833027
+			    ? (ref $_[1] ? $_[1][0] : $_[1]) . ':' .$_[0][0] 
jvdias 0833027
+			    : $_[0][0] . ':' . (ref $_[1] ? $_[1][0] : $_[1])
jvdias 0833027
+		    ], 'Foo493'
jvdias 0833027
+			};
jvdias 0833027
+    }
jvdias 0833027
+
jvdias 0833027
+    my $a = bless [ "a" ], 'Foo493';
jvdias 0833027
+    like('a', qr/$a/);
jvdias 0833027
+    like('x:a', qr/x$a/);
jvdias 0833027
+    like('x:a:=', qr/x$a=$/);
jvdias 0833027
+    like('x:a:a:=', qr/x$a$a=$/);
jvdias 0833027
+
jvdias 0833027
+}
jvdias 0833027
+
jvdias 0833027
+{
jvdias 0833027
+    package Sklorsh;
jvdias 0833027
+    use overload
jvdias 0833027
+	bool     => sub { shift->is_cool };
jvdias 0833027
+
jvdias 0833027
+    sub is_cool {
jvdias 0833027
+	$_[0]->{name} eq 'cool';
jvdias 0833027
+    }
jvdias 0833027
+
jvdias 0833027
+    sub delete {
jvdias 0833027
+	undef %{$_[0]};
jvdias 0833027
+	bless $_[0], 'Brap';
jvdias 0833027
+	return 1;
jvdias 0833027
+    }
jvdias 0833027
+
jvdias 0833027
+    sub delete_with_self {
jvdias 0833027
+	my $self = shift;
jvdias 0833027
+	undef %$self;
jvdias 0833027
+	bless $self, 'Brap';
jvdias 0833027
+	return 1;
jvdias 0833027
+    }
jvdias 0833027
+
jvdias 0833027
+    package Brap;
jvdias 0833027
+
jvdias 0833027
+    1;
jvdias 0833027
+
jvdias 0833027
+    package main;
jvdias 0833027
+
jvdias 0833027
+    my $obj;
jvdias 0833027
+    $obj = bless {name => 'cool'}, 'Sklorsh';
jvdias 0833027
+    $obj->delete;
jvdias 0833027
+    ok(eval {if ($obj) {1}; 1}, $@ || 'reblessed into nonexist namespace');
jvdias 0833027
+
jvdias 0833027
+    $obj = bless {name => 'cool'}, 'Sklorsh';
jvdias 0833027
+    $obj->delete_with_self;
jvdias 0833027
+    ok (eval {if ($obj) {1}; 1}, $@);
jvdias 0833027
+    
jvdias 0833027
+    my $a = $b = {name => 'hot'};
jvdias 0833027
+    bless $b, 'Sklorsh';
jvdias 0833027
+    is(ref $a, 'Sklorsh');
jvdias 0833027
+    is(ref $b, 'Sklorsh');
jvdias 0833027
+    ok(!$b, "Expect overloaded boolean");
jvdias 0833027
+    ok(!$a, "Expect overloaded boolean");
jvdias 0833027
+}
jvdias 0833027
+{
jvdias 0833027
+    use Scalar::Util 'weaken';
jvdias 0833027
+
jvdias 0833027
+    package Shklitza;
jvdias 0833027
+    use overload '""' => sub {"CLiK KLAK"};
jvdias 0833027
+
jvdias 0833027
+    package Ksshfwoom;
jvdias 0833027
+
jvdias 0833027
+    package main;
jvdias 0833027
+
jvdias 0833027
+    my ($obj, $ref);
jvdias 0833027
+    $obj = bless do {my $a; \$a}, 'Shklitza';
jvdias 0833027
+    $ref = $obj;
jvdias 0833027
+
jvdias 0833027
+    is ($obj, "CLiK KLAK");
jvdias 0833027
+    is ($ref, "CLiK KLAK");
jvdias 0833027
+
jvdias 0833027
+    weaken $ref;
jvdias 0833027
+    is ($ref, "CLiK KLAK");
jvdias 0833027
+
jvdias 0833027
+    bless $obj, 'Ksshfwoom';
jvdias 0833027
+
jvdias 0833027
+    like ($obj, qr/^Ksshfwoom=/);
jvdias 0833027
+    like ($ref, qr/^Ksshfwoom=/);
jvdias 0833027
+
jvdias 0833027
+    undef $obj;
jvdias 0833027
+    is ($ref, undef);
jvdias 0833027
+}