The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!perl

use strict;
use warnings;

use Test::Most;

plan qw/no_plan/;

use DateTimeX::Easy;

my $yyy = (localtime(time))[5] + 1900;

for (split m/\n/, <<_END_) {
1994-06-16T07:29:35 @ -0600 | Wed, 16 Jun 94 07:29:35 CST
1994-10-13T10:13:13 @ -0700 | Thu, 13 Oct 94 10:13:13 -0700
1994-11-09T09:50:32 @ -0500 | Wed, 9 Nov 1994 09:50:32 -0500 (EST)
$yyy-12-21T17:05:00 | 21 dec 17:05
$yyy-12-21T17:05:00 | 21-dec 17:05
$yyy-12-21T17:05:00 | 21/dec 17:05
1993-12-21T17:05:00 | 21/dec/93 17:05
1999-01-01T10:02:18 @ UTC | 1999 10:02:18 "GMT"
1994-11-16T22:28:20 @ -0800 | 16 Nov 94 22:28:20 PST
_END_
    next if m/^\s*#/;
    my ($want, $from) = split m/\s*\|\s*/, $_, 2;
    my ($want_dt, $want_tz) = split m/\s*\@\s*/, $want, 2;
    $want_tz ||= "floating";

    my $dt = DateTimeX::Easy->new($from);
    is($dt, $want_dt);
    is($dt->time_zone->name, $want_tz);
}