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]

Reply via email to