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