This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
74fb1f95141890f5001797b92a5890a2af704bf4
[perl5.git] / lib / perl5db / dumpvar.t
1 #!./perl -- -*- mode: cperl; cperl-indent-level: 4 -*-
2
3 BEGIN {
4     chdir 't' if -d 't';
5     @INC = '../lib';
6 }
7
8 use strict;
9
10 $|=1;
11 undef $/;
12 my @prgs = split "########\n", <DATA>;
13 close DATA;
14 print "1..", scalar @prgs, "\n";
15 require "dumpvar.pl";
16
17 my $i = 0;
18 for (@prgs){
19     my($prog,$expected) = split(/\nEXPECT\n?/, $_);
20     open my $select, ">", \my $got or die;
21     select $select;
22     eval $prog;
23     my $not = "";
24     my $why = "";
25     if ($@) {
26         $not = "not ";
27         $why = " # prog[$prog]\$\@[$@]";
28     } elsif ($got ne $expected) {
29         $not = "not ";
30         $why = " # prog[$prog]got[$got]expected[$expected]";
31     }
32     close $select;
33     select STDOUT;
34     print $not, "ok ", ++$i, $why, "\n";
35 }
36
37 __END__
38 "";
39 EXPECT
40 ########
41 dumpValue(1);
42 EXPECT
43 1
44 ########
45 dumpValue("1\n2\n3");
46 EXPECT
47 '1
48 2
49 3'
50 ########
51 dumpValue([1..3],1);
52 EXPECT
53 0  1
54 1  2
55 2  3
56 ########
57 dumpValue({1..4},1);
58 EXPECT
59 1 => 2
60 3 => 4
61 ########