The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 07
MANIFEST 11
META.json 44
META.yml 33
Makefile.PL 22
README 11
lib/CPAN/Meta/Requirements.pm 44
t/basic.t 018
t/strings.t 015
9 files changed (This is a version diff) 1555
@@ -1,5 +1,12 @@
 Revision history for CPAN-Meta-Requirements
 
+2.132     2015-01-22 17:09:19-05:00 America/New_York
+
+    [FIXED]
+
+    - Precision of version requirement "0.00" is preserved when merging
+      requirements.
+
 2.131     2014-12-23 15:04:19-05:00 America/New_York
 
     [ENHANCEMENTS]
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.029.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.031.
 CONTRIBUTING.mkdn
 Changes
 LICENSE
@@ -5,13 +5,13 @@
       "Ricardo Signes <rjbs@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.029, CPAN::Meta::Converter version 2.142690",
+   "generated_by" : "Dist::Zilla version 5.031, CPAN::Meta::Converter version 2.143240",
    "license" : [
       "perl_5"
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
-      "version" : "2"
+      "version" : 2
    },
    "name" : "CPAN-Meta-Requirements",
    "no_index" : {
@@ -77,7 +77,7 @@
    "provides" : {
       "CPAN::Meta::Requirements" : {
          "file" : "lib/CPAN/Meta/Requirements.pm",
-         "version" : "2.131"
+         "version" : "2.132"
       }
    },
    "release_status" : "stable",
@@ -92,7 +92,7 @@
          "web" : "https://github.com/dagolden/CPAN-Meta-Requirements"
       }
    },
-   "version" : "2.131",
+   "version" : "2.132",
    "x_authority" : "cpan:DAGOLDEN",
    "x_contributors" : [
       "Ed J <mohawk2@users.noreply.github.com>",
@@ -13,7 +13,7 @@ configure_requires:
   ExtUtils::MakeMaker: '6.17'
   perl: '5.006'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.029, CPAN::Meta::Converter version 2.142690'
+generated_by: 'Dist::Zilla version 5.031, CPAN::Meta::Converter version 2.143240'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -30,7 +30,7 @@ no_index:
 provides:
   CPAN::Meta::Requirements:
     file: lib/CPAN/Meta/Requirements.pm
-    version: '2.131'
+    version: '2.132'
 requires:
   B: '0'
   Carp: '0'
@@ -42,7 +42,7 @@ resources:
   bugtracker: https://github.com/dagolden/CPAN-Meta-Requirements/issues
   homepage: https://github.com/dagolden/CPAN-Meta-Requirements
   repository: https://github.com/dagolden/CPAN-Meta-Requirements.git
-version: '2.131'
+version: '2.132'
 x_authority: cpan:DAGOLDEN
 x_contributors:
   - 'Ed J <mohawk2@users.noreply.github.com>'
@@ -1,5 +1,5 @@
 
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.029.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.031.
 use strict;
 use warnings;
 
@@ -33,7 +33,7 @@ my %WriteMakefileArgs = (
     "Test::More" => "0.88",
     "version" => "0.88"
   },
-  "VERSION" => "2.131",
+  "VERSION" => "2.132",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -2,7 +2,7 @@ NAME
     CPAN::Meta::Requirements - a set of version requirements for a CPAN dist
 
 VERSION
-    version 2.131
+    version 2.132
 
 SYNOPSIS
       use CPAN::Meta::Requirements;
@@ -3,7 +3,7 @@ use warnings;
 package CPAN::Meta::Requirements;
 # ABSTRACT: a set of version requirements for a CPAN dist
 
-our $VERSION = '2.131';
+our $VERSION = '2.132';
 
 #pod =head1 SYNOPSIS
 #pod
@@ -119,7 +119,7 @@ sub _version_object {
   }
 
   eval {
-    if (not defined $version or $version eq '0') {
+    if (not defined $version or (!ref($version) && $version eq '0')) {
       $vobj = $V0;
     }
     elsif ( ref($version) eq 'version' || _isa_version($version) ) {
@@ -229,7 +229,7 @@ BEGIN {
 sub add_minimum {
   my ($self, $name, $version) = @_;
 
-  if (not defined $version or $version eq '0') {
+  if (not defined $version or (!ref($version) && $version eq '0')) {
     return $self if $self->__entry_for($name);
     Carp::confess("can't add new requirements to finalized requirements")
       if $self->is_finalized;
@@ -787,7 +787,7 @@ CPAN::Meta::Requirements - a set of version requirements for a CPAN dist
 
 =head1 VERSION
 
-version 2.131
+version 2.132
 
 =head1 SYNOPSIS
 
@@ -233,4 +233,22 @@ sub foo_1 {
   is ( $scalar, undef, "requirements_for_module() returns undef for not found (scalar)" );
 }
 
+{
+  my $req = CPAN::Meta::Requirements->new;
+
+  $req->add_minimum(Foo => "0.00");
+
+  my $req2 = CPAN::Meta::Requirements->new;
+  $req2->add_requirements($req);
+
+  is_deeply(
+    $req2->as_string_hash,
+    {
+      Foo => '0.00'
+    },
+    "0.00 precision preserved",
+  );
+
+}
+
 done_testing;
@@ -55,6 +55,21 @@ ok(!$req->accepts_module('A::Tribe::Called' => '1.2'), 'lower version (>=, <=, !
 ok(!$req->accepts_module('A::Tribe::Called' => '2.1'), 'higher version (>=, <=, !)');
 ok(!$req->accepts_module('A::Tribe::Called' => '1.6'), 'excluded version (>=, <=, !)');
 
+# Test precision
+{
+  my $req = CPAN::Meta::Requirements->new;
+
+  $req->add_string_requirement(Foo => "0.00");
+
+  is_deeply(
+    $req->as_string_hash,
+    {
+      Foo => '0.00'
+    },
+    "0.00 precision preserved",
+  );
+}
+
 # Test fatal errors
 dies_ok { $req->add_string_requirement('Foo::Bar', "not really a version") }
   qr/Can't convert/,