r5469 - in /packages/libjson-any-perl/trunk: META.yml debian/changelog debian/control 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 23:00:10 UTC 2007


Author: gregoa-guest
Date: Fri May 18 23:00:09 2007
New Revision: 5469

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=5469
Log:
* New upstream release.
* Add libtest-pod-perl, libtest-pod-coverage-perl to Build-Depends-Indep.

Modified:
    packages/libjson-any-perl/trunk/META.yml
    packages/libjson-any-perl/trunk/debian/changelog
    packages/libjson-any-perl/trunk/debian/control
    packages/libjson-any-perl/trunk/lib/JSON/Any.pm
    packages/libjson-any-perl/trunk/t/01-JSON.t

Modified: packages/libjson-any-perl/trunk/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/trunk/META.yml?rev=5469&op=diff
==============================================================================
--- packages/libjson-any-perl/trunk/META.yml (original)
+++ packages/libjson-any-perl/trunk/META.yml Fri May 18 23:00:09 2007
@@ -17,4 +17,4 @@
     - t
 requires: 
   Carp: 0
-version: 1.07
+version: 1.08

Modified: packages/libjson-any-perl/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/trunk/debian/changelog?rev=5469&op=diff
==============================================================================
--- packages/libjson-any-perl/trunk/debian/changelog (original)
+++ packages/libjson-any-perl/trunk/debian/changelog Fri May 18 23:00:09 2007
@@ -1,3 +1,10 @@
+libjson-any-perl (1.08-1) unstable; urgency=low
+
+  * New upstream release.
+  * Add libtest-pod-perl, libtest-pod-coverage-perl to Build-Depends-Indep.
+
+ -- gregor herrmann <gregor+debian at comodo.priv.at>  Sat, 19 May 2007 00:58:55 +0200
+
 libjson-any-perl (1.07-1) unstable; urgency=low
 
   * New upstream release

Modified: packages/libjson-any-perl/trunk/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/trunk/debian/control?rev=5469&op=diff
==============================================================================
--- packages/libjson-any-perl/trunk/debian/control (original)
+++ packages/libjson-any-perl/trunk/debian/control Fri May 18 23:00:09 2007
@@ -2,10 +2,11 @@
 Section: perl
 Priority: optional
 Build-Depends: debhelper (>= 5.0.0)
-Build-Depends-Indep: perl (>= 5.8.8-7), libjson-perl, libyaml-syck-perl
-Uploaders: Krzysztof Krzyzaniak (eloy) <eloy at debian.org>
+Build-Depends-Indep: perl (>= 5.8.8-7), libjson-perl, libyaml-syck-perl, libtest-pod-perl, libtest-pod-coverage-perl
+Uploaders: Krzysztof Krzyzaniak (eloy) <eloy at debian.org>, gregor herrmann <gregor+debian at comodo.priv.at>
 Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
 Standards-Version: 3.7.2
+XS-Vcs-Svn: svn://svn.debian.org/pkg-perl/packages/libjson-any-perl/trunk/
 
 Package: libjson-any-perl
 Architecture: all

Modified: packages/libjson-any-perl/trunk/lib/JSON/Any.pm
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/trunk/lib/JSON/Any.pm?rev=5469&op=diff
==============================================================================
--- packages/libjson-any-perl/trunk/lib/JSON/Any.pm (original)
+++ packages/libjson-any-perl/trunk/lib/JSON/Any.pm Fri May 18 23:00:09 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/trunk/t/01-JSON.t
URL: http://svn.debian.org/wsvn/pkg-perl/packages/libjson-any-perl/trunk/t/01-JSON.t?rev=5469&op=diff
==============================================================================
--- packages/libjson-any-perl/trunk/t/01-JSON.t (original)
+++ packages/libjson-any-perl/trunk/t/01-JSON.t Fri May 18 23:00:09 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