gitprep / t / age_string.t /
Yuki Kimoto remove /mojo/lib
a050948 8 years ago
2 contributor
41 lines | 2.453kb
use Test::More 'no_plan';

use FindBin;
use lib "$FindBin::Bin/../lib";
use lib "$FindBin::Bin/../extlib/lib/perl5";

use Gitprep::Git;

my @cases = (
  { stimulus =>                           0,     expected => 'right now'     },
  { stimulus =>                           1,     expected => 'a sec ago'     },
  { stimulus =>                          59,     expected => '59 sec ago'    },
  { stimulus =>                          60,     expected => 'a min ago'     },
  { stimulus =>                          60 + 1, expected => 'a min ago'     },
  { stimulus =>                      2 * 60 - 1, expected => 'a min ago'     },
  { stimulus =>                      2 * 60,     expected => '2 min ago'     },
  { stimulus =>                      2 * 60 + 1, expected => '2 min ago'     },
  { stimulus =>                     60 * 60 - 1, expected => '59 min ago'    },
  { stimulus =>                     60 * 60,     expected => 'an hour ago'   },
  { stimulus =>                     60 * 60 + 1, expected => 'an hour ago'   },
  { stimulus =>                     61 * 60,     expected => 'an hour ago'   },
  { stimulus =>                24 * 60 * 60 - 1, expected => '23 hours ago'  },
  { stimulus =>                24 * 60 * 60,     expected => 'a day ago'     },
  { stimulus =>                24 * 60 * 60 + 1, expected => 'a day ago'     },
  { stimulus =>            7 * 24 * 60 * 60 - 1, expected => '6 days ago'    },
  { stimulus =>            7 * 24 * 60 * 60,     expected => 'a week ago'    },
  { stimulus =>            7 * 24 * 60 * 60 + 1, expected => 'a week ago'    },
  { stimulus =>     (365/12) * 24 * 60 * 60 - 1, expected => '4 weeks ago'   },
  { stimulus =>     (365/12) * 24 * 60 * 60,     expected => 'a month ago'   },
  { stimulus =>     (365/12) * 24 * 60 * 60 + 1, expected => 'a month ago'   },
  { stimulus =>      365     * 24 * 60 * 60 - 1, expected => '11 months ago' },
  { stimulus =>      365     * 24 * 60 * 60,     expected => 'a year ago'    },
  { stimulus =>      365     * 24 * 60 * 60 + 1, expected => 'a year ago'    },
  { stimulus =>  2 * 365     * 24 * 60 * 60 - 1, expected => 'a year ago'    },
  { stimulus =>  2 * 365     * 24 * 60 * 60,     expected => '2 years ago'   },
  { stimulus =>  2 * 365     * 24 * 60 * 60 + 1, expected => '2 years ago'   },
);

for ( @cases ) {
  is ( Gitprep::Git->new->_age_string ( $_->{stimulus} ), $_->{expected}, "$_->{stimulus} sec ~ \"$_->{expected}\"" );
}