Hello community,

here is the log from the commit of package perl-Time-Duration for 
openSUSE:Factory checked in at 2019-05-13 14:52:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Time-Duration (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Time-Duration.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Time-Duration"

Mon May 13 14:52:27 2019 rev:23 rq:702491 version:1.210000

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Time-Duration/perl-Time-Duration.changes    
2015-04-27 13:04:45.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Time-Duration.new.5148/perl-Time-Duration.changes
  2019-05-13 14:52:28.823081955 +0200
@@ -1,0 +2,11 @@
+Sun May 12 05:31:23 UTC 2019 - Stephan Kulow <co...@suse.com>
+
+- updated to 1.21
+   see /usr/share/doc/packages/perl-Time-Duration/Changes
+
+  1.21 2019-05-11 NEILB
+      - Added Time::Elapsed to SEE ALSO, suggested by Ron Savage in RT#122186.
+      - Updated AUTHOR section to reflect that Neil Bowers is current 
maintainer.
+      - Extended testsuite so there's full code coverage (not pod yet).
+
+-------------------------------------------------------------------

Old:
----
  Time-Duration-1.20.tar.gz

New:
----
  Time-Duration-1.21.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Time-Duration.spec ++++++
--- /var/tmp/diff_new_pack.HKycJo/_old  2019-05-13 14:52:29.379083355 +0200
+++ /var/tmp/diff_new_pack.HKycJo/_new  2019-05-13 14:52:29.387083375 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Time-Duration
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,21 +12,21 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           perl-Time-Duration
-Version:        1.200000
+Version:        1.210000
 Release:        0
-%define cpan_version 1.20
-Provides:       perl(Time::Duration) = 1.200000
+%define cpan_version 1.21
+Provides:       perl(Time::Duration) = 1.210000
 %define cpan_name Time-Duration
-Summary:        Rounded or Exact English Expression of Durations
-License:        Artistic-1.0 or GPL-1.0+
+Summary:        Rounded or exact English expression of durations
+License:        Artistic-1.0 OR GPL-1.0-or-later
 Group:          Development/Libraries/Perl
-Url:            http://search.cpan.org/dist/Time-Duration/
-Source0:        
http://www.cpan.org/authors/id/N/NE/NEILB/%{cpan_name}-%{cpan_version}.tar.gz
+Url:            https://metacpan.org/release/%{cpan_name}
+Source0:        
https://cpan.metacpan.org/authors/id/N/NE/NEILB/%{cpan_name}-%{cpan_version}.tar.gz
 Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -65,11 +65,11 @@
 %setup -q -n %{cpan_name}-%{cpan_version}
 
 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor
-%{__make} %{?_smp_mflags}
+perl Makefile.PL INSTALLDIRS=vendor
+make %{?_smp_mflags}
 
 %check
-%{__make} test
+make test
 
 %install
 %perl_make_install
@@ -78,6 +78,7 @@
 
 %files -f %{name}.files
 %defattr(-,root,root,755)
-%doc Changes LICENSE README
+%doc Changes README
+%license LICENSE
 
 %changelog

++++++ Time-Duration-1.20.tar.gz -> Time-Duration-1.21.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/Changes 
new/Time-Duration-1.21/Changes
--- old/Time-Duration-1.20/Changes      2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/Changes      2019-05-11 18:09:07.000000000 +0200
@@ -1,5 +1,10 @@
 Revision history for Perl module Time::Duration
 
+1.21 2019-05-11 NEILB
+    - Added Time::Elapsed to SEE ALSO, suggested by Ron Savage in RT#122186.
+    - Updated AUTHOR section to reflect that Neil Bowers is current maintainer.
+    - Extended testsuite so there's full code coverage (not pod yet).
+
 1.20 2015-04-25 NEILB
     - Switched to Dist::Zilla, in the process fixing RT#90701, RT#101548,
       and RT#101434
@@ -10,20 +15,20 @@
       release to see what CPAN Testers said.
 
 1.1 2013-04-02 AVIF
-       - Adding millisecond support.
+    - Adding millisecond support.
 
 1.06 2007-08-19 AVIF
-       - Fixing Makefile
+    - Fixing Makefile
 
 1.04 2006-07-23 AVIF
     - Reorganizing tests
 
 1.03 2006-02-28 AVIF
-       - Updating new maintainer information (AVIF took over from SBURKE)
+    - Updating new maintainer information (AVIF took over from SBURKE)
 
 1.02 2002-10-08 SBURKE
     - added concise().
-       
+
 1.01 2001-10-25 SBURKE
     - First release to CPAN
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/MANIFEST 
new/Time-Duration-1.21/MANIFEST
--- old/Time-Duration-1.20/MANIFEST     2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/MANIFEST     2019-05-11 18:09:07.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v5.032.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest 
v6.011.
 Changes
 LICENSE
 MANIFEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/META.json 
new/Time-Duration-1.21/META.json
--- old/Time-Duration-1.20/META.json    2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/META.json    2019-05-11 18:09:07.000000000 +0200
@@ -4,13 +4,13 @@
       "Sean M Burke <sbu...@cpan.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.032, CPAN::Meta::Converter version 
2.150001",
+   "generated_by" : "Dist::Zilla version 6.011, CPAN::Meta::Converter version 
2.150005",
    "license" : [
       "perl_5"
    ],
    "meta-spec" : {
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
-      "version" : "2"
+      "version" : 2
    },
    "name" : "Time-Duration",
    "prereqs" : {
@@ -43,6 +43,7 @@
          "web" : "https://github.com/neilbowers/Time-Duration";
       }
    },
