Integrate mainline
[p5sagit/p5-mst-13.2.git] / ext / Devel / Peek / Peek.t
index be7bf82..80732a4 100644 (file)
@@ -12,7 +12,7 @@ BEGIN {
 
 use Devel::Peek;
 
-print "1..17\n";
+print "1..19\n";
 
 our $DEBUG = 0;
 open(SAVERR, ">&STDERR") or die "Can't dup STDERR: $!";
@@ -27,6 +27,7 @@ sub do_test {
        if (open(IN, "peek$$")) {
            local $/;
            $pattern =~ s/\$ADDR/0x[[:xdigit:]]+/g;
+           $pattern =~ s/\$FLOAT/(?:\\d*\\.\\d+(?:e[-+]\\d+)?|\\d+)/g;
            print $pattern, "\n" if $DEBUG;
            my $dump = <IN>;
            print $dump, "\n"    if $DEBUG;
@@ -54,7 +55,7 @@ do_test( 1,
   FLAGS = \\(POK,pPOK\\)
   PV = $ADDR "foo"\\\0
   CUR = 3
-  LEN = 4'
+  LEN = \\d+'
        );
 
 do_test( 2,
@@ -64,7 +65,7 @@ do_test( 2,
   FLAGS = \\(.*POK,READONLY,pPOK\\)
   PV = $ADDR "bar"\\\0
   CUR = 3
-  LEN = 4');
+  LEN = \\d+');
 
 do_test( 3,
         $b = 123,
@@ -110,7 +111,7 @@ do_test( 7,
   NV = 789\\.(?:1(?:000+\d+)?|0999+\d+)
   PV = $ADDR "789"\\\0
   CUR = 3
-  LEN = 4');
+  LEN = \\d+');
 
 do_test( 8,
         0xabcd,
@@ -136,7 +137,7 @@ do_test(10,
     FLAGS = \\(POK,pPOK\\)
     PV = $ADDR "foo"\\\0
     CUR = 3
-    LEN = 4');
+    LEN = \\d+');
 
 my $c_pattern;
 if ($type eq 'N') {
@@ -187,7 +188,7 @@ do_test(12,
     REFCNT = 2
     FLAGS = \\(SHAREKEYS\\)
     IV = 1
-    NV = 0
+    NV = $FLOAT
     ARRAY = $ADDR  \\(0:7, 1:1\\)
     hash quality = 100.0%
     KEYS = 1
@@ -317,6 +318,80 @@ do_test(17,
     FLAGS = $ADDR
     EGV = $ADDR\\t"a"');
 
+if (ord('A') == 193) {
+do_test(18,
+       chr(256).chr(0).chr(512),
+'SV = PV\\($ADDR\\) at $ADDR
+  REFCNT = 1
+  FLAGS = \\((?:PADBUSY,PADTMP,)?POK,READONLY,pPOK,UTF8\\)
+  PV = $ADDR "\\\214\\\101\\\0\\\235\\\101"\\\0 \[UTF8 "\\\x\{100\}\\\x\{0\}\\\x\{200\}"\]
+  CUR = 5
+  LEN = \\d+');
+} else {
+do_test(18,
+       chr(256).chr(0).chr(512),
+'SV = PV\\($ADDR\\) at $ADDR
+  REFCNT = 1
+  FLAGS = \\((?:PADBUSY,PADTMP,)?POK,READONLY,pPOK,UTF8\\)
+  PV = $ADDR "\\\304\\\200\\\0\\\310\\\200"\\\0 \[UTF8 "\\\x\{100\}\\\x\{0\}\\\x\{200\}"\]
+  CUR = 5
+  LEN = \\d+');
+}
+
+if (ord('A') == 193) {
+do_test(19,
+       {chr(256)=>chr(512)},
+'SV = RV\\($ADDR\\) at $ADDR
+  REFCNT = 1
+  FLAGS = \\(ROK\\)
+  RV = $ADDR
+  SV = PVHV\\($ADDR\\) at $ADDR
+    REFCNT = 2
+    FLAGS = \\(SHAREKEYS,HASKFLAGS\\)
+    UV = 1
+    NV = $FLOAT
+    ARRAY = $ADDR  \\(0:7, 1:1\\)
+    hash quality = 100.0%
+    KEYS = 1
+    FILL = 1
+    MAX = 7
+    RITER = -1
+    EITER = $ADDR
+    Elt "\\\214\\\101" \[UTF8 "\\\x\{100\}"\] HASH = $ADDR
+    SV = PV\\($ADDR\\) at $ADDR
+      REFCNT = 1
+      FLAGS = \\(POK,pPOK,UTF8\\)
+      PV = $ADDR "\\\235\\\101"\\\0 \[UTF8 "\\\x\{200\}"\]
+      CUR = 2
+      LEN = \\d+');
+} else {
+do_test(19,
+       {chr(256)=>chr(512)},
+'SV = RV\\($ADDR\\) at $ADDR
+  REFCNT = 1
+  FLAGS = \\(ROK\\)
+  RV = $ADDR
+  SV = PVHV\\($ADDR\\) at $ADDR
+    REFCNT = 2
+    FLAGS = \\(SHAREKEYS,HASKFLAGS\\)
+    UV = 1
+    NV = 0
+    ARRAY = $ADDR  \\(0:7, 1:1\\)
+    hash quality = 100.0%
+    KEYS = 1
+    FILL = 1
+    MAX = 7
+    RITER = -1
+    EITER = $ADDR
+    Elt "\\\304\\\200" \[UTF8 "\\\x\{100\}"\] HASH = $ADDR
+    SV = PV\\($ADDR\\) at $ADDR
+      REFCNT = 1
+      FLAGS = \\(POK,pPOK,UTF8\\)
+      PV = $ADDR "\\\310\\\200"\\\0 \[UTF8 "\\\x\{200\}"\]
+      CUR = 2
+      LEN = \\d+');
+}
+
 END {
   1 while unlink("peek$$");
 }