summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-11-25 11:52:09 +0000
committerNicholas Clark <nick@ccl4.org>2010-11-25 11:52:09 +0000
commitbed530647b88d70e1ad8d2e42b54447ea27c5bd3 (patch)
tree9303197f21dbb09b8eaa19adaf03e0292043dea0 /ext
parent06a5cade78f307acd77300a417d615985045102c (diff)
downloadperl-bed530647b88d70e1ad8d2e42b54447ea27c5bd3.tar.gz
Test dumping stashes, with various combinations of NAME and ENAME.
Diffstat (limited to 'ext')
-rw-r--r--ext/Devel-Peek/t/Peek.t68
1 files changed, 68 insertions, 0 deletions
diff --git a/ext/Devel-Peek/t/Peek.t b/ext/Devel-Peek/t/Peek.t
index 3f3e9c0642..60fe495117 100644
--- a/ext/Devel-Peek/t/Peek.t
+++ b/ext/Devel-Peek/t/Peek.t
@@ -681,4 +681,72 @@ do_test('blessing to a class with embeded NUL characters',
$] > 5.009 ? 'The hash iterator used in dump.c sets the OOK flag'
: "Something causes the HV's array to become allocated");
+do_test('ENAME on a stash',
+ \%RWOM::,
+'SV = $RV\\($ADDR\\) at $ADDR
+ REFCNT = 1
+ FLAGS = \\(ROK\\)
+ RV = $ADDR
+ SV = PVHV\\($ADDR\\) at $ADDR
+ REFCNT = 2
+ FLAGS = \\(OOK,SHAREKEYS\\)
+ IV = 1 # $] < 5.009
+ NV = $FLOAT # $] < 5.009
+ ARRAY = $ADDR
+ KEYS = 0
+ FILL = 0
+ MAX = 7
+ RITER = -1
+ EITER = 0x0
+ NAME = "RWOM"
+ ENAME = "RWOM" # $] > 5.012
+');
+
+*KLANK:: = \%RWOM::;
+
+do_test('ENAMEs on a stash',
+ \%RWOM::,
+'SV = $RV\\($ADDR\\) at $ADDR
+ REFCNT = 1
+ FLAGS = \\(ROK\\)
+ RV = $ADDR
+ SV = PVHV\\($ADDR\\) at $ADDR
+ REFCNT = 3
+ FLAGS = \\(OOK,SHAREKEYS\\)
+ IV = 1 # $] < 5.009
+ NV = $FLOAT # $] < 5.009
+ ARRAY = $ADDR
+ KEYS = 0
+ FILL = 0
+ MAX = 7
+ RITER = -1
+ EITER = 0x0
+ NAME = "RWOM"
+ NAMECOUNT = 2 # $] > 5.012
+ ENAME = "RWOM", "KLANK" # $] > 5.012
+');
+
+undef %RWOM::;
+
+do_test('ENAMEs on a stash with no NAME',
+ \%RWOM::,
+'SV = $RV\\($ADDR\\) at $ADDR
+ REFCNT = 1
+ FLAGS = \\(ROK\\)
+ RV = $ADDR
+ SV = PVHV\\($ADDR\\) at $ADDR
+ REFCNT = 3
+ FLAGS = \\(OOK,SHAREKEYS\\)
+ IV = 1 # $] < 5.009
+ NV = $FLOAT # $] < 5.009
+ ARRAY = $ADDR
+ KEYS = 0
+ FILL = 0
+ MAX = 7
+ RITER = -1
+ EITER = 0x0
+ NAMECOUNT = -3 # $] > 5.012
+ ENAME = "RWOM", "KLANK" # $] > 5.012
+');
+
done_testing();