-   "version" : "1.20"
+   "version" : "1.21",
+   "x_serialization_backend" : "Cpanel::JSON::XS version 3.0217"
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/META.yml 
new/Time-Duration-1.21/META.yml
--- old/Time-Duration-1.20/META.yml     2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/META.yml     2019-05-11 18:09:07.000000000 +0200
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.032, CPAN::Meta::Converter version 
2.150001'
+generated_by: 'Dist::Zilla version 6.011, CPAN::Meta::Converter version 
2.150005'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,4 +22,5 @@
 resources:
   homepage: https://github.com/neilbowers/Time-Duration
   repository: https://github.com/neilbowers/Time-Duration.git
-version: '1.20'
+version: '1.21'
+x_serialization_backend: 'YAML::Tiny version 1.62'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/Makefile.PL 
new/Time-Duration-1.21/Makefile.PL
--- old/Time-Duration-1.20/Makefile.PL  2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/Makefile.PL  2019-05-11 18:09:07.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v5.032.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker 
v6.011.
 use strict;
 use warnings;
 
@@ -13,7 +13,6 @@
     "ExtUtils::MakeMaker" => 0
   },
   "DISTNAME" => "Time-Duration",
-  "EXE_FILES" => [],
   "LICENSE" => "perl",
   "MIN_PERL_VERSION" => "5.006",
   "NAME" => "Time::Duration",
@@ -26,7 +25,7 @@
   "TEST_REQUIRES" => {
     "Test" => 0
   },
-  "VERSION" => "1.20",
+  "VERSION" => "1.21",
   "test" => {
     "TESTS" => "t/*.t"
   }
@@ -35,7 +34,6 @@
 
 my %FallbackPrereqs = (
   "Exporter" => 0,
-  "ExtUtils::MakeMaker" => 0,
   "Test" => 0,
   "constant" => 0,
   "strict" => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/README 
new/Time-Duration-1.21/README
--- old/Time-Duration-1.20/README       2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/README       2019-05-11 18:09:07.000000000 +0200
@@ -1,7 +1,5 @@
-
-
 This archive contains the distribution Time-Duration,
-version 1.20:
+version 1.21:
 
   rounded or exact English expression of durations
 
@@ -11,5 +9,4 @@
 the same terms as the Perl 5 programming language system itself.
 
 
-This README file was generated by Dist::Zilla::Plugin::Readme v5.032.
-
+This README file was generated by Dist::Zilla::Plugin::Readme v6.011.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/dist.ini 
new/Time-Duration-1.21/dist.ini
--- old/Time-Duration-1.20/dist.ini     2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/dist.ini     2019-05-11 18:09:07.000000000 +0200
@@ -4,7 +4,7 @@
 copyright_holder = Sean M Burke
 copyright_year   = 2001
 
-version = 1.20
+version = 1.21
 
 [@Basic]
 [PkgVersion]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/lib/Time/Duration.pm 
new/Time-Duration-1.21/lib/Time/Duration.pm
--- old/Time-Duration-1.20/lib/Time/Duration.pm 2015-04-25 10:45:49.000000000 
+0200
+++ new/Time-Duration-1.21/lib/Time/Duration.pm 2019-05-11 18:09:07.000000000 
+0200
@@ -1,5 +1,5 @@
 package Time::Duration;
-$Time::Duration::VERSION = '1.20';
+$Time::Duration::VERSION = '1.21';
 use 5.006;
 use strict;
 use warnings;
@@ -31,22 +31,14 @@
   return $string;
 }
 
