# ---------------------------------------------------------------- use strict; use Test::More tests => 11; BEGIN { use_ok('XML::FeedPP') }; # ---------------------------------------------------------------- =rfc2822 obs-zone = "UT" / "GMT" / ; Universal Time ; North American UT ; offsets "EST" / "EDT" / ; Eastern: - 5/ - 4 "CST" / "CDT" / ; Central: - 6/ - 5 "MST" / "MDT" / ; Mountain: - 7/ - 6 "PST" / "PDT" / ; Pacific: - 8/ - 7 EDT is semantically equivalent to -0400 EST is semantically equivalent to -0500 CDT is semantically equivalent to -0500 CST is semantically equivalent to -0600 MDT is semantically equivalent to -0600 MST is semantically equivalent to -0700 PDT is semantically equivalent to -0700 PST is semantically equivalent to -0800 =cut # ---------------------------------------------------------------- { my $rfc2822 = { '1200000000' => 'Thu, 10 Jan 2008 21:20:00 GMT', '1210000000' => 'Mon, 05 May 2008 15:06:40 UT', '1220000000' => 'Fri, 29 Aug 2008 08:53:20 EDT', '1230000000' => 'Tue, 23 Dec 2008 02:40:00 EST', '1240000000' => 'Fri, 17 Apr 2009 20:26:40 CDT', '1250000000' => 'Tue, 11 Aug 2009 14:13:20 CST', '1260000000' => 'Sat, 05 Dec 2009 08:00:00 MDT', '1270000000' => 'Wed, 31 Mar 2010 01:46:40 MST', '1280000000' => 'Sat, 24 Jul 2010 19:33:20 PDT', '1290000000' => 'Wed, 17 Nov 2010 13:20:00 PST', }; my $w3cdtf = { '1200000000' => '2008-01-10T21:20:00Z', '1210000000' => '2008-05-05T15:06:40Z', '1220000000' => '2008-08-29T08:53:20-04:00', '1230000000' => '2008-12-23T02:40:00-05:00', '1240000000' => '2009-04-17T20:26:40-05:00', '1250000000' => '2009-08-11T14:13:20-06:00', '1260000000' => '2009-12-05T08:00:00-06:00', '1270000000' => '2010-03-31T01:46:40-07:00', '1280000000' => '2010-07-24T19:33:20-07:00', '1290000000' => '2010-11-17T13:20:00-08:00', }; foreach my $key ( sort keys %$rfc2822 ) { my $input = $rfc2822->{$key}; my $check = $w3cdtf->{$key}; my $out = XML::FeedPP::Util::rfc1123_to_w3cdtf( $input ); $out =~ s/[\+\-]00:00$/Z/; my $name = ( $input =~ /(\w+)$/ )[0]; is( $out, $check, $name ); } } # ---------------------------------------------------------------- ;1; # ----------------------------------------------------------------