Tests modified to pass 5.6.2, 5.8.0, 5.8.7, 5.8.8, 5.10.0, and devel
[Data-Peek.git] / t / 20_DPeek.t
bloba96bd7edeab52d48f38d9b5f032b6d6d9bfe3f3a
1 #!/usr/bin/perl
3 use strict;
4 use warnings;
6 #use Test::More tests => 1;
7 use Test::More "no_plan";
9 BEGIN {
10 use_ok "DDumper";
11 plan skip_all => "Cannot load DDumper" if $@;
14 $| = 1;
16 like (DPeek ($/), qr'PVMG\("\\(n|12)"\\0\)', '$/');
17 is (DPeek ($\), 'PVMG()', '$\\');
18 is (DPeek ($.), 'PVMG()', '$.');
19 like (DPeek ($,), qr'PVMG\((?:""\\0)?\)', '$,');
20 is (DPeek ($;), 'PV("\34"\0)', '$;');
21 is (DPeek ($"), 'PV(" "\0)', '$"');
22 # is (DPeek ($:), qr'PVMG\(" \\(n|12)-"\\0\)', '$:');
23 is (DPeek ($~), 'PVMG()', '$~');
24 is (DPeek ($^), 'PVMG()', '$^');
25 is (DPeek ($=), 'PVMG()', '$=');
26 is (DPeek ($-), 'PVMG()', '$-');
27 is (DPeek ($!), 'PVMG(""\0)', '$!');
28 like (DPeek ($?), qr'PV(?:MG|LV)\(\)', '$?');
29 is (DPeek ($|), 'PVMG(1)', '$|');
31 "abc" =~ m/(b)/; # Don't know why these magic vars have this content
32 # is (DPeek ($1), 'PVMG("$"\0)', ' $1');
33 is (DPeek ($`), 'PVMG()', ' $`');
34 is (DPeek ($&), 'PVMG()', ' $&');
35 is (DPeek ($'), 'PVMG()', " \$'");
37 is (DPeek (undef), 'SV_UNDEF', 'undef');
38 is (DPeek (1), 'IV(1)', 'constant 1');
39 is (DPeek (""), 'PV(""\0)', 'constant ""');
40 is (DPeek (1.), 'NV(1)', 'constant 1.');
41 is (DPeek (\1), '\IV(1)', 'constant \1');
42 is (DPeek (\\1), '\\\IV(1)', 'constant \\\1');
44 is (DPeek (\@ARGV), '\AV()', '\@ARGV');
45 is (DPeek (\@INC), '\AV()', '\@INC');
46 is (DPeek (\%INC), '\HV()', '\%INC');
47 is (DPeek (*STDOUT), 'GV()', '*STDOUT');
48 is (DPeek (sub {}), '\CV(__ANON__)', 'sub {}');
50 { our ($VAR, @VAR, %VAR);
51 open VAR, ">VAR.txt";
52 sub VAR {}
53 format VAR =
55 END { unlink "VAR.txt" };
57 is (DPeek ( $VAR), 'UNDEF', ' $VAR undef');
58 is (DPeek (\$VAR), '\UNDEF', '\$VAR undef');
59 $VAR = 1;
60 is (DPeek ($VAR), 'IV(1)', ' $VAR 1');
61 is (DPeek (\$VAR), '\IV(1)', '\$VAR 1');
62 $VAR = "";
63 is (DPeek ($VAR), 'PVIV(""\0)', ' $VAR ""');
64 is (DPeek (\$VAR), '\PVIV(""\0)', '\$VAR ""');
65 $VAR = "\xa8";
66 is (DPeek ($VAR), 'PVIV("\250"\0)', ' $VAR "\xa8"');
67 is (DPeek (\$VAR), '\PVIV("\250"\0)', '\$VAR "\xa8"');
68 SKIP: {
69 $] <= 5.008001 and skip "UTF8 tests useless in this ancient perl version", 1;
70 $VAR = "a\x0a\x{20ac}";
71 like (DPeek ($VAR), qr'PVIV\("a\\(?:n|12)\\342\\202\\254"\\0\) \[UTF8 "a\\?n\\x{20ac}"\]',
72 ' $VAR "a\x0a\x{20ac}"');
74 $VAR = sub { "VAR" };
75 is (DPeek ($VAR), '\CV(__ANON__)', ' $VAR sub { "VAR" }');
76 is (DPeek (\$VAR), '\\\CV(__ANON__)', '\$VAR sub { "VAR" }');
77 $VAR = 0;
79 is (DPeek (\&VAR), '\CV(VAR)', '\&VAR');
80 is (DPeek ( *VAR), 'GV()', ' *VAR');
82 is (DPeek (*VAR{GLOB}), '\GV()', ' *VAR{GLOB}');
83 like (DPeek (*VAR{SCALAR}), qr'\\PV(IV|MG)\(0\)',' *VAR{SCALAR}');
84 is (DPeek (*VAR{ARRAY}), '\AV()', ' *VAR{ARRAY}');
85 is (DPeek (*VAR{HASH}), '\HV()', ' *VAR{HASH}');
86 is (DPeek (*VAR{CODE}), '\CV(VAR)', ' *VAR{CODE}');
87 is (DPeek (*VAR{IO}), '\IO()', ' *VAR{IO}');
88 is (DPeek (*VAR{FORMAT}),$]<5.008?'SV_UNDEF':'\FM()',' *VAR{FORMAT}');