Data-Dump-Streamer

 view release on metacpan or  search on metacpan

t/globtest.t  view on Meta::CPAN

my $bar = \[
            -10,
            $$foo,
            'V: $$baz'
          ];
*::foo = $$bar;
my $baz = \{
            a => 1,
            b => *::foo{SCALAR},
            c => $$bar,
            d => 'V: $$baz'
          };
*::foo = $$baz;
${$bar}->[2] = $$baz;
${$baz}->{d} = $$baz;
EXPECT
    same(
        "Named Globs Two Declare",
        $o->Names('foo', 'bar', 'baz'),
        <<'EXPECT', (\\*foo, \\@foo, \\%foo));
my $foo = \\*::foo;
*::foo = \do { my $v = 5 };
my $bar = \[
            -10,
            $$foo,
            'V: $$baz'
          ];
*::foo = $$bar;
my $baz = \{
            a => 1,
            b => *::foo{SCALAR},
            c => $$bar,
            d => 'V: $$baz'
          };
*::foo = $$baz;
${$bar}->[2] = $$baz;
${$baz}->{d} = $$baz;
EXPECT
}

# with eval testing
{

    use Symbol;
    my $x= gensym;
    my $names= $o->Names();    # scalar context
    same(scalar $o->Data($x)->Out(), <<'EXPECT', "Symbol 1", $o);
my $foo = do{ require Symbol; Symbol::gensym };
EXPECT
    my @names= $o->Names();    # scalar context
    same(scalar $o->Data($x)->Out(), <<'EXPECT', "Symbol 2", $o);
my $foo = do{ require Symbol; Symbol::gensym };
EXPECT
    $o->Names();
    same(scalar $o->Data($x)->Out(), <<'EXPECT', "Symbol 3", $o);
my $GLOB1 = do{ require Symbol; Symbol::gensym };
EXPECT

    #local $Data::Dump::Streamer::DEBUG=1;

    $x= \gensym;               #
    *$$x= $x;
    *$$x= $names;
    *$$x= { Thank => '[ysth]', Grr => bless \gensym, 'Foo' };

    #Devel::Peek::Dump $x

    same(scalar $o->Data($x)->Out(), <<'EXPECT', "Symbol 4", $o);
my $REF1 = \do{ require Symbol; Symbol::gensym };
*$$REF1 = {
            Grr   => bless( \Symbol::gensym, 'Foo' ),
            Thank => '[ysth]'
          };
*$$REF1 = [
            'foo',
            'bar',
            'baz'
          ];
*$$REF1 = $REF1;
EXPECT

}
{
    same(my $dump= $o->Data(*{ gensym() })->Out, <<'EXPECT', "Symbol 5", $o);
my $VAR1 = *{ do{ require Symbol; Symbol::gensym } };
EXPECT
}
__END__
# with eval testing
{
    same( "", $o, <<'EXPECT', (  ) );
EXPECT
}
# without eval testing
{
    same( $dump = $o->Data()->Out, <<'EXPECT', "", $o );
EXPECT
}



( run in 1.314 second using v1.01-cache-2.11-cpan-98e64b0badf )