Hello community, here is the log from the commit of package perl-Data-Dump-Streamer for openSUSE:Factory checked in at 2014-02-11 10:44:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2013-06-28 11:51:57.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Data-Dump-Streamer.new/perl-Data-Dump-Streamer.changes 2014-02-11 10:44:09.000000000 +0100 @@ -1,0 +2,14 @@ +Mon Feb 10 11:29:33 UTC 2014 - co...@suse.com + +- updated to 2.37 + Various changes. See github log for changes. +- fixes build in factory + +------------------------------------------------------------------- +Fri Oct 4 09:15:27 UTC 2013 - co...@suse.com + +- updated to 2.36 + Should work on 5.18 now. +- obsoleting rt_79127.diff and rt_82958.diff + +------------------------------------------------------------------- Old: ---- Data-Dump-Streamer-2.34.tar.gz rt_79127.diff rt_82958.diff New: ---- Data-Dump-Streamer-2.37.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Data-Dump-Streamer.spec ++++++ --- /var/tmp/diff_new_pack.tIiC5e/_old 2014-02-11 10:44:10.000000000 +0100 +++ /var/tmp/diff_new_pack.tIiC5e/_new 2014-02-11 10:44:10.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-Data-Dump-Streamer # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 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.34 +Version: 2.37 Release: 0 %define cpan_name Data-Dump-Streamer Summary: Accurately serialize a data structure as Perl code @@ -25,8 +25,6 @@ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/Data-Dump-Streamer/ Source: http://www.cpan.org/authors/id/Y/YV/YVES/%{cpan_name}-%{version}.tar.gz -Patch0: rt_79127.diff -Patch1: rt_82958.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros @@ -34,14 +32,10 @@ BuildRequires: perl(ExtUtils::CBuilder) BuildRequires: perl(ExtUtils::Depends) BuildRequires: perl(Module::Build) -#BuildRequires: perl(Compress::Zlib) -#BuildRequires: perl(Data::Dump::Streamer) -#BuildRequires: perl(Data::Dump::Streamer::_::Printers) -#BuildRequires: perl(My::Builder) Requires: perl(B::Utils) Recommends: perl(Algorithm::Diff) Recommends: perl(Compress::Zlib) -BuildRequires: perl(JSON::XS) +Recommends: perl(JSON::XS) Recommends: perl(PadWalker) >= 0.99 %{perl_requires} @@ -68,8 +62,6 @@ %prep %setup -q -n %{cpan_name}-%{version} -%patch0 -p1 -%patch1 -p1 %build %{__perl} Build.PL installdirs=vendor optimize="%{optflags}" ++++++ Data-Dump-Streamer-2.34.tar.gz -> Data-Dump-Streamer-2.37.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/.gitignore new/Data-Dump-Streamer-2.37/.gitignore --- old/Data-Dump-Streamer-2.34/.gitignore 2012-06-06 11:47:31.000000000 +0200 +++ new/Data-Dump-Streamer-2.37/.gitignore 2014-01-29 17:17:28.000000000 +0100 @@ -2,6 +2,7 @@ .answer Build MYMETA.yml +MYMETA.json _build/ build/ blib/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/Build.PL new/Data-Dump-Streamer-2.37/Build.PL --- old/Data-Dump-Streamer-2.34/Build.PL 2012-06-06 11:47:31.000000000 +0200 +++ new/Data-Dump-Streamer-2.37/Build.PL 2014-01-29 17:17:28.000000000 +0100 @@ -8,6 +8,7 @@ my $build = My::Builder->new( module_name => 'Data::Dump::Streamer', + dist_author => 'Yves Orton <y...@cpan.org>, Joshua ben Jore <jj...@cpan.org>', license => 'perl', configure_requires => { 'perl' => '5.006', @@ -79,5 +80,10 @@ # optional for testing 'JSON::XS' => 0, }, + meta_merge => { + resources => { + repository => 'https://github.com/demerphq/Data-Dump-Streamer' + } + }, ); $build->create_build_script(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/Changes new/Data-Dump-Streamer-2.37/Changes --- old/Data-Dump-Streamer-2.34/Changes 2012-06-06 11:47:31.000000000 +0200 +++ new/Data-Dump-Streamer-2.37/Changes 2014-01-29 17:17:28.000000000 +0100 @@ -1,3 +1,20 @@ +2.37 + +Various changes. See github log for changes. + +NOTE, I have little time to maintain this package. If a secondary maintainer +wants to step up I would be happy to grant the appropriate permissions so that +new releases do not take so long. + +2.36 + +Er... I forgot to update the changes file for this release. + +2.35 +Apply patches by Ilmari and D. Steinbrunner. + +Should work on 5.18 now. + 2.34 Administrative release to eliminate build dependency on module used only for testing. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/MANIFEST new/Data-Dump-Streamer-2.37/MANIFEST --- old/Data-Dump-Streamer-2.34/MANIFEST 2012-06-06 11:47:31.000000000 +0200 +++ new/Data-Dump-Streamer-2.37/MANIFEST 2014-01-29 17:17:28.000000000 +0100 @@ -38,3 +38,4 @@ t/usage.t t/xs_subs.t typemap +META.json diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/META.json new/Data-Dump-Streamer-2.37/META.json --- old/Data-Dump-Streamer-2.34/META.json 1970-01-01 01:00:00.000000000 +0100 +++ new/Data-Dump-Streamer-2.37/META.json 2014-01-29 17:17:28.000000000 +0100 @@ -0,0 +1,93 @@ +{ + "abstract" : "Accurately serialize a data structure as Perl code.", + "author" : [ + "Yves Orton <y...@cpan.org>, Joshua ben Jore <jj...@cpan.org>" + ], + "dynamic_config" : 1, + "generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.110440", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "Data-Dump-Streamer", + "prereqs" : { + "build" : { + "requires" : { + "B::Deparse" : 0, + "Carp" : 0, + "Config" : 0, + "Data::Dumper" : 0, + "Devel::Peek" : 0, + "ExtUtils::CBuilder" : 0, + "Symbol" : 0, + "Test::More" : 0, + "Text::Abbrev" : 0, + "base" : 0, + "overload" : 0, + "re" : 0, + "strict" : 0, + "utf8" : 0, + "vars" : 0, + "warnings" : 0 + } + }, + "configure" : { + "requires" : { + "ExtUtils::Depends" : 0, + "Module::Build" : 0, + "perl" : "5.006" + } + }, + "runtime" : { + "recommends" : { + "Algorithm::Diff" : 0, + "Compress::Zlib" : 0, + "JSON::XS" : 0, + "MIME::Base64" : 0, + "PadWalker" : "0.99" + }, + "requires" : { + "B" : 0, + "B::Deparse" : 0, + "B::Utils" : 0, + "Data::Dumper" : 0, + "DynaLoader" : 0, + "Exporter" : 0, + "Hash::Util" : 0, + "IO::File" : 0, + "Symbol" : 0, + "Text::Abbrev" : 0, + "Text::Balanced" : 0, + "overload" : 0, + "re" : 0, + "strict" : 0, + "vars" : 0, + "warnings" : 0, + "warnings::register" : 0 + } + } + }, + "provides" : { + "Data::Dump::Streamer" : { + "file" : "lib/Data/Dump/Streamer.pm", + "version" : "2.37" + }, + "Data::Dump::Streamer::Deparser" : { + "file" : "lib/Data/Dump/Streamer.pm", + "version" : "2.37" + } + }, + "release_status" : "stable", + "resources" : { + "license" : [ + "http://dev.perl.org/licenses/" + ], + "repository" : { + "url" : "https://github.com/demerphq/Data-Dump-Streamer" + } + }, + "version" : "2.37" +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/META.yml new/Data-Dump-Streamer-2.37/META.yml --- old/Data-Dump-Streamer-2.34/META.yml 2012-06-06 11:47:31.000000000 +0200 +++ new/Data-Dump-Streamer-2.37/META.yml 2014-01-29 17:17:28.000000000 +0100 @@ -1,6 +1,7 @@ --- abstract: 'Accurately serialize a data structure as Perl code.' -author: [] +author: + - 'Yves Orton <y...@cpan.org>, Joshua ben Jore <jj...@cpan.org>' build_requires: B::Deparse: 0 Carp: 0 @@ -22,7 +23,8 @@ ExtUtils::Depends: 0 Module::Build: 0 perl: 5.006 -generated_by: 'Module::Build version 0.3603' +dynamic_config: 1 +generated_by: 'Module::Build version 0.38, CPAN::Meta::Converter version 2.110440' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -31,10 +33,10 @@ provides: Data::Dump::Streamer: file: lib/Data/Dump/Streamer.pm - version: 2.34 + version: 2.37 Data::Dump::Streamer::Deparser: file: lib/Data/Dump/Streamer.pm - version: 2.34 + version: 2.37 recommends: Algorithm::Diff: 0 Compress::Zlib: 0 @@ -61,4 +63,5 @@ warnings::register: 0 resources: license: http://dev.perl.org/licenses/ -version: 2.34 + repository: https://github.com/demerphq/Data-Dump-Streamer +version: 2.37 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/lib/Data/Dump/Streamer.pm new/Data-Dump-Streamer-2.37/lib/Data/Dump/Streamer.pm --- old/Data-Dump-Streamer-2.34/lib/Data/Dump/Streamer.pm 2012-06-06 11:47:31.000000000 +0200 +++ new/Data-Dump-Streamer-2.37/lib/Data/Dump/Streamer.pm 2014-01-29 17:17:28.000000000 +0100 @@ -34,7 +34,7 @@ BEGIN{ $HasPadWalker=eval "use PadWalker 0.99; 1"; } BEGIN { - $VERSION ='2.34'; + $VERSION ='2.37'; $VERSION = eval $VERSION; # used for beta stuff. @ISA = qw(Exporter DynaLoader); @EXPORT=qw(Dump DumpLex DumpVars); @@ -127,7 +127,7 @@ # As I write this, 5.13.10 doesn't exist so I'm guessing that # we can begin using the ordinary core function again. eval q[ - use re qw(regexp_pattern); + use re qw(regexp_pattern is_regexp); *regex= *regexp_pattern; ] or die $@; } @@ -135,7 +135,7 @@ # Perl-5.13.6 through perl-5.13.9 began returning modifier # flags that weren't yet legal at the time. eval q[ - use re qw(regexp_pattern); + use re qw(regexp_pattern is_regexp); sub regex { if (wantarray) { my ($pat,$mod) = regexp_pattern($_[0]); @@ -153,11 +153,14 @@ } elsif ($]>=5.009004) { eval q[ - use re qw(regexp_pattern); + use re qw(regexp_pattern is_regexp); *regex= *regexp_pattern; 1; ] or die $@; } + else { + eval q[sub is_regexp($) { defined regex($_[0]) }]; + } if ($]<=5.008) { *hidden_keys=sub(\%) { return () }; *legal_keys=sub(\%) { return keys %{$_[0]} }; @@ -258,7 +261,7 @@ # NOTE # ---- # This module uses the term 'sv' in a way that is misleading. -# It doesnt always mean the same as it would in the core. +# It doesn't always mean the same as it would in the core. # # 1. data is breadth first traversed first, in the pretty much # self contained Data() routine which farms out a bit to @@ -266,7 +269,7 @@ # later use, such as their depth, refcount, "name", etc. But # ONLY for references and scalars whose refcount is over 2. # Most real SV's will have a refcount of 2 when we look at them -# (from the perl side) so we actually dont know about them (trust me) +# (from the perl side) so we actually don't know about them (trust me) # They _cant_ be referenced twice, and they can't be aliased so we can # can just ignore them until the second pass. # 2.Once this has happened Out() is called which starts off a @@ -279,16 +282,16 @@ #(which is scary nasty horrible code) and then pass on to _dump_type where # type is one of 'code', 'qr', 'array' etc. Each of these which have children # then call back into _dump_sv as required. -# 5. Because of the way perl works, we can't emit anthing more than a DAG in a -# single statment, so for more complex structures we need to add in the broken +# 5. Because of the way perl works, we can't emit anything more than a DAG in a +# single statement, so for more complex structures we need to add in the broken # links. I call these "fix statements", and they encompass copying reference -# values, creating aliases, or even dumping globs. When a fix statment is needed +# values, creating aliases, or even dumping globs. When a fix statement is needed # any of the _dump_foo methods will call _add_fix and add to the list of fixes. # after every root level _dump_sv call from Out() any fix statements possible to be # resolved will be emitted and removed from the fix list. This happens in # _dump_apply_fix, which is another piece of horrible code. # -# Anyway, its terribly ugly, but for anything I can think to throw at it it works. +# Anyway, its terribly ugly, but for anything I can think to throw at i works. # demerphq =encoding utf8 @@ -362,11 +365,11 @@ As of version 1.11 DDS has had the ability to dump closures properly. This means that the lexicals that are bound to the closure are dumped along with the subroutine that uses them. This makes it much easier to debug -code that uses closures and to a certain extent provides a persistancy +code that uses closures and to a certain extent provides a persistency framework for closure based code. The way this works is that DDS figures out what all the lexicals are that are bound to CODE refs it is dumping and then pretends that it had originally been called with all of them as -its arguements, (along with the original arguments as well of course.) +its arguments, (along with the original arguments as well of course.) One consequence of the way the dumping process works is that all of the recreated subroutines will be in the same scope. This of course can lead @@ -398,11 +401,11 @@ Generally if the closures being dumped avoid accessing lexicals and globals with the same name from out of scope and that all of the CODE being dumped avoids vars with the C<EclipseName> in their names the dumps -should be valid and should eval back into existance properly. +should be valid and should eval back into existence properly. Note that the behaviour of dumping closures is subject to change in future versions as its possible that I will put some additional effort into more -sophisiticated ways of avoiding name collisions in the dump. +sophisticated ways of avoiding name collisions in the dump. =head1 USAGE @@ -495,7 +498,7 @@ This values is used to allow extra control over how the object will be recreated when dumped. It is used for converting the C<$proxy> representation -into the real thing. It is only relevent when C<$proxy> is a reference. +into the real thing. It is only relevant when C<$proxy> is a reference. =over 8 @@ -507,7 +510,7 @@ A string matching C<< /^(->)?((?:\w*::)\w+)(\(\))?$/ >> in which case it is taken as a sub name when the string ends in () and a method name -when the string doesnt. If the C<< -> >> is present then the sub or method +when the string doesn't. If the C<< -> >> is present then the sub or method is called inline. If it is not then the sub or method is called after the main dump. @@ -523,7 +526,7 @@ This is the similar to C<$thaw> but is called in process instead of being emitted as part of the dump. Any return is ignored. -It is only relevent when C<$proxy> is a reference. +It is only relevant when C<$proxy> is a reference. =over 8 @@ -546,7 +549,7 @@ An example DDS_freeze method is one I had to put together for an object which contained a key whose value was a ref to an array tied to the value -of another key. Dumping this got crazy, so I wanted to surpress dumping +of another key. Dumping this got crazy, so I wanted to suppress dumping the tied array. I did it this way: sub DDS_freeze { @@ -619,9 +622,9 @@ By default Data::Dump::Streamer will "run length encode" array values. This means that when an array value is simple (ie, its not referenced and -does contain a reference) and is repeated mutliple times the output will +does contain a reference) and is repeated multiple times the output will be single a list multiplier statement, and not each item output -seperately. Thus: L<C<Dump([0,0,0,0])>|/Dump> will be output somthing like +separately. Thus: L<C<Dump([0,0,0,0])>|/Dump> will be output something like $ARRAY1 = [ (0) x 4 ]; @@ -635,7 +638,7 @@ =head2 Installing I<DDS> as a package alias Its possible to have an alias to Data::Dump::Streamer created and -installed for easier useage in one liners and short scripts. +installed for easier usage in one liners and short scripts. Data::Dump::Streamer is a bit long to type sometimes. However because this technically means polluting the root level namespace, and having it listed on CPAN, I have elected to have the installer not install it by default. @@ -723,11 +726,11 @@ my $class = shift; my $self = bless { style => { - hashsep => '=>', # use this to seperate key vals + hashsep => '=>', # use this to separate key vals arysep => ',', pairsep => ',', optspace => ' ', - bless => 'bless()', # use this to bless ojects, needs fixing + bless => 'bless()', # use this to bless objects, needs fixing compress => 0, # if nonzero use compressor to compress strings # longer than this value. @@ -746,7 +749,7 @@ rle => 1, # run length encode arrays ignore => {}, # ignore classes - indentcols => 2, # indent this numbe of cols + indentcols => 2, # indent this number of cols ro => 1, # track readonly vars dualvars => 1, # dump dualvars eclipsename => "%s_eclipse_%d", @@ -834,7 +837,7 @@ s/([\0-\037\177]) / sprintf '\\%03o', ord($1)/xeg; if (length $_ != do { use bytes; length $_ }) { - use utf8; #perl 5.6.1 needs this, 5.9.2 doesnt. sigh + use utf8; #perl 5.6.1 needs this, 5.9.2 doesn't. sigh s/([\200-\377]) / sprintf '\\%03o', ord($1)/xeg; s/([^\040-\176])/ sprintf '\\x{%x}', ord($1)/xeg; } else { @@ -1082,13 +1085,13 @@ This routine behaves very differently depending on the context it is called in and whether arguments are provided. -If called with no arguments it is exactly equivelent to calling +If called with no arguments it is exactly equivalent to calling Data::Dump::Streamer->new() which means it returns an object reference. -If called with arguments and in scalar context it is equivelent to calling +If called with arguments and in scalar context it is equivalent to calling Data::Dump::Streamer->new()->Data(@vals) @@ -1781,7 +1784,7 @@ my ($self,$isfinal)=@_; # go through the fix statements and out any that are # now fully dumped. - # curently the following types are grokked: + # currently the following types are grokked: # 'var','glob','method call','tlock','ref','sv','#' my @globs; @@ -2202,7 +2205,7 @@ #see the 'Many refs' tests in t\dump.t for #why this is here. basically we need to #ensure the ref is modifiable. If its two $'s - #then its modifable anyway, more and it wont be. + #then its modifiable anyway, more and it wont be. # $ref=\\$x; $ref=RW $$ref=RO $$$ref=$x=RW unless ($self->{style}{purity}) { $str="\\$self->{svn}[$idx]"; @@ -2827,7 +2830,7 @@ $idx=$self->{ref}{$addr}; $type=reftype($item); $class=blessed($item); - $class=undef if $class and $class eq 'Regexp' and regex $item; + $class=undef if $class and $class eq 'Regexp' and is_regexp $item; $DEBUG and printf "_dump_rv %d %s %#x\n",$depth,$name,$addr; @@ -3047,7 +3050,7 @@ may be prefixed but they will be silently converted to *'s. If no names are provided then names are generated automatically based on -the type of object being dumped, with abreviations applied to compound +the type of object being dumped, with abbreviations applied to compound class names. If called with arguments then returns the object itself, otherwise in list @@ -3093,10 +3096,10 @@ This option can be used to set the level of purity in the output. It defaults to TRUE, which results in the module doing its best to ensure that the resulting dump when eval()ed is precisely the same as the input. -However, at times such as debugging this can be tedius, resulting in +However, at times such as debugging this can be tedious, resulting in extremely long dumps with many "fix" statements involved. By setting Purity to FALSE the resulting output won't necessarily be legal Perl, but -it will be more legible. In this mode the output is boardly similar to +it will be more legible. In this mode the output is broadly similar to that of the default setting of Data::Dumper (Purity(0)). When set to TRUE the behaviour is likewise similar to Data::Dumper in Purity(1) but more accurate. @@ -3175,7 +3178,7 @@ on their own line. If the value is 1 then a "smart" indenting mode is activated where multiple key/value or values may be printed to the same line. The heuristics for this mode are still experimental so it may -occassional not indent very nicely. +occasional not indent very nicely. Default is Indent(2) @@ -3251,7 +3254,7 @@ This is a wrapper for KeyOrder. It allows only the generic hash sort order to be specified a little more elegantly than via KeyOrder(). -It is syntactically equivelent to +It is syntactically equivalent to $self->KeyOrder( "", @_ ); @@ -3560,7 +3563,7 @@ my $code=$compressor->('string'); # string argument The sub will be called with no arguments at the beginning of the -dump to allow any require statments or similar to be added. During +dump to allow any require statements or similar to be added. During the dump the sub will be called with a single argument when compression is required. The code returned in this case is expected to be an EXPR that will evaluate back to the original string. @@ -3695,9 +3698,9 @@ } my $svo=B::svref_2object($cv); - my @pl_array = $svo->PADLIST->ARRAY; + my @pl_array = eval { $svo->PADLIST->ARRAY }; - my @name_obj = $pl_array[0]->ARRAY; + my @name_obj = eval { $pl_array[0]->ARRAY }; my %named; for my $i ( 0..$#name_obj ) { @@ -3735,7 +3738,7 @@ our @ISA=qw(B::Deparse); my %cache; -our $VERSION = '2.34'; +our $VERSION = '2.37'; if ( $VERSION ne $Data::Dump::Streamer::VERSION ) { die "Incompatible Data::Dump::Streamer::Deparser v$VERSION vs Data::Dump::Streamer v$Data::Dump::Streamer::VERSION"; } @@ -3808,12 +3811,12 @@ calls 'fix' statements. The third entry C<< 'A: $ARRAY1->[1]' >> indicates that is element of the array is in fact the exact same scalar as exists in C<< $ARRAY1->[1] >>, or is in other words, an alias to that variable. -Again, this cannot be expressed in a single statment and so generates +Again, this cannot be expressed in a single statement and so generates another, different, fix statement. The fifth entry C<< 'V: $ARRAY1->[3]' >> indicates that this slots holds a value (actually a reference value) that is identical to one elsewhere, but is currently undefined. In this case it is because the value it needs is the reference returned by the -anonymous array constructer in the fourth element (C<< $ARRAY1->[3] >>). +anonymous array constructor in the fourth element (C<< $ARRAY1->[3] >>). Again this results in yet another different fix statement. If Verbose() is off then only a 'R' 'A' or 'V' tag is emitted as a marker of some form is necessary. @@ -3827,7 +3830,7 @@ =head2 A Note About Speed Data::Dumper is much faster than this module for many things. However IMO -it is less readable, and definately less accurate. YMMV. +it is less readable, and definitely less accurate. YMMV. =head1 EXPORT @@ -3914,7 +3917,7 @@ Be aware that to a certain extent this module is subject to whimsies of your local perl. The same code may not produce the same dump on two -different installs and versions. Luckily these dont seem to pop up often. +different installs and versions. Luckily these don't seem to pop up often. =head1 AUTHOR AND COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Data-Dump-Streamer-2.34/t/madness_json.t new/Data-Dump-Streamer-2.37/t/madness_json.t --- old/Data-Dump-Streamer-2.34/t/madness_json.t 2012-06-06 11:47:31.000000000 +0200 +++ new/Data-Dump-Streamer-2.37/t/madness_json.t 2014-01-29 17:17:28.000000000 +0100 @@ -248,13 +248,16 @@ JSB => $jstrue, ); + my $expect; + my $json_bool_class = ref( $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'; + # This fixes https://github.com/demerphq/Data-Dump-Streamer/issues/8 + $expect = <<'EXPECT'; $HASH1 = { AR => [ 1, @@ -292,10 +295,9 @@ ) !~ '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); + $expect = <<'EXPECT'; $HASH1 = { AR => [ 1, @@ -329,7 +331,7 @@ EXPECT } elsif ( $] >= 5.008_000 ) { - same( $dump= $o->Data(\%hash)->Out, template( <<'EXPECT', expected_dot => $expected_dot ), "", $o); + $expect = <<'EXPECT'; $HASH1 = { AR => [ 1, @@ -363,7 +365,7 @@ EXPECT } else { - same( $dump= $o->Data(\%hash)->Out, template( <<'EXPECT', expected_dot => $expected_dot ), "", $o); + $expect = <<'EXPECT'; $HASH1 = { AR => [ 1, @@ -388,6 +390,11 @@ bless( $HASH1->{JSB}, 'JSON::XS::Boolean' ); EXPECT } + # In JSON::XS < 3, the boolean class is JSON::XS::Boolean + # In JSON::XS >= 3, the boolean class is JSON::PP::Boolean + my $json_boolean_class = ref JSON::XS::decode_json("true"); + $expect =~ s{JSON::XS::Boolean}{$json_boolean_class}g; + same( $dump= $o->Data(\%hash)->Out, template( $expect, expected_dot => $expected_dot ), "", $o); } sub template { -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org