-sub later {
-  interval(      $_[0], $_[1], ' earlier', ' later', 'right then'); }
-sub later_exact {
-  interval_exact($_[0], $_[1], ' earlier', ' later', 'right then'); }
-sub earlier {
-  interval(      $_[0], $_[1], ' later', ' earlier', 'right then'); }
-sub earlier_exact {
-  interval_exact($_[0], $_[1], ' later', ' earlier', 'right then'); }
-sub ago {
-  interval(      $_[0], $_[1], ' from now', ' ago', 'right now'); }
-sub ago_exact {
-  interval_exact($_[0], $_[1], ' from now', ' ago', 'right now'); }
-sub from_now {
-  interval(      $_[0], $_[1], ' ago', ' from now', 'right now'); }
-sub from_now_exact {
-  interval_exact($_[0], $_[1], ' ago', ' from now', 'right now'); }
+sub later          { interval(      $_[0], $_[1], ' earlier',  ' later',    
'right then'); }
+sub later_exact    { interval_exact($_[0], $_[1], ' earlier',  ' later',    
'right then'); }
+sub earlier        { interval(      $_[0], $_[1], ' later',    ' earlier',  
'right then'); }
+sub earlier_exact  { interval_exact($_[0], $_[1], ' later',    ' earlier',  
'right then'); }
+sub ago            { interval(      $_[0], $_[1], ' from now', ' ago',      
'right now');  }
+sub ago_exact      { interval_exact($_[0], $_[1], ' from now', ' ago',      
'right now');  }
+sub from_now       { interval(      $_[0], $_[1], ' ago',      ' from now', 
'right now');  }
+sub from_now_exact { interval_exact($_[0], $_[1], ' ago',      ' from now', 
'right now');  }
 
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 sub duration_exact {
@@ -441,6 +433,9 @@
 
 =head1 SEE ALSO
 
+L<Time::Elapsed> - similarly converts durations to natural language,
+but in addition to English also supports Danish, German, French, and Turkish.
+
 L<Date::Interval|Date::Interval>, which is similarly named, but does
 something rather different.
 
@@ -465,8 +460,11 @@
 
 =head1 AUTHOR
 
-Current maintainer Avi Finkel, C<a...@finkel.org>; Original author
-Sean M. Burke, C<sbu...@cpan.org>
+Original author Sean M. Burke, C<sbu...@cpan.org>.
+
+Then maintained by Avi Finkel, C<a...@finkel.org>.
+
+Currently maintained by Neil Bowers, C<ne...@cpan.org>.
 
 =cut
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/t/01_tdur.t 
new/Time-Duration-1.21/t/01_tdur.t
--- old/Time-Duration-1.20/t/01_tdur.t  2015-04-25 10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/t/01_tdur.t  2019-05-11 18:09:07.000000000 +0200
@@ -5,7 +5,7 @@
 use Test;
 
 my @them;
-BEGIN { plan('tests' => 135) };
+BEGIN { plan('tests' => 230) };
 BEGIN { print "# Perl version $] under $^O\n" }
 
 use Time::Duration;
@@ -20,6 +20,7 @@
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 print "# Basic tests...\n";
 
+ok( sub{duration(    )}, '0 seconds');
 ok( sub{duration(   0)}, '0 seconds');
 ok( sub{duration(   1)}, '1 second');
 ok( sub{duration(  -1)}, '1 second');
@@ -42,144 +43,226 @@
 
  
  #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ # TODO: Make these table-driven. But first, get the coverage sorted.
 print "# Advanced tests...\n";
 
 my $v;  #scratch var
 
 $v = 0;
-ok(sub {later(       $v   )}, 'right then');
-ok(sub {later(       $v, 3)}, 'right then');
-ok(sub {later_exact( $v   )}, 'right then');
+ok(sub {later(          $v   )}, 'right then');
+ok(sub {later(          $v, 3)}, 'right then');
+ok(sub {later_exact(    $v   )}, 'right then');
+ok(sub {earlier_exact(  $v   )}, 'right then');
+ok(sub {ago_exact(      $v   )}, 'right now');
+ok(sub {from_now_exact( $v   )}, 'right now');
 
 $v = 1;
-ok(sub {later(       $v   )}, '1 second later');
-ok(sub {later(       $v, 3)}, '1 second later');
-ok(sub {later_exact( $v   )}, '1 second later');
+ok(sub {later(          $v   )}, '1 second later');
+ok(sub {later(          $v, 3)}, '1 second later');
+ok(sub {later_exact(    $v   )}, '1 second later');
+ok(sub {earlier_exact(  $v   )}, '1 second earlier');
+ok(sub {ago_exact(      $v   )}, '1 second ago');
+ok(sub {from_now_exact( $v   )}, '1 second from now');
 
 $v = 30;
-ok(sub {later(       $v   )}, '30 seconds later');
-ok(sub {later(       $v, 3)}, '30 seconds later');
-ok(sub {later_exact( $v   )}, '30 seconds later');
+ok(sub {later(          $v   )}, '30 seconds later');
+ok(sub {later(          $v, 3)}, '30 seconds later');
+ok(sub {later_exact(    $v   )}, '30 seconds later');
+ok(sub {earlier_exact(  $v   )}, '30 seconds earlier');
+ok(sub {ago_exact(      $v   )}, '30 seconds ago');
+ok(sub {from_now_exact( $v   )}, '30 seconds from now');
 
 $v = 46;
-ok(sub {later(       $v   )}, '46 seconds later');
-ok(sub {later(       $v, 3)}, '46 seconds later');
-ok(sub {later_exact( $v   )}, '46 seconds later');
+ok(sub {later(          $v   )}, '46 seconds later');
+ok(sub {later(          $v, 3)}, '46 seconds later');
+ok(sub {later_exact(    $v   )}, '46 seconds later');
+ok(sub {earlier_exact(  $v   )}, '46 seconds earlier');
+ok(sub {ago_exact(      $v   )}, '46 seconds ago');
+ok(sub {from_now_exact( $v   )}, '46 seconds from now');
 
 $v = 59;
-ok(sub {later(       $v   )}, '59 seconds later');
-ok(sub {later(       $v, 3)}, '59 seconds later');
-ok(sub {later_exact( $v   )}, '59 seconds later');
+ok(sub {later(          $v   )}, '59 seconds later');
+ok(sub {later(          $v, 3)}, '59 seconds later');
+ok(sub {later_exact(    $v   )}, '59 seconds later');
+ok(sub {earlier_exact(  $v   )}, '59 seconds earlier');
+ok(sub {ago_exact(      $v   )}, '59 seconds ago');
+ok(sub {from_now_exact( $v   )}, '59 seconds from now');
 
 $v = 61;
-ok(sub {later(       $v   )}, '1 minute and 1 second later');
-ok(sub {later(       $v, 3)}, '1 minute and 1 second later');
-ok(sub {later_exact( $v   )}, '1 minute and 1 second later');
+ok(sub {later(         $v   )}, '1 minute and 1 second later');
+ok(sub {later(         $v, 3)}, '1 minute and 1 second later');
+ok(sub {later_exact(   $v   )}, '1 minute and 1 second later');
+ok(sub {earlier_exact( $v   )}, '1 minute and 1 second earlier');
+ok(sub {ago_exact( $v   )}, '1 minute and 1 second ago');
+ok(sub {from_now_exact( $v   )}, '1 minute and 1 second from now');
 
 $v = 3599;
-ok(sub {later(       $v   )}, '59 minutes and 59 seconds later');
-ok(sub {later(       $v, 3)}, '59 minutes and 59 seconds later');
-ok(sub {later_exact( $v   )}, '59 minutes and 59 seconds later');
+ok(sub {later(         $v   )}, '59 minutes and 59 seconds later');
+ok(sub {later(         $v, 3)}, '59 minutes and 59 seconds later');
+ok(sub {later_exact(   $v   )}, '59 minutes and 59 seconds later');
+ok(sub {earlier_exact( $v   )}, '59 minutes and 59 seconds earlier');
+ok(sub {ago_exact( $v   )}, '59 minutes and 59 seconds ago');
+ok(sub {from_now_exact( $v   )}, '59 minutes and 59 seconds from now');
 
 $v = 3600;
-ok(sub {later(       $v   )}, '1 hour later');
-ok(sub {later(       $v, 3)}, '1 hour later');
-ok(sub {later_exact( $v   )}, '1 hour later');
+ok(sub {later(         $v   )}, '1 hour later');
+ok(sub {later(         $v, 3)}, '1 hour later');
+ok(sub {later_exact(   $v   )}, '1 hour later');
+ok(sub {earlier_exact( $v   )}, '1 hour earlier');
+ok(sub {ago_exact( $v   )}, '1 hour ago');
+ok(sub {from_now_exact( $v   )}, '1 hour from now');
 
 $v = 3601;
-ok(sub {later(       $v   )}, '1 hour and 1 second later');
-ok(sub {later(       $v, 3)}, '1 hour and 1 second later');
-ok(sub {later_exact( $v   )}, '1 hour and 1 second later');
+ok(sub {later(         $v   )}, '1 hour and 1 second later');
+ok(sub {later(         $v, 3)}, '1 hour and 1 second later');
+ok(sub {later_exact(   $v   )}, '1 hour and 1 second later');
+ok(sub {earlier_exact( $v   )}, '1 hour and 1 second earlier');
+ok(sub {ago_exact( $v   )}, '1 hour and 1 second ago');
+ok(sub {from_now_exact( $v   )}, '1 hour and 1 second from now');
 
 $v = 3630;
-ok(sub {later(       $v   )}, '1 hour and 30 seconds later');
-ok(sub {later(       $v, 3)}, '1 hour and 30 seconds later');
-ok(sub {later_exact( $v   )}, '1 hour and 30 seconds later');
+ok(sub {later(         $v   )}, '1 hour and 30 seconds later');
+ok(sub {later(         $v, 3)}, '1 hour and 30 seconds later');
+ok(sub {later_exact(   $v   )}, '1 hour and 30 seconds later');
+ok(sub {earlier_exact( $v   )}, '1 hour and 30 seconds earlier');
+ok(sub {ago_exact( $v   )}, '1 hour and 30 seconds ago');
+ok(sub {from_now_exact( $v   )}, '1 hour and 30 seconds from now');
 
 $v = 3800;
-ok(sub {later(       $v   )}, '1 hour and 3 minutes later');
-ok(sub {later(       $v, 3)}, '1 hour, 3 minutes, and 20 seconds later');
-ok(sub {later_exact( $v   )}, '1 hour, 3 minutes, and 20 seconds later');
+ok(sub {later(         $v   )}, '1 hour and 3 minutes later');
+ok(sub {later(         $v, 3)}, '1 hour, 3 minutes, and 20 seconds later');
+ok(sub {later_exact(   $v   )}, '1 hour, 3 minutes, and 20 seconds later');
+ok(sub {earlier_exact( $v   )}, '1 hour, 3 minutes, and 20 seconds earlier');
+ok(sub {ago_exact( $v   )}, '1 hour, 3 minutes, and 20 seconds ago');
+ok(sub {from_now_exact( $v   )}, '1 hour, 3 minutes, and 20 seconds from now');
 
 $v = 3820;
-ok(sub {later(       $v   )}, '1 hour and 4 minutes later');
-ok(sub {later(       $v, 3)}, '1 hour, 3 minutes, and 40 seconds later');
-ok(sub {later_exact( $v   )}, '1 hour, 3 minutes, and 40 seconds later');
+ok(sub {later(         $v   )}, '1 hour and 4 minutes later');
+ok(sub {later(         $v, 3)}, '1 hour, 3 minutes, and 40 seconds later');
+ok(sub {later_exact(   $v   )}, '1 hour, 3 minutes, and 40 seconds later');
+ok(sub {earlier_exact( $v   )}, '1 hour, 3 minutes, and 40 seconds earlier');
+ok(sub {ago_exact( $v   )}, '1 hour, 3 minutes, and 40 seconds ago');
+ok(sub {from_now_exact( $v   )}, '1 hour, 3 minutes, and 40 seconds from now');
 
 $v = DAY + - HOUR + -28;
-ok(sub {later(       $v   )}, '23 hours later');
-ok(sub {later(       $v, 3)}, '22 hours, 59 minutes, and 32 seconds later');
-ok(sub {later_exact( $v   )}, '22 hours, 59 minutes, and 32 seconds later');
+ok(sub {later(         $v   )}, '23 hours later');
+ok(sub {later(         $v, 3)}, '22 hours, 59 minutes, and 32 seconds later');
+ok(sub {later_exact(   $v   )}, '22 hours, 59 minutes, and 32 seconds later');
+ok(sub {earlier_exact( $v   )}, '22 hours, 59 minutes, and 32 seconds 
earlier');
+ok(sub {ago_exact( $v   )}, '22 hours, 59 minutes, and 32 seconds ago');
+ok(sub {from_now_exact( $v   )}, '22 hours, 59 minutes, and 32 seconds from 
now');
 
 $v = DAY + - HOUR + MINUTE;
-ok(sub {later(       $v   )}, '23 hours and 1 minute later');
-ok(sub {later(       $v, 3)}, '23 hours and 1 minute later');
-ok(sub {later_exact( $v   )}, '23 hours and 1 minute later');
+ok(sub {later(         $v   )}, '23 hours and 1 minute later');
+ok(sub {later(         $v, 3)}, '23 hours and 1 minute later');
+ok(sub {later_exact(   $v   )}, '23 hours and 1 minute later');
+ok(sub {earlier_exact( $v   )}, '23 hours and 1 minute earlier');
+ok(sub {ago_exact( $v   )}, '23 hours and 1 minute ago');
+ok(sub {from_now_exact( $v   )}, '23 hours and 1 minute from now');
 
 $v = DAY + - HOUR + 29 * MINUTE + 1;
-ok(sub {later(       $v   )}, '23 hours and 29 minutes later');
-ok(sub {later(       $v, 3)}, '23 hours, 29 minutes, and 1 second later');
-ok(sub {later_exact( $v   )}, '23 hours, 29 minutes, and 1 second later');
+ok(sub {later(         $v   )}, '23 hours and 29 minutes later');
+ok(sub {later(         $v, 3)}, '23 hours, 29 minutes, and 1 second later');
+ok(sub {later_exact(   $v   )}, '23 hours, 29 minutes, and 1 second later');
+ok(sub {earlier_exact( $v   )}, '23 hours, 29 minutes, and 1 second earlier');
+ok(sub {ago_exact( $v   )}, '23 hours, 29 minutes, and 1 second ago');
+ok(sub {from_now_exact( $v   )}, '23 hours, 29 minutes, and 1 second from 
now');
 
 $v = DAY + - HOUR + 29 * MINUTE + 31;
-ok(sub {later(       $v   )}, '23 hours and 30 minutes later');
-ok(sub {later(       $v, 3)}, '23 hours, 29 minutes, and 31 seconds later');
-ok(sub {later_exact( $v   )}, '23 hours, 29 minutes, and 31 seconds later');
+ok(sub {later(         $v   )}, '23 hours and 30 minutes later');
+ok(sub {later(         $v, 3)}, '23 hours, 29 minutes, and 31 seconds later');
+ok(sub {later_exact(   $v   )}, '23 hours, 29 minutes, and 31 seconds later');
+ok(sub {earlier_exact( $v   )}, '23 hours, 29 minutes, and 31 seconds 
earlier');
+ok(sub {ago_exact( $v   )}, '23 hours, 29 minutes, and 31 seconds ago');
+ok(sub {from_now_exact( $v   )}, '23 hours, 29 minutes, and 31 seconds from 
now');
 
 $v = DAY + - HOUR + 30 * MINUTE + 31;
-ok(sub {later(       $v   )}, '23 hours and 31 minutes later');
-ok(sub {later(       $v, 3)}, '23 hours, 30 minutes, and 31 seconds later');
-ok(sub {later_exact( $v   )}, '23 hours, 30 minutes, and 31 seconds later');
+ok(sub {later(         $v   )}, '23 hours and 31 minutes later');
+ok(sub {later(         $v, 3)}, '23 hours, 30 minutes, and 31 seconds later');
+ok(sub {later_exact(   $v   )}, '23 hours, 30 minutes, and 31 seconds later');
+ok(sub {earlier_exact( $v   )}, '23 hours, 30 minutes, and 31 seconds 
earlier');
+ok(sub {ago_exact( $v   )}, '23 hours, 30 minutes, and 31 seconds ago');
+ok(sub {from_now_exact( $v   )}, '23 hours, 30 minutes, and 31 seconds from 
now');
 
 $v = DAY + - HOUR + -28 + YEAR;
-ok(sub {later(       $v   )}, '1 year and 23 hours later');
-ok(sub {later(       $v, 3)}, '1 year and 23 hours later');
-ok(sub {later_exact( $v   )}, '1 year, 22 hours, 59 minutes, and 32 seconds 
later');
+ok(sub {later(         $v   )}, '1 year and 23 hours later');
+ok(sub {later(         $v, 3)}, '1 year and 23 hours later');
+ok(sub {later_exact(   $v   )}, '1 year, 22 hours, 59 minutes, and 32 seconds 
later');
+ok(sub {earlier_exact( $v   )}, '1 year, 22 hours, 59 minutes, and 32 seconds 
earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 22 hours, 59 minutes, and 32 seconds 
ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 22 hours, 59 minutes, and 32 seconds 
from now');
 
 $v = DAY + - HOUR + MINUTE + YEAR;
-ok(sub {later(       $v   )}, '1 year and 23 hours later');
-ok(sub {later(       $v, 3)}, '1 year, 23 hours, and 1 minute later');
-ok(sub {later_exact( $v   )}, '1 year, 23 hours, and 1 minute later');
+ok(sub {later(         $v   )}, '1 year and 23 hours later');
+ok(sub {later(         $v, 3)}, '1 year, 23 hours, and 1 minute later');
+ok(sub {later_exact(   $v   )}, '1 year, 23 hours, and 1 minute later');
+ok(sub {earlier_exact( $v   )}, '1 year, 23 hours, and 1 minute earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 23 hours, and 1 minute ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 23 hours, and 1 minute from now');
 
 $v = DAY + - HOUR + 29 * MINUTE + 1 + YEAR;
-ok(sub {later(       $v   )}, '1 year and 23 hours later');
-ok(sub {later(       $v, 3)}, '1 year, 23 hours, and 29 minutes later');
-ok(sub {later_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 1 second 
later');
+ok(sub {later(         $v   )}, '1 year and 23 hours later');
+ok(sub {later(         $v, 3)}, '1 year, 23 hours, and 29 minutes later');
+ok(sub {later_exact(   $v   )}, '1 year, 23 hours, 29 minutes, and 1 second 
later');
+ok(sub {earlier_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 1 second 
earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 1 second ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 1 second 
from now');
 
 $v = DAY + - HOUR + 29 * MINUTE + 31 + YEAR;
-ok(sub {later(       $v   )}, '1 year and 23 hours later');
-ok(sub {later(       $v, 3)}, '1 year, 23 hours, and 30 minutes later');
-ok(sub {later_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 31 seconds 
later');
+ok(sub {later(         $v   )}, '1 year and 23 hours later');
+ok(sub {later(         $v, 3)}, '1 year, 23 hours, and 30 minutes later');
+ok(sub {later_exact(   $v   )}, '1 year, 23 hours, 29 minutes, and 31 seconds 
later');
+ok(sub {earlier_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 31 seconds 
earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 31 seconds 
ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 23 hours, 29 minutes, and 31 seconds 
from now');
 
 $v = YEAR + 2 * HOUR + -1;
-ok(sub {later(       $v   )}, '1 year and 2 hours later');
-ok(sub {later(       $v, 3)}, '1 year and 2 hours later');
-ok(sub {later_exact( $v   )}, '1 year, 1 hour, 59 minutes, and 59 seconds 
later');
+ok(sub {later(         $v   )}, '1 year and 2 hours later');
+ok(sub {later(         $v, 3)}, '1 year and 2 hours later');
+ok(sub {later_exact(   $v   )}, '1 year, 1 hour, 59 minutes, and 59 seconds 
later');
+ok(sub {earlier_exact( $v   )}, '1 year, 1 hour, 59 minutes, and 59 seconds 
earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 1 hour, 59 minutes, and 59 seconds ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 1 hour, 59 minutes, and 59 seconds 
from now');
 
 $v = YEAR + 2 * HOUR + 59;
-ok(sub {later(       $v   )}, '1 year and 2 hours later');
-ok(sub {later(       $v, 3)}, '1 year, 2 hours, and 59 seconds later');
-ok(sub {later_exact( $v   )}, '1 year, 2 hours, and 59 seconds later');
+ok(sub {later(         $v   )}, '1 year and 2 hours later');
+ok(sub {later(         $v, 3)}, '1 year, 2 hours, and 59 seconds later');
+ok(sub {later_exact(   $v   )}, '1 year, 2 hours, and 59 seconds later');
+ok(sub {earlier_exact( $v   )}, '1 year, 2 hours, and 59 seconds earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 2 hours, and 59 seconds ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 2 hours, and 59 seconds from now');
 
 $v = YEAR + DAY + 2 * HOUR + -1;
-ok(sub {later(       $v   )}, '1 year and 1 day later');
-ok(sub {later(       $v, 3)}, '1 year, 1 day, and 2 hours later');
-ok(sub {later_exact( $v   )}, '1 year, 1 day, 1 hour, 59 minutes, and 59 
seconds later');
+ok(sub {later(         $v   )}, '1 year and 1 day later');
+ok(sub {later(         $v, 3)}, '1 year, 1 day, and 2 hours later');
+ok(sub {later_exact(   $v   )}, '1 year, 1 day, 1 hour, 59 minutes, and 59 
seconds later');
+ok(sub {earlier_exact( $v   )}, '1 year, 1 day, 1 hour, 59 minutes, and 59 
seconds earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 1 day, 1 hour, 59 minutes, and 59 seconds 
ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 1 day, 1 hour, 59 minutes, and 59 
seconds from now');
 
 $v = YEAR + DAY + 2 * HOUR + 59;
-ok(sub {later(       $v   )}, '1 year and 1 day later');
-ok(sub {later(       $v, 3)}, '1 year, 1 day, and 2 hours later');
-ok(sub {later_exact( $v   )}, '1 year, 1 day, 2 hours, and 59 seconds later');
+ok(sub {later(         $v   )}, '1 year and 1 day later');
+ok(sub {later(         $v, 3)}, '1 year, 1 day, and 2 hours later');
+ok(sub {later_exact(   $v   )}, '1 year, 1 day, 2 hours, and 59 seconds 
later');
+ok(sub {earlier_exact( $v   )}, '1 year, 1 day, 2 hours, and 59 seconds 
earlier');
+ok(sub {ago_exact( $v   )}, '1 year, 1 day, 2 hours, and 59 seconds ago');
+ok(sub {from_now_exact( $v   )}, '1 year, 1 day, 2 hours, and 59 seconds from 
now');
 
 $v = YEAR + - DAY + - 1;
-ok(sub {later(       $v   )}, '364 days later');
-ok(sub {later(       $v, 3)}, '364 days later');
-ok(sub {later_exact( $v   )}, '363 days, 23 hours, 59 minutes, and 59 seconds 
later');
+ok(sub {later(         $v   )}, '364 days later');
+ok(sub {later(         $v, 3)}, '364 days later');
+ok(sub {later_exact(   $v   )}, '363 days, 23 hours, 59 minutes, and 59 
seconds later');
+ok(sub {earlier_exact( $v   )}, '363 days, 23 hours, 59 minutes, and 59 
seconds earlier');
+ok(sub {ago_exact( $v   )}, '363 days, 23 hours, 59 minutes, and 59 seconds 
ago');
+ok(sub {from_now_exact( $v   )}, '363 days, 23 hours, 59 minutes, and 59 
seconds from now');
 
 $v = YEAR + - 1;
-ok(sub {later(       $v   )}, '1 year later');
-ok(sub {later(       $v, 3)}, '1 year later');
-ok(sub {later_exact( $v   )}, '364 days, 23 hours, 59 minutes, and 59 seconds 
later');
+ok(sub {later(         $v   )}, '1 year later');
+ok(sub {later(         $v, 3)}, '1 year later');
+ok(sub {later_exact(   $v   )}, '364 days, 23 hours, 59 minutes, and 59 
seconds later');
+ok(sub {earlier_exact( $v   )}, '364 days, 23 hours, 59 minutes, and 59 
seconds earlier');
+ok(sub {ago_exact( $v   )}, '364 days, 23 hours, 59 minutes, and 59 seconds 
ago');
+ok(sub {from_now_exact( $v   )}, '364 days, 23 hours, 59 minutes, and 59 
seconds from now');
 
 
 
@@ -193,6 +276,21 @@
 ok(sub {duration_exact(-$v   )}, '1 year, 1 day, 2 hours, and 59 seconds');
 
 
+# miscellaneous edge cases
+ok(duration_exact(0,0),'0 seconds');
+ok(duration_exact(0,1),'0 seconds');
+ok(duration(0.001),'just now');
+ok(Time::Duration::interval(63,2,' ago',' from now','just now'),'1 minute and 
3 seconds from now');
+ok(Time::Duration::interval(-63,2,' ago',' from now','just now'),'1 minute and 
3 seconds ago');
+ok(Time::Duration::interval(0,2,' ago',' from now','just now'),'just now');
+ok(Time::Duration::interval(1515,2,' ago',' from now','just now'),'25 minutes 
and 15 seconds from now');
+ok(Time::Duration::interval(1515,1,' ago',' from now','just now'),'25 minutes 
from now');
+ok(Time::Duration::interval_exact(63,2,' ago',' from now','just now'),'1 
minute and 3 seconds from now');
+ok(Time::Duration::interval_exact(-63,2,' ago',' from now','just now'),'1 
minute and 3 seconds ago');
+ok(Time::Duration::interval_exact(0,2,' ago',' from now','just now'),'just 
now');
+ok(Time::Duration::interval_exact(1515,2,' ago',' from now','just now'),'25 
minutes and 15 seconds from now');
+ok(Time::Duration::interval_exact(1515,1,' ago',' from now','just now'),'25 
minutes and 15 seconds from now');
+
 #~~~~~~~~
 
 print "# Some tests of concise() ...\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/t/release-02_pod.t 
new/Time-Duration-1.21/t/release-02_pod.t
--- old/Time-Duration-1.20/t/release-02_pod.t   2015-04-25 10:45:49.000000000 
+0200
+++ new/Time-Duration-1.21/t/release-02_pod.t   2019-05-11 18:09:07.000000000 
+0200
@@ -1,8 +1,8 @@
 
 BEGIN {
   unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate 
testing');
+    print qq{1..0 # SKIP these tests are for release candidate testing\n};
+    exit
   }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Time-Duration-1.20/t/release-03_pod_cover.t 
new/Time-Duration-1.21/t/release-03_pod_cover.t
--- old/Time-Duration-1.20/t/release-03_pod_cover.t     2015-04-25 
10:45:49.000000000 +0200
+++ new/Time-Duration-1.21/t/release-03_pod_cover.t     2019-05-11 
18:09:07.000000000 +0200
@@ -1,8 +1,8 @@
 
 BEGIN {
   unless ($ENV{RELEASE_TESTING}) {
-    require Test::More;
-    Test::More::plan(skip_all => 'these tests are for release candidate 
testing');
+    print qq{1..0 # SKIP these tests are for release candidate testing\n};
+    exit
   }
 }
 


Reply via email to