Commit 9497fefd authored by Fabrizio Regalli's avatar Fabrizio Regalli

[svn-upgrade] new version libdata-serializer-perl (0.58)

parent 964f07f5
Revision history for Perl extension Data::Serializer
0.57 Tue Jun 14 2011
- Added utf8 to the decode in the JSON deserializing code. Fixes https://rt.cpan.org/Public/Bug/Display.html?id=68125
Thanks to colink@perldreamer.com for finding the bug and supplying good tests and a suggested fix and to
lp@sunnyspot.org for the suggested ->utf8-> fix (which really was functionally identical to what colink recommended)
0.57 Mon Jan 17 2011
- Updated remainder of test suite to armor against XML::Simple dependency problems that I first
attempted to fix in 0.53. Only modified tests, no change to module code
......
......@@ -17,7 +17,7 @@ name: Data-Serializer
provides:
Data::Serializer:
file: lib/Data/Serializer.pm
version: 0.57
version: 0.58
Data::Serializer::Bencode:
file: lib/Data/Serializer/Bencode.pm
version: 0.03
......@@ -47,7 +47,7 @@ provides:
version: 0.02
Data::Serializer::JSON:
file: lib/Data/Serializer/JSON.pm
version: 0.03
version: 0.04
Data::Serializer::JSON::Syck:
file: lib/Data/Serializer/JSON/Syck.pm
version: 0.02
......@@ -105,4 +105,4 @@ requires:
IO::File: 0
resources:
license: http://dev.perl.org/licenses/
version: 0.57
version: 0.58
......@@ -7,7 +7,7 @@ use vars qw($VERSION);
use Carp;
require 5.004 ;
$VERSION = '0.57';
$VERSION = '0.58';
#Global cache of modules we've loaded
my %_MODULES;
......
......@@ -6,7 +6,7 @@ use strict;
use JSON;
use vars qw($VERSION @ISA);
$VERSION = '0.03';
$VERSION = '0.04';
sub serialize {
return JSON->VERSION < 2 ? JSON->new->objToJson($_[1]) : JSON->new->utf8->encode($_[1]);
......@@ -14,7 +14,7 @@ sub serialize {
sub deserialize {
#return JSON->VERSION < 2 ? JSON->new->jsonToObj($_[1]) : JSON->new->decode($_[1]);
$_[1] and return JSON->VERSION < 2 ? JSON->new->jsonToObj($_[1]) : JSON->new->decode($_[1]);
$_[1] and return JSON->VERSION < 2 ? JSON->new->jsonToObj($_[1]) : JSON->new->utf8->decode($_[1]);
}
1;
......
package My::TestObj;
#use utf8;
#Need to play nice on different Filesystems!
......@@ -37,6 +38,7 @@ $object_package = 'My::TestObj';
complexarray => 2,
selfrefarray => 1,
simplehash => 1,
utf8hash => 2,
complexhash => 3,
selfrefhash => 1,
);
......@@ -50,7 +52,6 @@ $object_package = 'My::TestObj';
simplescalarref => \'pointless',
simplehash => { alpha => 1,
beta => 2 },
simplearray => [qw ( one two three ) ],
......@@ -74,6 +75,12 @@ $object_package = 'My::TestObj';
},
);
{
$testrefs{utf8hash} = { alpha => q|water and road|,
beta => q|mañana| };
}
$testrefs{selfrefhash}->{pear} = $testrefs{selfrefhash}->{apple};
$testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
......@@ -88,6 +95,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -98,6 +106,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -110,6 +119,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -122,6 +132,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -134,6 +145,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -144,6 +156,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => 0,
selfrefarray => 0,
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -156,6 +169,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -168,6 +182,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -180,6 +195,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -191,6 +207,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
simplearray => $counts{simplearray},
complexarray => $counts{complexarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
#selfrefarray => $counts{selfrefarray},
#selfrefhash => $counts{selfrefhash},
......@@ -206,6 +223,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => 0, #Chokes on UTF8
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -216,6 +234,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -226,6 +245,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -238,6 +258,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -250,6 +271,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -262,6 +284,7 @@ $testrefs{selfrefarray}->[3] = $testrefs{selfrefarray}->[1];
complexarray => $counts{complexarray},
selfrefarray => $counts{selfrefarray},
simplehash => $counts{simplehash},
utf8hash => $counts{utf8hash},
complexhash => $counts{complexhash},
selfrefhash => $counts{selfrefhash},
},
......@@ -409,6 +432,9 @@ sub run_test {
$T->ok_eqnum($testrefs{$test}->[1]->{alpha}, $thawed->[1]->{alpha},'array of hashes');
} elsif ($test eq 'simplehash') {
$T->ok_eqnum($testrefs{$test}->{alpha}, $thawed->{alpha},'hash');
} elsif ($test eq 'utf8hash') {
$T->ok_eq($testrefs{$test}->{alpha}, $thawed->{alpha},'utf8 hash');
$T->ok_eq($testrefs{$test}->{beta}, $thawed->{beta},'utf8 hash 2');
} elsif ($test eq 'complexhash') {
$T->ok_eq($testrefs{$test}->{apple}->[1], $thawed->{apple}->[1],'hash of arrays');
$T->ok_eqnum($testrefs{$test}->{orange}->{alpha}, $thawed->{orange}->{alpha},'hash of hashes');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment