r5467 - in /packages/libjson-any-perl/branches/upstream/current: META.yml lib/JSON/Any.pm t/01-JSON.t
gregoa-guest at users.alioth.debian.org
gregoa-guest at users.alioth.debian.org
Fri May 18 22:57:12 UTC 2007
Author: gregoa-guest
Date: Fri May 18 22:57:12 2007
New Revision: 5467
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=5467
Log:
[svn-upgrade] Integrating new upstream version, libjson-any-perl (1.08)
Modified:
packages/libjson-any-perl/branches/upstream/current/META.yml
packages/libjson-any-perl/branches/upstream/current/lib/JSON/Any.pm
packages/libjson-any-perl/branches/upstream/current/t/01-JSON.t
Modified: packages/libjson-any-perl/branches/upstream/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/branches/upstream/current/META.yml?rev=5467&op=diff
==============================================================================
--- packages/libjson-any-perl/branches/upstream/current/META.yml (original)
+++ packages/libjson-any-perl/branches/upstream/current/META.yml Fri May 18 22:57:12 2007
@@ -17,4 +17,4 @@
- t
requires:
Carp: 0
-version: 1.07
+version: 1.08
Modified: packages/libjson-any-perl/branches/upstream/current/lib/JSON/Any.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/branches/upstream/current/lib/JSON/Any.pm?rev=5467&op=diff
==============================================================================
--- packages/libjson-any-perl/branches/upstream/current/lib/JSON/Any.pm (original)
+++ packages/libjson-any-perl/branches/upstream/current/lib/JSON/Any.pm Fri May 18 22:57:12 2007
@@ -1,6 +1,6 @@
##############################################################################
# JSON::Any
-# v1.07
+# v1.08
# Copyright (c) 2007 Chris Thompson
##############################################################################
@@ -16,11 +16,11 @@
=head1 VERSION
-Version 1.07
-
-=cut
-
-our $VERSION = '1.07';
+Version 1.08
+
+=cut
+
+our $VERSION = '1.08';
my ( %conf, $handler, $encoder, $decoder );
use constant HANDLER => 0;
@@ -264,10 +264,11 @@
sub objToJson {
my $self = shift;
my $obj = shift;
+ croak 'must provide object to convert' unless defined $obj;
if ( ref $self ) {
croak "No $handler Object created!" unless exists $self->[HANDLER];
my $method = $self->[HANDLER]->can($self->[ENCODER]);
- croak "$handler can't execute $encoder" unless $method;
+ croak "$handler can't execute $self->[ENCODER]" unless $method;
return $self->[HANDLER]->$method($obj);
}
return $handler->can($encoder)->($obj);
@@ -309,10 +310,11 @@
sub jsonToObj {
my $self = shift;
my $obj = shift;
+ croak 'must provide json to convert' unless defined $obj;
if ( ref $self ) {
croak "No $handler Object created!" unless exists $self->[HANDLER];
- my $method = $self->[HANDLER]->can($self->[ENCODER]);
- croak "$handler can't execute $encoder" unless $method;
+ my $method = $self->[HANDLER]->can($self->[DECODER]);
+ croak "$handler can't execute $self->[DECODER]" unless $method;
return $self->[HANDLER]->$method($obj);
}
$handler->can($decoder)->($obj);
Modified: packages/libjson-any-perl/branches/upstream/current/t/01-JSON.t
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/branches/upstream/current/t/01-JSON.t?rev=5467&op=diff
==============================================================================
--- packages/libjson-any-perl/branches/upstream/current/t/01-JSON.t (original)
+++ packages/libjson-any-perl/branches/upstream/current/t/01-JSON.t Fri May 18 22:57:12 2007
@@ -1,41 +1,71 @@
-#!perl -T
+#!perl
$|++;
use strict;
use Test::More;
-
-eval "use JSON::Any qw(PC JSON)";
+eval "use JSON::Any qw(JSON)";
if ($@) {
- plan skip_all => "Neither JSON::PC nor JSON installed: $@";
+ plan skip_all => "JSON.pm not installed: $@";
}
else {
- plan tests => 5;
+ plan tests => 15;
}
-diag("Testing JSON/JSON::PC backend");
+diag("Testing JSON.pm backend");
my ( $js, $obj );
-#1
-ok( my $json = JSON::Any->new( autoconv => 1 ) );
-$obj = { "id" => JSON::Number("1.02") };
-{
- no warnings;
- local $JSON::AUTOCONVERT = 0;
- my $js = $json->objToJson($obj);
+ok(my $json_obj = JSON::Any->new());
+isa_ok($json_obj, 'JSON::Any');
+isa_ok($json_obj->handler, 'JSON');
- #2
- is( $js, '{"id":1.02}' );
-}
-$js = $json->objToJson($obj);
+$js = q|{}|;
+$obj = $json_obj->jsonToObj($js);
+$js = $json_obj->objToJson($obj);
+is($js,'{}');
-#3
-is( $js, '{"id":1.02}' );
+$js = q|[]|;
+$obj = $json_obj->jsonToObj($js);
+$js = $json_obj->objToJson($obj);
+is($js,'[]');
-$obj = { "id" => '0xfa' };
-$js = $json->objToJson($obj);
+$js = q|{"foo":"bar"}|;
+$obj = $json_obj->jsonToObj($js);
+is($obj->{foo},'bar');
+$js = $json_obj->objToJson($obj);
+is($js,'{"foo":"bar"}');
-#4
-is( $js, '{"id":0xfa}' );
+$js = q|{"foo":""}|;
+$obj = $json_obj->jsonToObj($js);
+$js = $json_obj->objToJson($obj);
+is($js,'{"foo":""}');
-#5
-ok( $json = JSON::Any->new( pretty => 1 ) );
+$js = q|{"foo":" "}|;
+$obj = $json_obj->jsonToObj($js);
+$js = $json_obj->objToJson($obj);
+is($js,'{"foo":" "}');
+
+$js = q|{}|;
+$obj = JSON::Any->jsonToObj($js);
+$js = JSON::Any->objToJson($obj);
+is($js,'{}');
+
+$js = q|[]|;
+$obj = JSON::Any->jsonToObj($js);
+$js = JSON::Any->objToJson($obj);
+is($js,'[]');
+
+$js = q|{"foo":"bar"}|;
+$obj = JSON::Any->jsonToObj($js);
+is($obj->{foo},'bar');
+$js = JSON::Any->objToJson($obj);
+is($js,'{"foo":"bar"}');
+
+$js = q|{"foo":""}|;
+$obj = JSON::Any->jsonToObj($js);
+$js = JSON::Any->objToJson($obj);
+is($js,'{"foo":""}');
+
+$js = q|{"foo":" "}|;
+$obj = JSON::Any->jsonToObj($js);
+$js = JSON::Any->objToJson($obj);
+is($js,'{"foo":" "}');
More information about the Pkg-perl-cvs-commits
mailing list