Data-Dump-Streamer

 view release on metacpan or  search on metacpan

t/dump.t  view on Meta::CPAN

        $expect
    );
}
{
    use utf8;
    my $r= "\x{100}\x{101}\x{102}";
    test_dump({
            name      => "Unicode qr// and string",
            no_dumper => 1,
            verbose   => 1
        },
        $o,
        ($r),
        <<'EXPECT',);
$VAR1 = "\x{100}\x{101}\x{102}";
EXPECT
}
{
    use warnings FATAL => 'all';
    my $r= "Günter";
    test_dump({
            name    => "Non unicode, high char",
            verbose => 1
        },
        $o,
        ($r),
        <<'EXPECT',);
$VAR1 = "G\374nter";
EXPECT
}
{
    my $dv= dualvar(unpack('N', 'JAPH'), 'JAPH');
    test_dump({
            name    => "Dualvars(0) ",
            verbose => 1
        },
        $o->Dualvars(0),
        ($dv),
        <<'EXPECT',);
$VAR1 = 'JAPH';
EXPECT
    test_dump({
            name    => "Dualvars(1)",
            verbose => 1
        },
        $o->Dualvars(1),
        ($dv),
        <<'EXPECT',);
$VAR1 = dualvar( 1245794376, 'JAPH' );
EXPECT

}
{
    my ($x, %y, @z);
    $x= \@z;
    our $global= \@z;
    my $res1= Dump($x, \%y, \@z)->Names(qw(x *y *z))->Out();
    my $res3= DumpVars(x => $x, -y => \%y, -z => \@z)->Out();
    is($res1, $res3, 'DumpVars');
    SKIP: {
        skip "needs PadWalker 0.99 or later", 3
            if !eval "use PadWalker 0.99; 1";
        my $res2= DumpLex($x, \%y, \@z)->Out();
        is($res1,                            $res2,      'DumpLex');
        is($res2,                            $res3,      'DumpLex eq DumpVars');
        is("" . DumpLex($x, $global)->Out(), <<'EXPECT', 'DumpLex w/global');
$x = [];
$global = $x;
EXPECT
    }
}
SKIP: {
    skip "needs Compress::Zlib and MIME::Base64", 2
        if !eval "use Compress::Zlib; use MIME::Base64; 1";
    my $str= "a" x 1000;
    my $i= bless \$str, "Fnorble";
    my $rep= MIME::Base64::encode(Compress::Zlib::compress($str, 9), "");

    $o->Compress(-1);
    my $out= $o->Data($i)->Out();
    (my $expect= <<'EXPECT') =~ s/XXX/$rep/;
use Data::Dump::Streamer qw(usqz);
$Fnorble1 = bless( \do { my $v = usqz('XXX') }, 'Fnorble' );
EXPECT
    is($out, $expect, "Compress literal");

    $o->OptSpace("");
    $out= $o->Data($i)->Out();
    ($expect= <<'EXPECT') =~ s/XXX/$rep/;
use Data::Dump::Streamer qw(usqz);
$Fnorble1=bless(\do{my$v=usqz('XXX')},'Fnorble');
EXPECT
    is($out, $expect, "Optspace");
    $o->Compress(0);
}
{
    my $h= { '-' => 1, '-1efg' => 1 };
    $o->OptSpace("");
    same("'-' hashkeys", $o, <<'EXPECT', ($h));
$HASH1={
         "-1efg"=>1,
         "-"    =>1
       };
EXPECT

}

# with eval testing
{
    my $h= { "blah\n" => 1, "blah\nblah\n" => 2, "blahblahblah\n\n" => 3 };
    same("hashkeys with newlines", $o, <<'EXPECT', ($h));
$HASH1={
         "blah\n"          =>1,
         "blah\nblah\n"    =>2,
         "blahblahblah\n\n"=>3
       };
EXPECT
}
__END__
# with eval testing
{
    same( "", $o, <<'EXPECT', (  ) );



( run in 1.822 second using v1.01-cache-2.11-cpan-39bf76dae61 )