From 13c3946986fef46a91260f546d3a2621cd6179ac Mon Sep 17 00:00:00 2001 From: Iain Nash Date: Mon, 23 Apr 2012 23:05:49 -0400 Subject: [PATCH 1/2] Adding ddg UnixTime goodie --- lib/DDG/Goodie/UnixTime.pm | 25 +++++++++++++++++++++++++ t/UnixTime.t | 22 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 lib/DDG/Goodie/UnixTime.pm create mode 100644 t/UnixTime.t diff --git a/lib/DDG/Goodie/UnixTime.pm b/lib/DDG/Goodie/UnixTime.pm new file mode 100644 index 00000000000..a665a8c4f31 --- /dev/null +++ b/lib/DDG/Goodie/UnixTime.pm @@ -0,0 +1,25 @@ +package DDG::Goodie::UnixTime; + +use DDG::Goodie; + +zci answer_type => "time_conversion"; +zci is_cached => 1; +triggers startend => "unixtime", "time", "timestamp", "datetime", "epoch"; + +handle remainder => sub { + + my $time_input = int(length ($_) >= 13 ? ($_ / 1000) : ($_ + 0)); + + if ($time_input >= 0){ + + my $my_time = localtime($time_input); + + return $my_time if $my_time; + + } + + return; + +}; + +1; \ No newline at end of file diff --git a/t/UnixTime.t b/t/UnixTime.t new file mode 100644 index 00000000000..8e808bfee73 --- /dev/null +++ b/t/UnixTime.t @@ -0,0 +1,22 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use Test::More; +use DDG::Test::Goodie; + +zci answer_type => 'time_conversion'; +zci is_cached => 1; + +ddg_goodie_test( + [qw( + DDG::Goodie::UnixTime + )], + 'time 0' => test_zci('Wed Dec 31 19:00:00 1969'), + 'time 1335233773453' => test_zci('Mon Apr 23 22:16:13 2012'), + 'time 1335233773' => test_zci('Mon Apr 23 22:16:13 2012'), + 'time 5325423' => test_zci('Tue Mar 3 10:17:03 1970'), + 'time 53492399294' => test_zci('Sat Feb 7 18:48:14 3665') +); + +done_testing; \ No newline at end of file From fc5780132ee7488444574a09f038909e94655e0b Mon Sep 17 00:00:00 2001 From: Iain Nash Date: Tue, 24 Apr 2012 00:52:16 -0400 Subject: [PATCH 2/2] Adding on the perfix 'Unix Time Conversion: ' to the result --- lib/DDG/Goodie/UnixTime.pm | 4 ++-- t/UnixTime.t | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/DDG/Goodie/UnixTime.pm b/lib/DDG/Goodie/UnixTime.pm index a665a8c4f31..8f6b891cd28 100644 --- a/lib/DDG/Goodie/UnixTime.pm +++ b/lib/DDG/Goodie/UnixTime.pm @@ -14,7 +14,7 @@ handle remainder => sub { my $my_time = localtime($time_input); - return $my_time if $my_time; + return "Unix Time Conversion: " . $my_time if $my_time; } @@ -22,4 +22,4 @@ handle remainder => sub { }; -1; \ No newline at end of file +1; diff --git a/t/UnixTime.t b/t/UnixTime.t index 8e808bfee73..38ad68f8f65 100644 --- a/t/UnixTime.t +++ b/t/UnixTime.t @@ -12,11 +12,11 @@ ddg_goodie_test( [qw( DDG::Goodie::UnixTime )], - 'time 0' => test_zci('Wed Dec 31 19:00:00 1969'), - 'time 1335233773453' => test_zci('Mon Apr 23 22:16:13 2012'), - 'time 1335233773' => test_zci('Mon Apr 23 22:16:13 2012'), - 'time 5325423' => test_zci('Tue Mar 3 10:17:03 1970'), - 'time 53492399294' => test_zci('Sat Feb 7 18:48:14 3665') + 'time 0' => test_zci('Unix Time Conversion: Wed Dec 31 19:00:00 1969'), + 'time 1335233773453' => test_zci('Unix Time Conversion: Mon Apr 23 22:16:13 2012'), + 'time 1335233773' => test_zci('Unix Time Conversion: Mon Apr 23 22:16:13 2012'), + 'time 5325423' => test_zci('Unix Time Conversion: Tue Mar 3 10:17:03 1970'), + 'time 53492399294' => test_zci('Unix Time Conversion: Sat Feb 7 18:48:14 3665') ); -done_testing; \ No newline at end of file +done_testing;