Hello community,
here is the log from the commit of package perl-Data-Dump-Streamer for
openSUSE:Factory checked in at 2013-06-18 15:26:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Data-Dump-Streamer (Old)
and /work/SRC/openSUSE:Factory/.perl-Data-Dump-Streamer.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Data-Dump-Streamer"
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Data-Dump-Streamer/perl-Data-Dump-Streamer.changes
2012-06-01 18:55:02.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Data-Dump-Streamer.new/perl-Data-Dump-Streamer.changes
2013-06-18 15:26:17.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Jun 10 14:52:48 UTC 2013 - [email protected]
+
+- updated to 2.34
+ Administrative release to eliminate build dependency on module
+ used only for testing.
+
+-------------------------------------------------------------------
Old:
----
Data-Dump-Streamer-2.33.tar.gz
New:
----
Data-Dump-Streamer-2.34.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Data-Dump-Streamer.spec ++++++
--- /var/tmp/diff_new_pack.I8Z7zi/_old 2013-06-18 15:26:18.000000000 +0200
+++ /var/tmp/diff_new_pack.I8Z7zi/_new 2013-06-18 15:26:18.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Data-Dump-Streamer
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: perl-Data-Dump-Streamer
-Version: 2.33
+Version: 2.34
Release: 0
%define cpan_name Data-Dump-Streamer
Summary: Accurately serialize a data structure as Perl code.
@@ -31,7 +31,6 @@
BuildRequires: perl(B::Utils)
BuildRequires: perl(ExtUtils::CBuilder)
BuildRequires: perl(ExtUtils::Depends)
-BuildRequires: perl(JSON::XS)
BuildRequires: perl(Module::Build)
#BuildRequires: perl(Compress::Zlib)
#BuildRequires: perl(Data::Dump::Streamer)
@@ -40,6 +39,7 @@
Requires: perl(B::Utils)
Recommends: perl(Algorithm::Diff)
Recommends: perl(Compress::Zlib)
+BuildRequires: perl(JSON::XS)
Recommends: perl(PadWalker) >= 0.99
%{perl_requires}
++++++ Data-Dump-Streamer-2.33.tar.gz -> Data-Dump-Streamer-2.34.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/.gitignore
new/Data-Dump-Streamer-2.34/.gitignore
--- old/Data-Dump-Streamer-2.33/.gitignore 1970-01-01 01:00:00.000000000
+0100
+++ new/Data-Dump-Streamer-2.34/.gitignore 2012-06-06 11:47:31.000000000
+0200
@@ -0,0 +1,10 @@
+*~
+.answer
+Build
+MYMETA.yml
+_build/
+build/
+blib/
+lib/Data/Dump/Streamer.c
+lib/Data/Dump/Streamer.o
+*.tar.gz
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/Build.PL
new/Data-Dump-Streamer-2.34/Build.PL
--- old/Data-Dump-Streamer-2.33/Build.PL 2012-04-01 17:21:57.000000000
+0200
+++ new/Data-Dump-Streamer-2.34/Build.PL 2012-06-06 11:47:31.000000000
+0200
@@ -35,7 +35,6 @@
'utf8' => 0,
'vars' => 0,
'warnings' => 0,
- 'JSON::XS' => 0,
$] >= 5.012
? ( 're' => 0 )
: (),
@@ -76,6 +75,9 @@
# CPAN
'Algorithm::Diff' => 0,
'PadWalker' => '0.99',
+
+ # optional for testing
+ 'JSON::XS' => 0,
},
);
$build->create_build_script();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/Changes
new/Data-Dump-Streamer-2.34/Changes
--- old/Data-Dump-Streamer-2.33/Changes 2012-04-01 17:21:57.000000000 +0200
+++ new/Data-Dump-Streamer-2.34/Changes 2012-06-06 11:47:31.000000000 +0200
@@ -1,3 +1,7 @@
+2.34
+Administrative release to eliminate build dependency on module
+used only for testing.
+
2.33
Caught up with various RT reports, and fixed a bunch of them.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/MANIFEST
new/Data-Dump-Streamer-2.34/MANIFEST
--- old/Data-Dump-Streamer-2.33/MANIFEST 2012-04-01 17:21:57.000000000
+0200
+++ new/Data-Dump-Streamer-2.34/MANIFEST 2012-06-06 11:47:31.000000000
+0200
@@ -1,4 +1,5 @@
.patch
+.gitignore
Build.PL
Changes
inc/My/Builder.pm
@@ -22,6 +23,7 @@
t/lexicals.t
t/locked.t
t/madness.t
+t/madness_json.t
t/madness_w.t
t/names.t
t/overload.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/META.yml
new/Data-Dump-Streamer-2.34/META.yml
--- old/Data-Dump-Streamer-2.33/META.yml 2012-04-01 17:21:57.000000000
+0200
+++ new/Data-Dump-Streamer-2.34/META.yml 2012-06-06 11:47:31.000000000
+0200
@@ -8,7 +8,6 @@
Data::Dumper: 0
Devel::Peek: 0
ExtUtils::CBuilder: 0
- JSON::XS: 0
Symbol: 0
Test::More: 0
Text::Abbrev: 0
@@ -32,13 +31,14 @@
provides:
Data::Dump::Streamer:
file: lib/Data/Dump/Streamer.pm
- version: 2.33
+ version: 2.34
Data::Dump::Streamer::Deparser:
file: lib/Data/Dump/Streamer.pm
- version: 2.33
+ version: 2.34
recommends:
Algorithm::Diff: 0
Compress::Zlib: 0
+ JSON::XS: 0
MIME::Base64: 0
PadWalker: 0.99
requires:
@@ -61,4 +61,4 @@
warnings::register: 0
resources:
license: http://dev.perl.org/licenses/
-version: 2.33
+version: 2.34
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/lib/Data/Dump/Streamer.pm
new/Data-Dump-Streamer-2.34/lib/Data/Dump/Streamer.pm
--- old/Data-Dump-Streamer-2.33/lib/Data/Dump/Streamer.pm 2012-04-01
17:21:57.000000000 +0200
+++ new/Data-Dump-Streamer-2.34/lib/Data/Dump/Streamer.pm 2012-06-06
11:47:31.000000000 +0200
@@ -34,7 +34,7 @@
BEGIN{ $HasPadWalker=eval "use PadWalker 0.99; 1"; }
BEGIN {
- $VERSION ='2.33';
+ $VERSION ='2.34';
$VERSION = eval $VERSION; # used for beta stuff.
@ISA = qw(Exporter DynaLoader);
@EXPORT=qw(Dump DumpLex DumpVars);
@@ -3735,7 +3735,7 @@
our @ISA=qw(B::Deparse);
my %cache;
-our $VERSION = '2.33';
+our $VERSION = '2.34';
if ( $VERSION ne $Data::Dump::Streamer::VERSION ) {
die "Incompatible Data::Dump::Streamer::Deparser v$VERSION vs
Data::Dump::Streamer v$Data::Dump::Streamer::VERSION";
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/t/madness.t
new/Data-Dump-Streamer-2.34/t/madness.t
--- old/Data-Dump-Streamer-2.33/t/madness.t 2012-04-01 17:21:57.000000000
+0200
+++ new/Data-Dump-Streamer-2.34/t/madness.t 2012-06-06 11:47:31.000000000
+0200
@@ -6,7 +6,6 @@
use strict;
use warnings;
use Data::Dumper;
-use JSON::XS qw(decode_json);
# imports same()
(my $helper=$0)=~s/\w+\.\w+$/test_helper.pl/;
require $helper;
@@ -226,7 +225,6 @@
else {
$expected_dot = 'undef';
}
- my $jstrue= decode_json("true");
my %hash = (
UND => undef,
IV => 1,
@@ -241,7 +239,6 @@
IO => *{$::{STDERR}}{IO},
FMT => \*{$::{STDOUT}}{FORMAT},
OBJ => bless(qr/("[^"]+")/,"Zorp"),
- JSB => $jstrue,
);
# Dumping differences per perl version:
@@ -272,7 +269,6 @@
HR => { key => 'value' },
IO => bless( *{Symbol::gensym()}{IO}, 'IO::File' ),
IV => 1,
- JSB => \1,
NV => 3.14159265358979,
OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
PV => 'string',
@@ -280,7 +276,6 @@
RV => \do { my $v = expected_dot },
UND => undef
};
-bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
EXPECT
require B::Deparse;
if (new B::Deparse -> coderef2text (
@@ -313,7 +308,6 @@
HR => { key => 'value' },
IO => bless( *{Symbol::gensym()}{IO}, 'IO::Handle' ),
IV => 1,
- JSB => \1,
NV => 3.14159265358979,
OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
PV => 'string',
@@ -321,7 +315,6 @@
RV => \do { my $v = expected_dot },
UND => undef
};
-bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
EXPECT
}
elsif ( $] >= 5.008_000 ) {
@@ -347,7 +340,6 @@
HR => { key => 'value' },
IO => bless( *{Symbol::gensym()}{IO}, 'IO::Handle' ),
IV => 1,
- JSB => \1,
NV => 3.14159265358979,
OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
PV => 'string',
@@ -355,7 +347,6 @@
RV => \do { my $v = expected_dot },
UND => undef
};
-bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
EXPECT
}
else {
@@ -373,7 +364,6 @@
HR => { key => 'value' },
IO => bless( *{Symbol::gensym()}{IO}, 'IO::Handle' ),
IV => 1,
- JSB => \1,
NV => 3.14159265358979,
OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
PV => 'string',
@@ -381,7 +371,6 @@
RV => \do { my $v = expected_dot },
UND => undef
};
-bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
EXPECT
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Data-Dump-Streamer-2.33/t/madness_json.t
new/Data-Dump-Streamer-2.34/t/madness_json.t
--- old/Data-Dump-Streamer-2.33/t/madness_json.t 1970-01-01
01:00:00.000000000 +0100
+++ new/Data-Dump-Streamer-2.34/t/madness_json.t 2012-06-06
11:47:31.000000000 +0200
@@ -0,0 +1,414 @@
+use Test::More;
+use strict;
+use warnings;
+use Data::Dumper;
+BEGIN {
+ if (eval"require JSON::XS; 1") {
+ plan tests => 7;
+ } else {
+ plan skip_all => "No JSON::XS";
+ exit; # not sure if this is needed
+ }
+};
+BEGIN { use_ok( 'Data::Dump::Streamer', qw(:undump) ); }
+# imports same()
+(my $helper=$0)=~s/\w+\.\w+$/test_helper.pl/;
+require $helper;
+# use this one for simple, non evalable tests. (GLOB)
+# same ( $got,$expected,$name,$obj )
+#
+# use this one for eval checks and dumper checks but NOT for GLOB's
+# same ( $name,$obj,$expected,@args )
+
+my $dump;
+my $o = Data::Dump::Streamer->new();
+
+isa_ok( $o, 'Data::Dump::Streamer' );
+
+{
+ local *icky;
+ *icky=\ "icky";
+ our $icky;
+ my $id = 0;
+ my $btree;
+ $btree = sub {
+ my ( $d, $m, $p ) = @_;
+ return $p
+ if $d > $m;
+ return [ $btree->( $d + 1, $m, $p . '0' ), $btree->( $d + 1, $m, $p .
'1' ) ];
+ };
+
+ my $t = $btree->( 0, 1, '' );
+ my ( $x, $y, $qr );
+ $x = \$y;
+ $y = \$x;
+ $qr = bless qr/this is a test/m, 'foo_bar';
+
+ my $array = [];
+ my $hash = bless {
+ A => \$array,
+ 'B-B' => ['$array'],
+ 'CCCD' => [ 'foo', 'bar' ],
+ 'E'=>\\1,
+ 'F'=>\\undef,
+ 'Q'=>sub{\@_}->($icky),
+ },
+ 'ThisIsATest';
+ $hash->{G}=\$hash;
+ my $boo = 'boo';
+ @$array = ( \$hash, \$hash, \$hash, \$qr, \$qr, \'foo', \$boo );
+ my $cap = capture( $x, $y, $qr, $x, $y, $qr );
+
+
+ same( 'Madness cap( $qr,$qr )', $o ,<<'EXPECT', capture( $qr, $qr ) );
+$ARRAY1 = [
+ bless( qr/this is a test/m, 'foo_bar' ),
+ 'A: $ARRAY1->[0]'
+ ];
+alias_av(@$ARRAY1, 1, $ARRAY1->[0]);
+EXPECT
+
+
+ #same( $dump = $o->Data( $cap,$array,$boo,$hash,$qr )->Out, <<'EXPECT',
"Total Madness", $o );
+ same( "Total Madness", $o,<<'EXPECT',( $cap,$array,$boo,$hash,$qr ) );
+$ARRAY1 = [
+ 'R: $ARRAY1->[1]',
+ 'R: $ARRAY1->[0]',
+ 'A: $foo_bar1',
+ 'A: $ARRAY1->[0]',
+ 'A: $ARRAY1->[1]',
+ 'A: $foo_bar1'
+ ];
+$ARRAY1->[0] = \$ARRAY1->[1];
+$ARRAY1->[1] = \$ARRAY1->[0];
+alias_av(@$ARRAY1, 3, $ARRAY1->[0]);
+alias_av(@$ARRAY1, 4, $ARRAY1->[1]);
+$ARRAY2 = [
+ \$ThisIsATest1,
+ 'V: $ARRAY2->[0]',
+ 'V: $ARRAY2->[0]',
+ \$foo_bar1,
+ 'V: $ARRAY2->[3]',
+ \'foo',
+ \$VAR1
+ ];
+$ARRAY2->[1] = $ARRAY2->[0];
+$ARRAY2->[2] = $ARRAY2->[0];
+$ARRAY2->[4] = $ARRAY2->[3];
+$VAR1 = 'boo';
+$ThisIsATest1 = bless( {
+ A => \$ARRAY2,
+ "B-B" => [ '$array' ],
+ CCCD => [
+ 'foo',
+ 'bar'
+ ],
+ E => \\1,
+ F => \do { my $v = \do { my $v = undef } },
+ G => $ARRAY2->[0],
+ Q => [ 'icky' ]
+ }, 'ThisIsATest' );
+make_ro($ThisIsATest1->{Q}[0]);
+$foo_bar1 = bless( qr/this is a test/m, 'foo_bar' );
+alias_av(@$ARRAY1, 2, $foo_bar1);
+alias_av(@$ARRAY1, 5, $foo_bar1);
+EXPECT
+
+
+}
+{
+ my ($x,$y);
+ $x=\$y;
+ $y=\$x;
+
+ my $a=[1,2];
+ $a->[0]=\$a->[1];
+ $a->[1]=\$a->[0];
+
+ #$cap->[-1]=5;
+ my $s;
+ $s=\$s;
+ my $bar='bar';
+ my $foo='foo';
+ my $halias= {foo=>1,bar=>2};
+ alias_hv(%$halias,'foo',$foo);
+ alias_hv(%$halias,'bar',$bar);
+ alias_hv(%$halias,'foo2',$foo);
+
+ my ($t,$u,$v,$w)=(1,2,3,4);
+ my $cap=sub{ \@_ }->($x,$y);
+ my $q1=qr/foo/;
+ my $q2=bless qr/bar/,'bar';
+ my $q3=\bless qr/baz/,'baz';
+ #same( $dump = $o->Data(
$a,$q1,$q2,$q3,[$x,$y],[$s,$x,$y],$t,$u,$v,$t,[1,2,3],{1..4},$cap,$cap,$t,$u,$v,$halias)->Out,
<<'EXPECT', "More Madness", $o );
+ same( "More Madness", $o ,
+ <<'EXPECT',(
$a,$q1,$q2,$q3,[$x,$y],[$s,$x,$y],$t,$u,$v,$t,[1,2,3],{1..4},$cap,$cap,$t,$u,$v,$halias));
+$ARRAY1 = [
+ 'R: $ARRAY1->[1]',
+ 'R: $ARRAY1->[0]'
+ ];
+$ARRAY1->[0] = \$ARRAY1->[1];
+$ARRAY1->[1] = \$ARRAY1->[0];
+$Regexp1 = qr/foo/;
+$bar1 = bless( qr/bar/, 'bar' );
+$REF1 = \bless( qr/baz/, 'baz' );
+$ARRAY2 = [
+ 'R: $ARRAY5->[1]',
+ 'R: $ARRAY5->[0]'
+ ];
+$ARRAY3 = [
+ \do { my $v = 'V: $ARRAY3->[0]' },
+ 'V: $ARRAY2->[0]',
+ 'V: $ARRAY2->[1]'
+ ];
+${$ARRAY3->[0]} = $ARRAY3->[0];
+$VAR1 = 1;
+$VAR2 = 2;
+$VAR3 = 3;
+alias_ref(\$VAR4,\$VAR1);
+$ARRAY4 = [
+ 1,
+ 2,
+ 3
+ ];
+$HASH1 = {
+ 1 => 2,
+ 3 => 4
+ };
+$ARRAY5 = [
+ 'V: $ARRAY2->[0]',
+ 'V: $ARRAY2->[1]'
+ ];
+$ARRAY2->[0] = \$ARRAY5->[1];
+$ARRAY2->[1] = \$ARRAY5->[0];
+$ARRAY3->[1] = $ARRAY2->[0];
+$ARRAY3->[2] = $ARRAY2->[1];
+$ARRAY5->[0] = $ARRAY2->[0];
+$ARRAY5->[1] = $ARRAY2->[1];
+alias_ref(\$ARRAY6,\$ARRAY5);
+alias_ref(\$VAR5,\$VAR1);
+alias_ref(\$VAR6,\$VAR2);
+alias_ref(\$VAR7,\$VAR3);
+$HASH2 = {
+ bar => 'bar',
+ foo => 'foo',
+ foo2 => 'A: $HASH2->{foo}'
+ };
+alias_hv(%$HASH2, 'foo2', $HASH2->{foo});
+EXPECT
+}
+{
+ #local $Data::Dump::Streamer::DEBUG = 1;
+ my $x;
+ $x = sub { \@_ }->( $x, $x );
+ push @$x, $x;
+ same( "Tye Alias Array", $o, <<'EXPECT',( $x ) );
+$ARRAY1 = [
+ 'A: $ARRAY1',
+ 'A: $ARRAY1',
+ 'V: $ARRAY1'
+ ];
+alias_av(@$ARRAY1, 0, $ARRAY1);
+alias_av(@$ARRAY1, 1, $ARRAY1);
+$ARRAY1->[2] = $ARRAY1;
+EXPECT
+}
+{
+ undef $!;
+format STDOUT =
+@<<<<<< @││││││ @>>>>>>
+"left", "middle", "right"
+.
+
+ my $expected_dot;
+ if ( defined $. && length $. ) {
+ $expected_dot = $.;
+ }
+ elsif ( defined $. ) {
+ $expected_dot = "''";
+ }
+ else {
+ $expected_dot = 'undef';
+ }
+ my $jstrue= JSON::XS::decode_json("true");
+ my %hash = (
+ UND => undef,
+ IV => 1,
+ NV => 3.14159265358979,
+ PV => "string",
+ PV8 => "ab\ncd\x{20ac}\t",
+ RV => \$.,
+ AR => [ 1..2 ],
+ HR => { key => "value" },
+ CR => sub { "code"; },
+ GLB => *STDERR,
+ IO => *{$::{STDERR}}{IO},
+ FMT => \*{$::{STDOUT}}{FORMAT},
+ OBJ => bless(qr/("[^"]+")/,"Zorp"),
+ JSB => $jstrue,
+ );
+
+ # Dumping differences per perl version:
+ # 5.12.0+:
+ #
+ # IO handles are now blessed into IO::File, I guess?
+ #
+ if ( $] >= 5.012_000 ) {
+ my $expect = <<'EXPECT';
+$HASH1 = {
+ AR => [
+ 1,
+ 2
+ ],
+ CR => sub {
+ use warnings;
+ use strict 'refs';
+ 'code';
+ },
+ FMT => \do{ local *F; my $F=<<'_EOF_FORMAT_'; $F=~s/^\s+# //mg;
eval $F; die $F.$@ if $@; *F{FORMAT};
+ # format F =
+ # @<<<<<< @││││││ @>>>>>>
+ # 'left', 'middle', 'right'
+ # .
+_EOF_FORMAT_
+ },
+ GLB => *::STDERR,
+ HR => { key => 'value' },
+ IO => bless( *{Symbol::gensym()}{IO}, 'IO::File' ),
+ IV => 1,
+ JSB => \1,
+ NV => 3.14159265358979,
+ OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
+ PV => 'string',
+ PV8 => "ab\ncd\x{20ac}\t",
+ RV => \do { my $v = expected_dot },
+ UND => undef
+ };
+bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
+EXPECT
+ require B::Deparse;
+ if (new B::Deparse -> coderef2text (
+ sub { no strict; 1; use strict; 1; }
+ ) !~ 'refs') {
+ $expect =~ s/strict 'refs'/strict/;
+ }
+ same( $dump= $o->Data(\%hash)->Out, template( $expect, expected_dot =>
$expected_dot ), "", $o);
+ }
+ elsif ( $] >= 5.008_008 ) {
+ same( $dump= $o->Data(\%hash)->Out, template( <<'EXPECT', expected_dot
=> $expected_dot ), "", $o);
+$HASH1 = {
+ AR => [
+ 1,
+ 2
+ ],
+ CR => sub {
+ use warnings;
+ use strict 'refs';
+ 'code';
+ },
+ FMT => \do{ local *F; my $F=<<'_EOF_FORMAT_'; $F=~s/^\s+# //mg;
eval $F; die $F.$@ if $@; *F{FORMAT};
+ # format F =
+ # @<<<<<< @││││││ @>>>>>>
+ # 'left', 'middle', 'right'
+ # .
+_EOF_FORMAT_
+ },
+ GLB => *::STDERR,
+ HR => { key => 'value' },
+ IO => bless( *{Symbol::gensym()}{IO}, 'IO::Handle' ),
+ IV => 1,
+ JSB => \1,
+ NV => 3.14159265358979,
+ OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
+ PV => 'string',
+ PV8 => "ab\ncd\x{20ac}\t",
+ RV => \do { my $v = expected_dot },
+ UND => undef
+ };
+bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
+EXPECT
+ }
+ elsif ( $] >= 5.008_000 ) {
+ same( $dump= $o->Data(\%hash)->Out, template( <<'EXPECT', expected_dot
=> $expected_dot ), "", $o);
+$HASH1 = {
+ AR => [
+ 1,
+ 2
+ ],
+ CR => sub {
+ BEGIN {${^WARNING_BITS} = "UUUUUUUUUUUU"}
+ use strict 'refs';
+ 'code';
+ },
+ FMT => \do{ local *F; my $F=<<'_EOF_FORMAT_'; $F=~s/^\s+# //mg;
eval $F; die $F.$@ if $@; *F{FORMAT};
+ # format F =
+ # @<<<<<< @││││││ @>>>>>>
+ # 'left', 'middle', 'right'
+ # .
+_EOF_FORMAT_
+ },
+ GLB => *::STDERR,
+ HR => { key => 'value' },
+ IO => bless( *{Symbol::gensym()}{IO}, 'IO::Handle' ),
+ IV => 1,
+ JSB => \1,
+ NV => 3.14159265358979,
+ OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
+ PV => 'string',
+ PV8 => "ab\ncd\x{20ac}\t",
+ RV => \do { my $v = expected_dot },
+ UND => undef
+ };
+bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
+EXPECT
+ }
+ else {
+ same( $dump= $o->Data(\%hash)->Out, template( <<'EXPECT', expected_dot
=> $expected_dot ), "", $o);
+$HASH1 = {
+ AR => [
+ 1,
+ 2
+ ],
+ CR => sub {
+ 'code';
+ },
+ FMT => \do { my $v = undef },
+ GLB => *::STDERR,
+ HR => { key => 'value' },
+ IO => bless( *{Symbol::gensym()}{IO}, 'IO::Handle' ),
+ IV => 1,
+ JSB => \1,
+ NV => 3.14159265358979,
+ OBJ => bless( qr/("[^"]+")/, 'Zorp' ),
+ PV => 'string',
+ PV8 => "ab\ncd\x{20ac}\t",
+ RV => \do { my $v = expected_dot },
+ UND => undef
+ };
+bless( $HASH1->{JSB}, 'JSON::XS::Boolean' );
+EXPECT
+ }
+}
+
+sub template {
+ my ( $pattern, %replacements ) = @_;
+
+ for ( keys %replacements ) {
+ $pattern =~ s/$_/$replacements{$_}/g;
+ }
+
+ return $pattern;
+}
+__END__
+
+# with eval testing
+{
+ same( "", $o, <<'EXPECT', ( ) );
+EXPECT
+}
+
+# without eval testing
+{
+ same( $dump = $o->Data()->Out, <<'EXPECT', "", $o );
+EXPECT
+}
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]