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 )