X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/02091bd7ebe469aca7283c42a3c537b2c15079db..e864b323d8621840aac1fda03b2bf69dba6336ff:/ext/Devel-Peek/t/Peek.t diff --git a/ext/Devel-Peek/t/Peek.t b/ext/Devel-Peek/t/Peek.t index 80a6fb0..425268a 100644 --- a/ext/Devel-Peek/t/Peek.t +++ b/ext/Devel-Peek/t/Peek.t @@ -362,6 +362,7 @@ do_test('reference to named subroutine without prototype', OUTSIDE = $ADDR \\(MAIN\\)'); if ($] >= 5.011) { +# note the conditionals on ENGINE and INTFLAGS were introduced in 5.19.9 do_test('reference to regexp', qr(tic), 'SV = $RV\\($ADDR\\) at $ADDR @@ -380,7 +381,8 @@ do_test('reference to regexp', ' COMPFLAGS = 0x0 \(\) EXTFLAGS = 0x680000 \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\) - INTFLAGS = 0x0 +(?: ENGINE = $ADDR \(STANDARD\) +)? INTFLAGS = 0x0(?: \(\))? NPARENS = 0 LASTPAREN = 0 LASTCLOSEPAREN = 0 @@ -392,8 +394,8 @@ do_test('reference to regexp', SUBOFFSET = 0 SUBCOFFSET = 0 SUBBEG = 0x0 - ENGINE = $ADDR - MOTHER_RE = $ADDR' +(?: ENGINE = $ADDR +)? MOTHER_RE = $ADDR' . ($] < 5.019003 ? '' : ' SV = REGEXP\($ADDR\) at $ADDR REFCNT = 2 @@ -402,7 +404,8 @@ do_test('reference to regexp', CUR = 8 COMPFLAGS = 0x0 \(\) EXTFLAGS = 0x680000 \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\) - INTFLAGS = 0x0 +(?: ENGINE = $ADDR \(STANDARD\) +)? INTFLAGS = 0x0(?: \(\))? NPARENS = 0 LASTPAREN = 0 LASTCLOSEPAREN = 0 @@ -414,8 +417,8 @@ do_test('reference to regexp', SUBOFFSET = 0 SUBCOFFSET = 0 SUBBEG = 0x0 - ENGINE = $ADDR - MOTHER_RE = 0x0 +(?: ENGINE = $ADDR +)? MOTHER_RE = 0x0 PAREN_NAMES = 0x0 SUBSTRS = $ADDR PPRIVATE = $ADDR @@ -818,6 +821,7 @@ do_test('ENAME on a stash', FLAGS = \\(OOK,SHAREKEYS\\) IV = 1 # $] < 5.009 NV = $FLOAT # $] < 5.009 + AUX_FLAGS = 0 # $] > 5.019008 ARRAY = $ADDR KEYS = 0 FILL = 0 \(cached = 0\) @@ -842,6 +846,7 @@ do_test('ENAMEs on a stash', FLAGS = \\(OOK,SHAREKEYS\\) IV = 1 # $] < 5.009 NV = $FLOAT # $] < 5.009 + AUX_FLAGS = 0 # $] > 5.019008 ARRAY = $ADDR KEYS = 0 FILL = 0 \(cached = 0\) @@ -868,6 +873,7 @@ do_test('ENAMEs on a stash with no NAME', FLAGS = \\(OOK,OVERLOAD,SHAREKEYS\\) # $] >=5.017 IV = 1 # $] < 5.009 NV = $FLOAT # $] < 5.009 + AUX_FLAGS = 0 # $] > 5.019008 ARRAY = $ADDR KEYS = 0 FILL = 0 \(cached = 0\) @@ -920,6 +926,7 @@ do_test('small hash after keys', FLAGS = \\(PADMY,OOK,SHAREKEYS\\) IV = 1 # $] < 5.009 NV = $FLOAT # $] < 5.009 + AUX_FLAGS = 0 # $] > 5.019008 ARRAY = $ADDR \\(0:[67],.*\\) hash quality = [0-9.]+% KEYS = 2 @@ -951,6 +958,7 @@ do_test('small hash after keys and scalar', FLAGS = \\(PADMY,OOK,SHAREKEYS\\) IV = 1 # $] < 5.009 NV = $FLOAT # $] < 5.009 + AUX_FLAGS = 0 # $] > 5.019008 ARRAY = $ADDR \\(0:[67],.*\\) hash quality = [0-9.]+% KEYS = 2 @@ -983,6 +991,7 @@ do_test('large hash', FLAGS = \\(PADMY,OOK,SHAREKEYS\\) IV = 1 # $] < 5.009 NV = $FLOAT # $] < 5.009 + AUX_FLAGS = 0 # $] > 5.019008 ARRAY = $ADDR \\(0:\d+,.*\\) hash quality = \d+\\.\d+% KEYS = 1000 @@ -1021,6 +1030,23 @@ SV = PVAV\($ADDR\) at $ADDR FLAGS = \(IOK,pIOK\) IV = 3 ARRAY + +do_test('Dump @array,1', '@array,1', <<'ARRAY', '', '', 1); +SV = PVAV\($ADDR\) at $ADDR + REFCNT = 1 + FLAGS = \(\) + ARRAY = $ADDR + FILL = 2 + MAX = 3 + ARYLEN = 0x0 + FLAGS = \(REAL\) + Elt No. 0 + SV = IV\($ADDR\) at $ADDR + REFCNT = 1 + FLAGS = \(IOK,pIOK\) + IV = 1 +ARRAY + %hash = 1..2; do_test('Dump %hash', '%hash', <<'HASH', '', '', 1); SV = PVHV\($ADDR\) at $ADDR @@ -1037,6 +1063,7 @@ SV = PVHV\($ADDR\) at $ADDR FLAGS = \(IOK,pIOK\) IV = 2 HASH + $_ = "hello"; do_test('rvalue substr', 'substr $_, 1, 2', <<'SUBSTR', '', '', 1); SV = PV\($ADDR\) at $ADDR @@ -1198,7 +1225,7 @@ unless ($Config{useithreads}) { pass "no crash with DeadCode"; close OUT; } - +# note the conditionals on ENGINE and INTFLAGS were introduced in 5.19.9 do_test('UTF-8 in a regular expression', qr/\x{100}/, 'SV = IV\($ADDR\) at $ADDR @@ -1213,7 +1240,8 @@ do_test('UTF-8 in a regular expression', STASH = $ADDR "Regexp" COMPFLAGS = 0x0 \(\) EXTFLAGS = 0x680040 \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\) - INTFLAGS = 0x0 +(?: ENGINE = $ADDR \(STANDARD\) +)? INTFLAGS = 0x0(?: \(\))? NPARENS = 0 LASTPAREN = 0 LASTCLOSEPAREN = 0 @@ -1225,8 +1253,8 @@ do_test('UTF-8 in a regular expression', SUBOFFSET = 0 SUBCOFFSET = 0 SUBBEG = 0x0 - ENGINE = $ADDR - MOTHER_RE = $ADDR' +(?: ENGINE = $ADDR +)? MOTHER_RE = $ADDR' . ($] < 5.019003 ? '' : ' SV = REGEXP\($ADDR\) at $ADDR REFCNT = 2 @@ -1235,7 +1263,8 @@ do_test('UTF-8 in a regular expression', CUR = 13 COMPFLAGS = 0x0 \(\) EXTFLAGS = 0x680040 \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\) - INTFLAGS = 0x0 +(?: ENGINE = $ADDR \(STANDARD\) +)? INTFLAGS = 0x0(?: \(\))? NPARENS = 0 LASTPAREN = 0 LASTCLOSEPAREN = 0 @@ -1247,8 +1276,8 @@ do_test('UTF-8 in a regular expression', SUBOFFSET = 0 SUBCOFFSET = 0 SUBBEG = 0x0 - ENGINE = $ADDR - MOTHER_RE = 0x0 +(?: ENGINE = $ADDR +)? MOTHER_RE = 0x0 PAREN_NAMES = 0x0 SUBSTRS = $ADDR PPRIVATE = $ADDR @@ -1268,6 +1297,7 @@ do_test('UTF-8 in a regular expression', my $base_count = Devel::Peek::SvREFCNT(%hash); my $ref = \%hash; is(Devel::Peek::SvREFCNT(%hash), $base_count + 1, "SvREFCNT on non-scalar"); + ok(!eval { &Devel::Peek::SvREFCNT(1) }, "requires prototype"); } { # utf8 tests