1 #!./perl -- -*- mode: cperl; cperl-indent-level: 4 -*-
15 @prgs = split "########\n", <DATA>;
21 plan tests => scalar @prgs;
25 sub unctrl { print dumpvar::unctrl($_[0]), "\n" }
26 sub uniescape { print dumpvar::uniescape($_[0]), "\n" }
27 sub stringify { print dumpvar::stringify($_[0]), "\n" }
31 sub new { my $class = shift; bless [ @_ ], $class }
35 sub new { my $class = shift; bless [ @_ ], $class }
37 use overload '""' => sub { "Bar<@{$_[0]}>" };
41 my $foo = Foo->new(1..5);
42 my $bar = Bar->new(1..5);
45 my($prog, $expected) = split(/\nEXPECT\n?/, $_);
46 # TODO: dumpvar::stringify() is controlled by a pile of package
47 # dumpvar variables: $printUndef, $unctrl, $quoteHighBit, $bareStringify,
48 # and so forth. We need to test with various settings of those.
49 my $out = tie *STDOUT, 'TieOut';
54 ok(0, "$prog - $ERR");
56 if ($expected =~ m:^/:) {
57 like($$out, $expected, $prog);
59 is($$out, $expected, $prog);
67 bless( \(my $self), $_[0] );
72 $$self .= join('', @_);
77 substr( $$self, 0, length($$self), '' );
115 /^'SCALAR\(0x[0-9a-f]+\)'$/i
119 /^'ARRAY\(0x[0-9a-f]+\)'$/i
123 /^'HASH\(0x[0-9a-f]+\)'$/i
127 /^'CODE\(0x[0-9a-f]+\)'$/i
131 /^'GLOB\(0x[0-9a-f]+\)'$/i
135 /^'Foo=ARRAY\(0x[0-9a-f]+\)'$/i
139 /^'Bar=ARRAY\(0x[0-9a-f]+\)'$/i
153 dumpValue("\x{100}");
157 dumpValue("1\n2\n3");