2012-09-27 23:24:30 -07:00
|
|
|
#!/usr/bin/env perl
|
|
|
|
|
|
|
|
use strict;
|
|
|
|
use warnings;
|
|
|
|
use Test::More;
|
|
|
|
use DDG::Test::Goodie;
|
2014-11-02 03:31:30 -08:00
|
|
|
use Test::MockTime qw( :all );
|
2012-09-27 23:24:30 -07:00
|
|
|
|
|
|
|
zci answer_type => 'timezone_converter';
|
2014-10-28 06:05:56 -07:00
|
|
|
zci is_cached => 1;
|
2012-09-27 23:24:30 -07:00
|
|
|
|
|
|
|
ddg_goodie_test(
|
|
|
|
['DDG::Goodie::TimezoneConverter'],
|
2012-09-28 01:17:20 -07:00
|
|
|
'3:14 in GMT' =>
|
2014-10-28 11:36:15 -07:00
|
|
|
test_zci('3:14 (UTC) is 3:14 (GMT).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['3:14 in GMT'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '3:14 (UTC) is 3:14 (GMT).',
|
|
|
|
},
|
|
|
|
),
|
2014-10-28 06:05:56 -07:00
|
|
|
'8:10 AM AZOST into CAT' =>
|
|
|
|
test_zci('8:10 AM (AZOST, UTC-1) is 11:10 AM (CAT, UTC+2).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['8:10 AM AZOST into CAT'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '8:10 AM (AZOST, UTC-1) is 11:10 AM (CAT, UTC+2).',
|
|
|
|
},
|
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
'1pm EDT into UTC+2' =>
|
2014-10-28 06:05:56 -07:00
|
|
|
test_zci('1:00 PM (EDT, UTC-4) is 7:00 PM (UTC+2).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['1pm EDT into UTC+2'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '1:00 PM (EDT, UTC-4) is 7:00 PM (UTC+2).',
|
|
|
|
},
|
|
|
|
),
|
2012-09-30 10:35:11 -07:00
|
|
|
'0pm into GMT' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('Noon (UTC) is noon (GMT).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['0pm into GMT'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => 'Noon (UTC) is noon (GMT).',
|
|
|
|
},
|
|
|
|
),
|
2012-09-30 10:35:11 -07:00
|
|
|
'0am into UTC' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('Midnight (UTC) is midnight (UTC).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['0am into UTC'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => 'Midnight (UTC) is midnight (UTC).',
|
|
|
|
},
|
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
'1 into UTC -2 ' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('1:00 (UTC) is 23:00, 1 day prior (UTC-2).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['1 into UTC -2'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '1:00 (UTC) is 23:00, 1 day prior (UTC-2).',
|
|
|
|
},
|
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
' 1 into UTC-1' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('1:00 (UTC) is 0:00 (UTC-1).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['1 into UTC-1'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '1:00 (UTC) is 0:00 (UTC-1).',
|
|
|
|
},
|
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
'21 FNT into EET' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('21:00 (FNT, UTC-2) is 1:00, 1 day after (EET, UTC+2).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['21 FNT into EET'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '21:00 (FNT, UTC-2) is 1:00, 1 day after (EET, UTC+2).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
'23:00:00 InTo UTC+1' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('23:00 (UTC) is 0:00, 1 day after (UTC+1).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['23:00:00 InTo UTC+1'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '23:00 (UTC) is 0:00, 1 day after (UTC+1).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
'23:00:01 Into UTC+1' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('23:00:01 (UTC) is 0:00:01, 1 day after (UTC+1).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['23:00:01 Into UTC+1'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '23:00:01 (UTC) is 0:00:01, 1 day after (UTC+1).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
'13:15:00 UTC-0:30 into UTC+0:30' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('13:15 (UTC-0:30) is 13:15 (UTC+0:30).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['13:15:00 UTC-0:30 into UTC+0:30'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '13:15 (UTC-0:30) is 13:15 (UTC+0:30).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
# ok, this is unlikely to happen without trying to do that
|
|
|
|
'19:42:42 BIT into GMT+100' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('19:42:42 (BIT, UTC-12) is 11:42:42, 5 days after (GMT+100).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['19:42:42 BIT into GMT+100'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '19:42:42 (BIT, UTC-12) is 11:42:42, 5 days after (GMT+100).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
'19:42:42 CHADT into GMT-100' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('19:42:42 (CHADT, UTC+13:45) is 1:57:42, 4 days prior (GMT-100).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['19:42:42 CHADT into GMT-100'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '19:42:42 (CHADT, UTC+13:45) is 1:57:42, 4 days prior (GMT-100).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2014-10-28 11:36:15 -07:00
|
|
|
'10:00AM MST to PST' =>
|
2014-10-28 06:05:56 -07:00
|
|
|
test_zci('10:00 AM (MST, UTC-7) is 9:00 AM (PST, UTC-8).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['10:00AM MST to PST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '10:00 AM (MST, UTC-7) is 9:00 AM (PST, UTC-8).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2014-10-28 11:36:15 -07:00
|
|
|
'19:00 UTC to EST' =>
|
2014-10-15 12:26:57 -07:00
|
|
|
test_zci('19:00 (UTC) is 14:00 (EST, UTC-5).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['19:00 UTC to EST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '19:00 (UTC) is 14:00 (EST, UTC-5).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2014-10-28 11:36:15 -07:00
|
|
|
'1am UTC to PST' =>
|
2014-10-28 06:05:56 -07:00
|
|
|
test_zci('1:00 AM (UTC) is 5:00 PM, 1 day prior (PST, UTC-8).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['1am UTC to PST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '1:00 AM (UTC) is 5:00 PM, 1 day prior (PST, UTC-8).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2014-09-12 08:12:26 -07:00
|
|
|
'12:40pm PST into JST' =>
|
2014-10-28 06:05:56 -07:00
|
|
|
test_zci('12:40 PM (PST, UTC-8) is 5:40 AM, 1 day after (JST, UTC+9).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12:40pm PST into JST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '12:40 PM (PST, UTC-8) is 5:40 AM, 1 day after (JST, UTC+9).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2014-09-12 08:12:26 -07:00
|
|
|
'12:40 pm from PST to JST' =>
|
2014-10-28 06:05:56 -07:00
|
|
|
test_zci('12:40 PM (PST, UTC-8) is 5:40 AM, 1 day after (JST, UTC+9).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12:40 pm from PST to JST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '12:40 PM (PST, UTC-8) is 5:40 AM, 1 day after (JST, UTC+9).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2014-10-15 12:11:50 -07:00
|
|
|
'11:22am est in utc' =>
|
2014-10-28 06:05:56 -07:00
|
|
|
test_zci('11:22 AM (EST, UTC-5) is 4:22 PM (UTC).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['11:22am est in utc'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '11:22 AM (EST, UTC-5) is 4:22 PM (UTC).',
|
|
|
|
},
|
2014-10-15 12:26:57 -07:00
|
|
|
),
|
2015-02-06 12:42:14 -08:00
|
|
|
'1600 UTC in BST' =>
|
|
|
|
test_zci('16:00 (UTC) is 17:00 (BST, UTC+1).',
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['1600 UTC in BST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => '16:00 (UTC) is 17:00 (BST, UTC+1).',
|
|
|
|
},
|
2015-02-06 12:42:14 -08:00
|
|
|
),
|
|
|
|
|
2014-11-02 03:31:30 -08:00
|
|
|
# Intentional non-answers
|
|
|
|
'12 in binary' => undef,
|
|
|
|
);
|
|
|
|
|
|
|
|
# Summertime
|
|
|
|
my $test_location_tz = qr/\(EDT, UTC-4\)/;
|
|
|
|
set_fixed_time("2014-10-14T00:00:00");
|
|
|
|
ddg_goodie_test(
|
|
|
|
['DDG::Goodie::TimezoneConverter'],
|
2014-10-28 06:05:56 -07:00
|
|
|
# Location-specific tests (variable with DST)
|
2014-10-28 05:57:28 -07:00
|
|
|
'13:00 GMT in my time' =>
|
|
|
|
test_zci(qr/13:00 \(GMT\) is 9:00 $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['13:00 GMT in my time'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/13:00 \(GMT\) is 9:00 $test_location_tz/,
|
|
|
|
},
|
2014-10-28 05:57:28 -07:00
|
|
|
),
|
|
|
|
'11:22am cest in my timezone' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/11:22 AM \(CEST, UTC\+2\) is 5:22 AM $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['11:22am cest in my timezone'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/11:22 AM \(CEST, UTC\+2\) is 5:22 AM $test_location_tz/,
|
|
|
|
},
|
2014-10-28 05:57:28 -07:00
|
|
|
),
|
2014-10-28 07:04:01 -07:00
|
|
|
'11:22am cest in localtime' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/11:22 AM \(CEST, UTC\+2\) is 5:22 AM $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['11:22am cest in localtime'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/11:22 AM \(CEST, UTC\+2\) is 5:22 AM $test_location_tz/,
|
|
|
|
},
|
2014-10-28 07:04:01 -07:00
|
|
|
),
|
|
|
|
'11:22am cest in my local timezone' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/11:22 AM \(CEST, UTC\+2\) is 5:22 AM $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['11:22am cest in my local timezone'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/11:22 AM \(CEST, UTC\+2\) is 5:22 AM $test_location_tz/,
|
|
|
|
},
|
2014-10-28 07:04:01 -07:00
|
|
|
),
|
2014-10-28 05:57:28 -07:00
|
|
|
'12pm my time in CEST' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Noon $test_location_tz is 6:00 PM \(CEST, UTC\+2\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12pm my time in CEST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Noon $test_location_tz is 6:00 PM \(CEST, UTC\+2\)./,
|
|
|
|
},
|
2014-10-28 05:57:28 -07:00
|
|
|
),
|
2014-10-28 07:04:01 -07:00
|
|
|
'12pm local timezone in CEST' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Noon $test_location_tz is 6:00 PM \(CEST, UTC\+2\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12pm local timezone in CEST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Noon $test_location_tz is 6:00 PM \(CEST, UTC\+2\)./,
|
|
|
|
},
|
2014-10-28 07:04:01 -07:00
|
|
|
),
|
2014-10-28 05:57:28 -07:00
|
|
|
'12am my timezone in UTC' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Midnight $test_location_tz is 4:00 AM \(UTC\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12am my timezone in UTC'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Midnight $test_location_tz is 4:00 AM \(UTC\)./,
|
|
|
|
},
|
2014-10-28 05:57:28 -07:00
|
|
|
),
|
2014-10-28 07:04:01 -07:00
|
|
|
'12am local time in UTC' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Midnight $test_location_tz is 4:00 AM \(UTC\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12am local time in UTC'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Midnight $test_location_tz is 4:00 AM \(UTC\)./,
|
|
|
|
},
|
2014-10-28 07:04:01 -07:00
|
|
|
),
|
2014-11-02 03:31:30 -08:00
|
|
|
);
|
|
|
|
restore_time();
|
|
|
|
|
|
|
|
set_fixed_time("2014-11-02T11:00:00");
|
|
|
|
$test_location_tz = qr/\(EST, UTC-5\)/;
|
|
|
|
ddg_goodie_test(
|
|
|
|
['DDG::Goodie::TimezoneConverter'],
|
|
|
|
# Location-specific tests (variable with DST)
|
|
|
|
'13:00 GMT in my time' =>
|
|
|
|
test_zci(qr/13:00 \(GMT\) is 8:00 $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['13:00 GMT in my time'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/13:00 \(GMT\) is 8:00 $test_location_tz/,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
|
|
|
'11:22am cest in my timezone' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/11:22 AM \(CEST, UTC\+2\) is 4:22 AM $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['11:22am cest in my timezone'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/11:22 AM \(CEST, UTC\+2\) is 4:22 AM $test_location_tz/,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
|
|
|
'11:22am cest in localtime' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/11:22 AM \(CEST, UTC\+2\) is 4:22 AM $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['11:22am cest in localtime'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/11:22 AM \(CEST, UTC\+2\) is 4:22 AM $test_location_tz/,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
|
|
|
'11:22am cest in my local timezone' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/11:22 AM \(CEST, UTC\+2\) is 4:22 AM $test_location_tz/,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['11:22am cest in my local timezone'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/11:22 AM \(CEST, UTC\+2\) is 4:22 AM $test_location_tz/,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
|
|
|
'12pm my time in CEST' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Noon $test_location_tz is 7:00 PM \(CEST, UTC\+2\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12pm my time in CEST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Noon $test_location_tz is 7:00 PM \(CEST, UTC\+2\)./,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
|
|
|
'12pm local timezone in CEST' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Noon $test_location_tz is 7:00 PM \(CEST, UTC\+2\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12pm local timezone in CEST'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Noon $test_location_tz is 7:00 PM \(CEST, UTC\+2\)./,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
|
|
|
'12am my timezone in UTC' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Midnight $test_location_tz is 5:00 AM \(UTC\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12am my timezone in UTC'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Midnight $test_location_tz is 5:00 AM \(UTC\)./,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
|
|
|
'12am local time in UTC' =>
|
2014-11-02 03:37:29 -08:00
|
|
|
test_zci(qr/Midnight $test_location_tz is 5:00 AM \(UTC\)./,
|
2015-07-19 21:56:50 -07:00
|
|
|
structured_answer => {
|
|
|
|
input => ['12am local time in UTC'],
|
|
|
|
operation => 'Convert Timezone',
|
|
|
|
result => qr/Midnight $test_location_tz is 5:00 AM \(UTC\)./,
|
|
|
|
},
|
2014-11-02 03:31:30 -08:00
|
|
|
),
|
2012-09-27 23:24:30 -07:00
|
|
|
);
|
|
|
|
|
2014-11-02 03:31:30 -08:00
|
|
|
restore_time();
|
2012-09-27 23:24:30 -07:00
|
|
|
done_testing;
|