DateTime-Format-Strptime-1.79/0000775000175000017500000000000014043574012016043 5ustar autarchautarchDateTime-Format-Strptime-1.79/bench0000644000175000017500000002241514043574012017047 0ustar autarchautarchpackage main; use strict; use warnings; use utf8; use Benchmark qw( timethese ); use DateTime::Format::Strptime; use Try::Tiny; use Test::More; use Test::Fatal; timethese( 100, { test => \&test } ); sub test { for my $test ( _tests_from_data() ) { subtest( qq{$test->{name}}, sub { _utf8_output(); my $parser; is( exception { $parser = DateTime::Format::Strptime->new( pattern => $test->{pattern}, ( $test->{locale} ? ( locale => $test->{locale} ) : () ), on_error => 'croak', ); }, undef, "no exception building parser for $test->{pattern}" ) or return; # Thursday changed from "Thu" to "Thu." and December went from # "Dec" to "Dec." between CLDR versions. $test->{input} =~ s/AU_THU/DateTime::Locale->load('en-AU')->day_format_abbreviated->[3]/e; $test->{input} =~ s/AU_DEC/DateTime::Locale->load('en-AU')->month_format_abbreviated->[11]/e; ( my $real_input = $test->{input} ) =~ s/\\n/\n/g; my $dt; is( exception { $dt = $parser->parse_datetime( $real_input ) }, undef, "no exception parsing $test->{input}" ) or return; _test_dt_methods( $dt, $test->{expect} ); unless ( $test->{skip_round_trip} ) { is( $parser->format_datetime($dt), $real_input, 'round trip via strftime produces original input' ); } } ); } subtest( 'parsing whitespace', sub { my $parser = DateTime::Format::Strptime->new( pattern => '%n%Y%t%m%n', on_error => 'croak', ); my $dt = $parser->parse_datetime(<<"EOF"); \t 2015 12 EOF my %expect = ( year => 2015, month => 12, ); _test_dt_methods( $dt, \%expect ); } ); subtest( 'parser time zone is set on returned object', sub { my $parser = DateTime::Format::Strptime->new( pattern => '%Y %H:%M:%S %Z', time_zone => 'America/New_York', on_error => 'croak', ); my $dt = $parser->parse_datetime('2003 23:45:56 MDT'); my %expect = ( year => 2003, hour => 0, minute => 45, second => 56, time_zone_long_name => 'America/New_York', ); _test_dt_methods( $dt, \%expect ); } ); } my $d; sub _tests_from_data { my @tests; $d ||= do { local $/; }; my $test_re = qr/ \[(.+?)\]\n # test name (.+?)\n # pattern (.+?)\n # input (?:locale\ =\ (.+?)\n)? # optional locale (skip\ round\ trip\n)? # skip a round trip? (.+?)\n # k-v pairs for expected values (?:\n|\z) # end of test /xs; while ( $d =~ /$test_re/g ) { push @tests, { name => $1, pattern => $2, input => $3, locale => $4, skip_round_trip => $5, expect => { map { split /\s+=>\s+/ } split /\n/, $6, }, }; } return @tests; } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } sub _test_dt_methods { my $dt = shift; my $expect = shift; for my $meth ( sort keys %{$expect} ) { is( $dt->$meth, $expect->{$meth}, "$meth is $expect->{$meth}" ); } } __DATA__ [ISO8601] %Y-%m-%dT%H:%M:%S 2015-10-08T15:39:44 year => 2015 month => 10 day => 8 hour => 15 minute => 39 second => 44 [date with 4-digit year] %Y-%m-%d 1998-12-31 year => 1998 month => 12 day => 31 [date with 2-digit year] %y-%m-%d 98-12-31 year => 1998 month => 12 day => 31 [date with leading space on month] %e-%b-%Y 3-Jun-2010 year => 2010 month => 6 day => 3 [year and day of year] %Y years %j days 1998 years 312 days year => 1998 month => 11 day => 8 [date with abbreviated month] %b %d %Y Jan 24 2003 year => 2003 month => 1 day => 24 [date with abbreviated month is case-insensitive] %b %d %Y jAN 24 2003 skip round trip year => 2003 month => 1 day => 24 [date with full month] %B %d %Y January 24 2003 year => 2003 month => 1 day => 24 [date with full month is case-insensitive] %B %d %Y jAnUAry 24 2003 skip round trip year => 2003 month => 1 day => 24 [24 hour time] %H:%M:%S 23:45:56 year => 1 month => 1 day => 1 hour => 23 minute => 45 second => 56 [12 hour time (PM)] %l:%M:%S %p 11:45:56 PM year => 1 month => 1 day => 1 hour => 23 minute => 45 second => 56 [12 hour time (am) and am/pm is case-insensitive] %l:%M:%S %p 11:45:56 am skip round trip year => 1 month => 1 day => 1 hour => 11 minute => 45 second => 56 [24-hour time] %T 23:34:45 hour => 23 minute => 34 second => 45 [12-hour time] %r 11:34:45 PM hour => 23 minute => 34 second => 45 [24-hour time without second] %R 23:34 hour => 23 minute => 34 second => 0 [US style date] %D 11/30/03 year => 2003 month => 11 day => 30 [ISO style date] %F 2003-11-30 year => 2003 month => 11 day => 30 [nanosecond with no length] %H:%M:%S.%N 23:45:56.123456789 hour => 23 minute => 45 second => 56 nanosecond => 123456789 [nanosecond with length of 6] %H:%M:%S.%6N 23:45:56.123456 hour => 23 minute => 45 second => 56 nanosecond => 123456000 [nanosecond with length of 3] %H:%M:%S.%3N 23:45:56.123 hour => 23 minute => 45 second => 56 nanosecond => 123000000 [nanosecond with no length but < 9 digits] %H:%M:%S.%N 23:45:56.543 skip round trip hour => 23 minute => 45 second => 56 nanosecond => 543000000 [time zone as numeric offset] %H:%M:%S %z 23:45:56 +1000 hour => 23 minute => 45 second => 56 offset => 36000 [time zone as abbreviation] %H:%M:%S %Z 23:45:56 AEST skip round trip hour => 23 minute => 45 second => 56 offset => 36000 [time zone as Olson name] %H:%M:%S %O 23:45:56 America/Chicago hour => 23 minute => 45 second => 56 time_zone_long_name => America/Chicago [escaped percent] %Y%%%m%%%d 2015%05%14 year => 2015 month => 5 day => 14 [escaped percent followed by letter token] %Y%%%m%%%d%%H 2015%05%14%H year => 2015 month => 5 day => 14 [every pattern] %a %b %B %C %d %e %h %H %I %j %k %l %m %M %n %N %O %p %P %S %U %u %w %W %y %Y %s %G %g %z %Z %%Y %% Wed Nov November 20 05 5 Nov 21 09 309 21 9 11 34 \n 123456789 America/Denver PM pm 45 44 3 3 44 03 2003 1068093285 2003 03 -0700 MST %Y % year => 2003 month => 11 day => 5 hour => 21 minute => 34 second => 45 nanosecond => 123456789 time_zone_long_name => America/Denver [Australian date] %x 31/12/98 locale = en-AU skip round trip year => 1998 month => 12 day => 31 [Australian time] %X 13:34:56 locale = en-AU skip round trip hour => 13 minute => 34 second => 56 [Australian date/time] %c AU_THU 31 AU_DEC 1998 13:34:56 AEDT locale = en-AU skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 offset => 39600 [US date] %x 12/31/1998 locale = en-US skip round trip year => 1998 month => 12 day => 31 [US time] %X 01:34:56 PM locale = en-US skip round trip hour => 13 minute => 34 second => 56 [US date/time] %c Thu 31 Dec 1998 01:34:56 PM MST locale = en-US skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 offset => -25200 [UK date] %x 31/12/98 locale = en-GB skip round trip year => 1998 month => 12 day => 31 [UK time] %X 13:34:56 locale = en-GB skip round trip hour => 13 minute => 34 second => 56 [UK date/time] %c Thu 31 Dec 1998 13:34:56 GMT locale = en-GB skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 offset => 0 [French (France) date] %x 31/12/1998 locale = fr-FR skip round trip year => 1998 month => 12 day => 31 [French (France) time] %X 13:34:56 locale = fr-FR skip round trip hour => 13 minute => 34 second => 56 [French (France) date/time] %c jeu. 31 Déc. 1998 13:34:56 CEST locale = fr-FR skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 offset => 7200 [French (Generic) date] %x 12/31/98 locale = fr skip round trip year => 1998 month => 12 day => 31 [French (Generic) time] %X 13:34:56 locale = fr skip round trip hour => 13 minute => 34 second => 56 [French (Generic) date/time] %c jeu. Déc. 31 13:34:56 1998 locale = fr skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 [epoch without time zone] %s 42 epoch => 42 time_zone_long_name => floating [epoch with time zone] %s %Z 42 UTC epoch => 42 offset => 0 [epoch with nanosecond] %s %N 42 000000034 epoch => 42 nanosecond => 34 DateTime-Format-Strptime-1.79/Makefile.PL0000644000175000017500000000470714043574012020023 0ustar autarchautarch# This Makefile.PL for DateTime-Format-Strptime was generated by # Dist::Zilla::Plugin::DROLSKY::MakeMaker 1.18 # and Dist::Zilla::Plugin::MakeMaker::Awesome 0.48. # Don't edit it but the dist.ini and plugins used to construct it. use strict; use warnings; use ExtUtils::MakeMaker; my %WriteMakefileArgs = ( "ABSTRACT" => "Parse and format strp and strf time patterns", "AUTHOR" => "Dave Rolsky , Rick Measham ", "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => 0 }, "DISTNAME" => "DateTime-Format-Strptime", "LICENSE" => "artistic_2", "NAME" => "DateTime::Format::Strptime", "PREREQ_PM" => { "Carp" => 0, "DateTime" => "1.00", "DateTime::Locale" => "1.30", "DateTime::Locale::Base" => 0, "DateTime::Locale::FromData" => 0, "DateTime::TimeZone" => "2.09", "Exporter" => 0, "Params::ValidationCompiler" => 0, "Specio" => "0.33", "Specio::Declare" => 0, "Specio::Exporter" => 0, "Specio::Library::Builtins" => 0, "Specio::Library::String" => 0, "Try::Tiny" => 0, "constant" => 0, "parent" => 0, "strict" => 0, "warnings" => 0 }, "TEST_REQUIRES" => { "ExtUtils::MakeMaker" => 0, "File::Spec" => 0, "FindBin" => 0, "Test::Builder" => 0, "Test::Fatal" => 0, "Test::More" => "0.96", "Test::Warnings" => 0, "lib" => 0, "utf8" => 0 }, "VERSION" => "1.79", "test" => { "TESTS" => "t/*.t" } ); my %FallbackPrereqs = ( "Carp" => 0, "DateTime" => "1.00", "DateTime::Locale" => "1.30", "DateTime::Locale::Base" => 0, "DateTime::Locale::FromData" => 0, "DateTime::TimeZone" => "2.09", "Exporter" => 0, "ExtUtils::MakeMaker" => 0, "File::Spec" => 0, "FindBin" => 0, "Params::ValidationCompiler" => 0, "Specio" => "0.33", "Specio::Declare" => 0, "Specio::Exporter" => 0, "Specio::Library::Builtins" => 0, "Specio::Library::String" => 0, "Test::Builder" => 0, "Test::Fatal" => 0, "Test::More" => "0.96", "Test::Warnings" => 0, "Try::Tiny" => 0, "constant" => 0, "lib" => 0, "parent" => 0, "strict" => 0, "utf8" => 0, "warnings" => 0 ); unless ( eval { ExtUtils::MakeMaker->VERSION('6.63_03') } ) { delete $WriteMakefileArgs{TEST_REQUIRES}; delete $WriteMakefileArgs{BUILD_REQUIRES}; $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs; } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); DateTime-Format-Strptime-1.79/META.yml0000644000175000017500000006054314043574012017322 0ustar autarchautarch--- abstract: 'Parse and format strp and strf time patterns' author: - 'Dave Rolsky ' - 'Rick Measham ' build_requires: ExtUtils::MakeMaker: '0' File::Spec: '0' FindBin: '0' Test::Builder: '0' Test::Fatal: '0' Test::More: '0.96' Test::Warnings: '0' lib: '0' utf8: '0' configure_requires: ExtUtils::MakeMaker: '0' dynamic_config: 0 generated_by: 'Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010' license: artistic_2 meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: DateTime-Format-Strptime provides: DateTime::Format::Strptime: file: lib/DateTime/Format/Strptime.pm version: '1.79' DateTime::Format::Strptime::Types: file: lib/DateTime/Format/Strptime/Types.pm version: '1.79' requires: Carp: '0' DateTime: '1.00' DateTime::Locale: '1.30' DateTime::Locale::Base: '0' DateTime::Locale::FromData: '0' DateTime::TimeZone: '2.09' Exporter: '0' Params::ValidationCompiler: '0' Specio: '0.33' Specio::Declare: '0' Specio::Exporter: '0' Specio::Library::Builtins: '0' Specio::Library::String: '0' Try::Tiny: '0' constant: '0' parent: '0' strict: '0' warnings: '0' resources: MailingList: datetime@perl.org bugtracker: https://github.com/houseabsolute/DateTime-Format-Strptime/issues homepage: https://metacpan.org/release/DateTime-Format-Strptime repository: git://github.com/houseabsolute/DateTime-Format-Strptime.git version: '1.79' x_Dist_Zilla: perl: version: '5.030001' plugins: - class: Dist::Zilla::Plugin::DROLSKY::BundleAuthordep name: '@DROLSKY/DROLSKY::BundleAuthordep' version: '1.18' - class: Dist::Zilla::Plugin::Git::GatherDir config: Dist::Zilla::Plugin::GatherDir: exclude_filename: - CODE_OF_CONDUCT.md - CONTRIBUTING.md - LICENSE - Makefile.PL - README.md - cpanfile exclude_match: [] follow_symlinks: 0 include_dotfiles: 0 prefix: '' prune_directory: [] root: . Dist::Zilla::Plugin::Git::GatherDir: include_untracked: 0 name: '@DROLSKY/Git::GatherDir' version: '2.047' - class: Dist::Zilla::Plugin::ManifestSkip name: '@DROLSKY/ManifestSkip' version: '6.017' - class: Dist::Zilla::Plugin::License name: '@DROLSKY/License' version: '6.017' - class: Dist::Zilla::Plugin::ExecDir name: '@DROLSKY/ExecDir' version: '6.017' - class: Dist::Zilla::Plugin::ShareDir name: '@DROLSKY/ShareDir' version: '6.017' - class: Dist::Zilla::Plugin::Manifest name: '@DROLSKY/Manifest' version: '6.017' - class: Dist::Zilla::Plugin::CheckVersionIncrement name: '@DROLSKY/CheckVersionIncrement' version: '0.121750' - class: Dist::Zilla::Plugin::TestRelease name: '@DROLSKY/TestRelease' version: '6.017' - class: Dist::Zilla::Plugin::ConfirmRelease name: '@DROLSKY/ConfirmRelease' version: '6.017' - class: Dist::Zilla::Plugin::UploadToCPAN name: '@DROLSKY/UploadToCPAN' version: '6.017' - class: Dist::Zilla::Plugin::VersionFromMainModule config: Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000037' version: '0.006' name: '@DROLSKY/VersionFromMainModule' version: '0.04' - class: Dist::Zilla::Plugin::Authority name: '@DROLSKY/Authority' version: '1.009' - class: Dist::Zilla::Plugin::AutoPrereqs name: '@DROLSKY/AutoPrereqs' version: '6.017' - class: Dist::Zilla::Plugin::CopyFilesFromBuild name: '@DROLSKY/CopyFilesFromBuild' version: '0.170880' - class: Dist::Zilla::Plugin::GitHub::Meta name: '@DROLSKY/GitHub::Meta' version: '0.48' - class: Dist::Zilla::Plugin::GitHub::Update config: Dist::Zilla::Plugin::GitHub::Update: metacpan: 1 name: '@DROLSKY/GitHub::Update' version: '0.48' - class: Dist::Zilla::Plugin::MetaResources name: '@DROLSKY/MetaResources' version: '6.017' - class: Dist::Zilla::Plugin::MetaProvides::Package config: Dist::Zilla::Plugin::MetaProvides::Package: finder_objects: - class: Dist::Zilla::Plugin::FinderCode name: '@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM' version: '6.017' include_underscores: 0 Dist::Zilla::Role::MetaProvider::Provider: $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004' inherit_missing: '1' inherit_version: '1' meta_noindex: '1' Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000037' version: '0.006' name: '@DROLSKY/MetaProvides::Package' version: '2.004003' - class: Dist::Zilla::Plugin::Meta::Contributors name: '@DROLSKY/Meta::Contributors' version: '0.003' - class: Dist::Zilla::Plugin::MetaConfig name: '@DROLSKY/MetaConfig' version: '6.017' - class: Dist::Zilla::Plugin::MetaJSON name: '@DROLSKY/MetaJSON' version: '6.017' - class: Dist::Zilla::Plugin::MetaYAML name: '@DROLSKY/MetaYAML' version: '6.017' - class: Dist::Zilla::Plugin::NextRelease name: '@DROLSKY/NextRelease' version: '6.017' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: test type: requires name: '@DROLSKY/Test::More with subtest' version: '6.017' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: '@DROLSKY/Tools for use with precious' version: '6.017' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: '@DROLSKY/Test::Version which fixes https://github.com/plicease/Test-Version/issues/7' version: '6.017' - class: Dist::Zilla::Plugin::PromptIfStale config: Dist::Zilla::Plugin::PromptIfStale: check_all_plugins: 0 check_all_prereqs: 0 modules: - Dist::Zilla::PluginBundle::DROLSKY phase: build run_under_travis: 0 skip: [] name: '@DROLSKY/Dist::Zilla::PluginBundle::DROLSKY' version: '0.057' - class: Dist::Zilla::Plugin::PromptIfStale config: Dist::Zilla::Plugin::PromptIfStale: check_all_plugins: 1 check_all_prereqs: 1 modules: [] phase: release run_under_travis: 0 skip: - Dist::Zilla::Plugin::DROLSKY::BundleAuthordep - Dist::Zilla::Plugin::DROLSKY::Contributors - Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch - Dist::Zilla::Plugin::DROLSKY::License - Dist::Zilla::Plugin::DROLSKY::MakeMaker - Dist::Zilla::Plugin::DROLSKY::PerlLinterConfigFiles - Dist::Zilla::Plugin::DROLSKY::Precious - Dist::Zilla::Plugin::DROLSKY::Role::CoreCounter - Dist::Zilla::Plugin::DROLSKY::RunExtraTests - Dist::Zilla::Plugin::DROLSKY::Test::Precious - Dist::Zilla::Plugin::DROLSKY::WeaverConfig - Pod::Weaver::PluginBundle::DROLSKY name: '@DROLSKY/PromptIfStale' version: '0.057' - class: Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable name: '@DROLSKY/Test::Pod::Coverage::Configurable' version: '0.07' - class: Dist::Zilla::Plugin::Test::PodSpelling config: Dist::Zilla::Plugin::Test::PodSpelling: directories: - bin - lib spell_cmd: '' stopwords: - DROLSKY - "DROLSKY's" - Measham - POSIX - PayPal - Rolsky - Rolsky - "Rolsky's" - STRPTIME - drolsky - errmsg - formatter - strf - strp - strptime wordlist: Pod::Wordlist name: '@DROLSKY/Test::PodSpelling' version: '2.007005' - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@DROLSKY/PodSyntaxTests' version: '6.017' - class: Dist::Zilla::Plugin::DROLSKY::RunExtraTests config: Dist::Zilla::Role::TestRunner: default_jobs: 24 name: '@DROLSKY/DROLSKY::RunExtraTests' version: '1.18' - class: Dist::Zilla::Plugin::MojibakeTests name: '@DROLSKY/MojibakeTests' version: '0.8' - class: Dist::Zilla::Plugin::Test::CPAN::Meta::JSON name: '@DROLSKY/Test::CPAN::Meta::JSON' version: '0.004' - class: Dist::Zilla::Plugin::Test::EOL config: Dist::Zilla::Plugin::Test::EOL: filename: xt/author/eol.t finder: - ':ExecFiles' - ':InstallModules' - ':TestFiles' trailing_whitespace: 1 name: '@DROLSKY/Test::EOL' version: '0.19' - class: Dist::Zilla::Plugin::Test::NoTabs config: Dist::Zilla::Plugin::Test::NoTabs: filename: xt/author/no-tabs.t finder: - ':InstallModules' - ':ExecFiles' - ':TestFiles' name: '@DROLSKY/Test::NoTabs' version: '0.15' - class: Dist::Zilla::Plugin::Test::Portability config: Dist::Zilla::Plugin::Test::Portability: options: '' name: '@DROLSKY/Test::Portability' version: '2.001000' - class: Dist::Zilla::Plugin::Test::Compile config: Dist::Zilla::Plugin::Test::Compile: bail_out_on_fail: '0' fail_on_warning: author fake_home: 0 filename: xt/author/00-compile.t module_finder: - ':InstallModules' needs_display: 0 phase: develop script_finder: - ':PerlExecFiles' skips: [] switch: [] name: '@DROLSKY/Test::Compile' version: '2.058' - class: Dist::Zilla::Plugin::Test::ReportPrereqs name: '@DROLSKY/Test::ReportPrereqs' version: '0.028' - class: Dist::Zilla::Plugin::Test::Version name: '@DROLSKY/Test::Version' version: '1.09' - class: Dist::Zilla::Plugin::DROLSKY::Test::Precious name: '@DROLSKY/DROLSKY::Test::Precious' version: '1.18' - class: Dist::Zilla::Plugin::DROLSKY::Contributors name: '@DROLSKY/DROLSKY::Contributors' version: '1.18' - class: Dist::Zilla::Plugin::Git::Contributors config: Dist::Zilla::Plugin::Git::Contributors: git_version: 2.31.1 include_authors: 0 include_releaser: 1 order_by: name paths: [] name: '@DROLSKY/Git::Contributors' version: '0.036' - class: Dist::Zilla::Plugin::SurgicalPodWeaver config: Dist::Zilla::Plugin::PodWeaver: config_plugins: - '@DROLSKY' finder: - ':InstallModules' - ':ExecFiles' plugins: - class: Pod::Weaver::Plugin::EnsurePod5 name: '@CorePrep/EnsurePod5' version: '4.015' - class: Pod::Weaver::Plugin::H1Nester name: '@CorePrep/H1Nester' version: '4.015' - class: Pod::Weaver::Plugin::SingleEncoding name: '@DROLSKY/SingleEncoding' version: '4.015' - class: Pod::Weaver::Plugin::Transformer name: '@DROLSKY/List' version: '4.015' - class: Pod::Weaver::Plugin::Transformer name: '@DROLSKY/Verbatim' version: '4.015' - class: Pod::Weaver::Section::Region name: '@DROLSKY/header' version: '4.015' - class: Pod::Weaver::Section::Name name: '@DROLSKY/Name' version: '4.015' - class: Pod::Weaver::Section::Version name: '@DROLSKY/Version' version: '4.015' - class: Pod::Weaver::Section::Region name: '@DROLSKY/prelude' version: '4.015' - class: Pod::Weaver::Section::Generic name: SYNOPSIS version: '4.015' - class: Pod::Weaver::Section::Generic name: DESCRIPTION version: '4.015' - class: Pod::Weaver::Section::Generic name: OVERVIEW version: '4.015' - class: Pod::Weaver::Section::Collect name: ATTRIBUTES version: '4.015' - class: Pod::Weaver::Section::Collect name: METHODS version: '4.015' - class: Pod::Weaver::Section::Collect name: FUNCTIONS version: '4.015' - class: Pod::Weaver::Section::Collect name: TYPES version: '4.015' - class: Pod::Weaver::Section::Leftovers name: '@DROLSKY/Leftovers' version: '4.015' - class: Pod::Weaver::Section::Region name: '@DROLSKY/postlude' version: '4.015' - class: Pod::Weaver::Section::GenerateSection name: '@DROLSKY/generate SUPPORT' version: '1.06' - class: Pod::Weaver::Section::AllowOverride name: '@DROLSKY/allow override SUPPORT' version: '0.05' - class: Pod::Weaver::Section::GenerateSection name: '@DROLSKY/generate SOURCE' version: '1.06' - class: Pod::Weaver::Section::GenerateSection name: '@DROLSKY/generate DONATIONS' version: '1.06' - class: Pod::Weaver::Section::Authors name: '@DROLSKY/Authors' version: '4.015' - class: Pod::Weaver::Section::Contributors name: '@DROLSKY/Contributors' version: '0.009' - class: Pod::Weaver::Section::Legal name: '@DROLSKY/Legal' version: '4.015' - class: Pod::Weaver::Section::AllowOverride name: '@DROLSKY/allow override Legal' version: '0.05' - class: Pod::Weaver::Section::Region name: '@DROLSKY/footer' version: '4.015' name: '@DROLSKY/SurgicalPodWeaver' version: '0.0023' - class: Dist::Zilla::Plugin::DROLSKY::WeaverConfig name: '@DROLSKY/DROLSKY::WeaverConfig' version: '1.18' - class: Dist::Zilla::Plugin::ReadmeAnyFromPod config: Dist::Zilla::Role::FileWatcher: version: '0.006' name: '@DROLSKY/README.md in build' version: '0.163250' - class: Dist::Zilla::Plugin::GenerateFile::FromShareDir config: Dist::Zilla::Plugin::GenerateFile::FromShareDir: destination_filename: CONTRIBUTING.md dist: Dist-Zilla-PluginBundle-DROLSKY encoding: UTF-8 has_xs: '0' location: build source_filename: CONTRIBUTING.md Dist::Zilla::Role::RepoFileInjector: allow_overwrite: 1 repo_root: . version: '0.009' name: '@DROLSKY/Generate CONTRIBUTING.md' version: '0.015' - class: Dist::Zilla::Plugin::GenerateFile::FromShareDir config: Dist::Zilla::Plugin::GenerateFile::FromShareDir: destination_filename: CODE_OF_CONDUCT.md dist: Dist-Zilla-PluginBundle-DROLSKY encoding: UTF-8 has_xs: '0' location: build source_filename: CODE_OF_CONDUCT.md Dist::Zilla::Role::RepoFileInjector: allow_overwrite: 1 repo_root: . version: '0.009' name: '@DROLSKY/Generate CODE_OF_CONDUCT.md' version: '0.015' - class: Dist::Zilla::Plugin::InstallGuide config: Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000037' version: '0.006' name: '@DROLSKY/InstallGuide' version: '1.200014' - class: Dist::Zilla::Plugin::CPANFile name: '@DROLSKY/CPANFile' version: '6.017' - class: Dist::Zilla::Plugin::DROLSKY::License name: '@DROLSKY/DROLSKY::License' version: '1.18' - class: Dist::Zilla::Plugin::CheckStrictVersion name: '@DROLSKY/CheckStrictVersion' version: '0.001' - class: Dist::Zilla::Plugin::CheckSelfDependency config: Dist::Zilla::Plugin::CheckSelfDependency: finder: - ':InstallModules' Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000037' version: '0.006' name: '@DROLSKY/CheckSelfDependency' version: '0.011' - class: Dist::Zilla::Plugin::CheckPrereqsIndexed name: '@DROLSKY/CheckPrereqsIndexed' version: '0.020' - class: Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch config: Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . name: '@DROLSKY/DROLSKY::Git::CheckFor::CorrectBranch' version: '1.18' - class: Dist::Zilla::Plugin::EnsureChangesHasContent name: '@DROLSKY/EnsureChangesHasContent' version: '0.02' - class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts config: Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . name: '@DROLSKY/Git::CheckFor::MergeConflicts' version: '0.014' - class: Dist::Zilla::Plugin::DROLSKY::PerlLinterConfigFiles name: '@DROLSKY/DROLSKY::PerlLinterConfigFiles' version: '1.18' - class: Dist::Zilla::Plugin::DROLSKY::DevTools name: '@DROLSKY/DROLSKY::DevTools' version: '1.18' - class: Dist::Zilla::Plugin::DROLSKY::Precious name: '@DROLSKY/DROLSKY::Precious' version: '1.18' - class: Dist::Zilla::Plugin::Git::Check config: Dist::Zilla::Plugin::Git::Check: untracked_files: die Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - CODE_OF_CONDUCT.md - CONTRIBUTING.md - Changes - LICENSE - Makefile.PL - README.md - cpanfile - precious.toml allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . name: '@DROLSKY/Git::Check' version: '2.047' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: v%V%n%n%c signoff: 0 Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - CODE_OF_CONDUCT.md - CONTRIBUTING.md - Changes - LICENSE - Makefile.PL - README.md - cpanfile - precious.toml allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@DROLSKY/Commit generated files' version: '2.047' - class: Dist::Zilla::Plugin::Git::Tag config: Dist::Zilla::Plugin::Git::Tag: branch: ~ changelog: Changes signed: 0 tag: v1.79 tag_format: v%V tag_message: v%V Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@DROLSKY/Git::Tag' version: '2.047' - class: Dist::Zilla::Plugin::Git::Push config: Dist::Zilla::Plugin::Git::Push: push_to: - origin remotes_must_exist: 1 Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . name: '@DROLSKY/Git::Push' version: '2.047' - class: Dist::Zilla::Plugin::BumpVersionAfterRelease config: Dist::Zilla::Plugin::BumpVersionAfterRelease: finders: - ':ExecFiles' - ':InstallModules' global: 0 munge_makefile_pl: 1 name: '@DROLSKY/BumpVersionAfterRelease' version: '0.018' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: 'Bump version after release' signoff: 0 Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Changes - dist.ini allow_dirty_match: - (?^:.+) changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@DROLSKY/Commit version bump' version: '2.047' - class: Dist::Zilla::Plugin::Git::Push config: Dist::Zilla::Plugin::Git::Push: push_to: - origin remotes_must_exist: 1 Dist::Zilla::Role::Git::Repo: git_version: 2.31.1 repo_root: . name: '@DROLSKY/Push version bump' version: '2.047' - class: Dist::Zilla::Plugin::DROLSKY::MakeMaker config: Dist::Zilla::Plugin::MakeMaker: make_path: make version: '6.017' Dist::Zilla::Plugin::MakeMaker::Awesome: version: '0.48' Dist::Zilla::Role::TestRunner: default_jobs: 24 version: '6.017' name: '@DROLSKY/DROLSKY::MakeMaker' version: '1.18' - class: Dist::Zilla::Plugin::MetaResources name: MetaResources version: '6.017' - class: Dist::Zilla::Plugin::lib config: Dist::Zilla::Plugin::lib: lib: - . name: lib version: '0.001002' - class: inc::GenerateLocaleTests name: =inc::GenerateLocaleTests version: ~ - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: DevelopRequires version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':ExtraTestFiles' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':PerlExecFiles' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':AllFiles' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: ':NoFiles' version: '6.017' - class: Dist::Zilla::Plugin::FinderCode name: '@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM' version: '6.017' zilla: class: Dist::Zilla::Dist::Builder config: is_trial: '0' version: '6.017' x_authority: cpan:DROLSKY x_contributors: - 'Christian Hansen ' - 'D. Ilmari Mannsåker ' - 'gregor herrmann ' - 'key-amb ' - 'Mohammad S Anwar ' x_generated_by_perl: v5.30.1 x_serialization_backend: 'YAML::Tiny version 1.73' x_spdx_expression: Artistic-2.0 DateTime-Format-Strptime-1.79/Changes0000644000175000017500000003716514043574012017350 0ustar autarchautarch1.79 2021-05-02 * Fix too-strict type checking for time zones. This module now uses the same check as DateTime itself, which allows for things that don't subclass DateTime::TimeZone as long as they provide the same API. Reported by E. Choroba. GH #30. 1.78 2020-12-15 * Fix tests for new failure caused by locale data changes in DateTime::Locale 1.29. Reported by cthulhu8zombie. GH #28. * Added a warning about using locale-specific patterns. Some of these patterns can change quite a bit as the locale data is updated, so using them for parsing does not produce stable results across time. This is what caused the test failures that this release fixes. 1.77 2020-02-29 * When the parsed string contained an invalid time zone offset (parsed with "%z") like "-9999", the error handling set in the parser's constructor was ignored and an exception was always thrown. Reported by x-qq. GH #25. 1.76 2019-02-07 [BACKWARDS INCOMPATIBILITIES] * The ability to set the pattern, time_zone, and locale via accessor methods has been removed. This was deprecated over three years ago in version 1.60. It also turns out that the setting was actually broken for a long time but no one seemed to notice, so I think it's safe to remove this feature. 1.75 2017-12-24 - Fixed tests to pass with blead Perl. Reported by James Keenan. GH #19. 1.74 2017-08-03 - Fix text to not rely on a very specific exception message from Specio. This was broken in 0.39. Reported by Slaven Rezić. GH #18. 1.73 2017-01-31 - The format_datetime now checks that the object it is given isa DateTime object. Implemented by Mohammad S Anwar. GitHub #17. 1.72 2017-01-24 - Require DateTime::Locale 1.05. This fixes some test failures seen on CPAN Testers. Also require DateTime::TimeZone 2.09 because you should really update this on a regular basis. - Require Specio 0.33 to fix other test failures seen on CPAN (I hope). 1.71 2017-01-24 - By default, the word boundary checks added in 1.69 are now off. You can enable them by passing "strict => 1" to the constructor. This was reported as an issue by Toby Corkindale as GitHub #15. - Switched from Params::Validate to Params::ValidationCompiler. 1.70 2016-12-10 - Altered the conversion specifier %z to accept ±HH, ±HHMM, ±HH:MM and Z. Previously only ±HHMM where accepted. PR from Christian Hansen, GitHub #13. 1.69 2016-12-04 (TRIAL RELEASE) - The word boundary check supposedly added in 1.67 didn't really work properly, and still matched too much. For example, the pattern "%d-%m-%y" would match "2016-11-30" and turn it into November 16, 2030. This also had problems at the end of strings, so that the same pattern would improperly match "30-11-2016" as November 30, 2020. Reported by Erik Huelsmann. GitHub #11. - Added docs for several formats which had long been supported but not documented. These are %P, %c, %x, and %X. Reported by Alexander Hartmaier. GH #10. 1.68 2016-05-08 - Author tests are no longer in t/. This makes running tests for non-authors much faster. Requested by Kent Fredric. RT #114237. 1.67 2016-03-31 - Fixed a regression introduced in 1.60. Older versions of this library would match dates pretty match anywhere in a string, so "%Y-%m-%d" would match a string like "abcd1234-12-30efgh". This is probably _too_ permissive, but we definitely want to match on word boundaries so that we match "log.2016-03-31". Based on a PR from YASUTAKE Kiyoshi. GitHub #3. 1.66 2016-03-27 - Added a zone_map constructor argument. This lets you supply a mapping for ambiguous time zone abbreviations. Based on a patch from Douglas Wilson. RT #74762. 1.65 2016-03-15 - Updated zone short name parsing to handle names like "+07", which were introduced in the latest IANA time zone database release. 1.64 2016-02-21 - Changed how a string that contains separate epoch and nanosecond fields is turned into a DateTime object in order to deal with changes coming in the next DateTime release. 1.63 2016-01-13 [BUG FIXES] - The behaviour of silently ignoring text after the matching part was lost in the rewrite. This has been restored. Patch by Dagfinn Ilmari Mannsåker. RT #111155. 1.62 2015-12-19 [BUG FIXES] - When on_error was set to something that did not die (including the default error handling), calling ->parse_datetime with some bad inputs could cause the module to error out internally by trying to call methods on an undefined value instead of returning undef. Reported by Mike Dorman. RT #110247. 1.61 2015-11-13 [BUG FIXES] - If you loaded this module with warnings globally enabled ("perl -w", which you should never do), then you'd get a warning about the import subroutine being redefined. This broke the Package::DeprecationManager API for turning off deprecation warnings. This has been fixed in Package::DeprecationManager 0.15. Reported by Martin. RT #108871. 1.60 2015-11-07 - This release is identical to the prior trial release. The changes for the trial releases are reproduced below for convenience. [BACKWARDS INCOMPATIBILITIES] - The error messages for various types of failures have changed. - The never-documented diagnostic parameter for the constructor has been removed. - The never-documented feature to allow you to use arbitrary DateTime.pm methods in the parsing pattern has been removed. This never made much sense anyway, since most DateTime.pm methods are not constructor params, but they were used that way. - Using the pattern, locale, and time_zone to set the respective attribute is now deprecated. Make a new object instead of changing one of these values. [BUG FIXES] - Fixed a warning from the tests with newer Perl versions. RT #107620. - Clarified docs to note that %Y and %G require 4-digit years. Reported by Karen Etheridge. RT #103147. - Using the 24-hour token (%H) with an AM/PM specifier (%p) now leads to an error if you try to parse something like "23:01 AM". Reported by Ric Signes. RT #92445. 1.59 2015-10-25 (TRIAL RELEASE) - The previous release accidentally included an old version of Strptime.pm in the root dir, causing all sorts of chaos and test failures. 1.58 2015-10-18 (TRIAL RELEASE) - This release is a substantial rewrite. Please test it and file bugs for any unintentional breakage. * The error messages for various types of failures have changed. * The never-documented diagnostic parameter for the constructor has been removed. * The never-documented feature to allow you to use arbitrary DateTime.pm methods in the parsing pattern has been removed. This never made much sense anyway, since most DateTime.pm methods are not constructor params, but they were used that way. * Using the pattern, locale, and time_zone to set the respective attribute is now deprecated. Make a new object instead of changing one of these values. - Fixed a warning from the tests with newer Perl versions. RT #107620. - Clarified docs to note that %Y and %G require 4-digit years. Reported by Karen Etheridge. RT #103147. 1.57 2015-10-04 - Make all tests pass with both the current DateTime::Locale and the upcoming new version (currently still in trial releases). 1.56 2014-08-07 - Recent DateTime::TimeZone changes broke the tests. - Fixed Latin-1 content in test code. It's now UTF-8. 1.55 2014-08-07. - Broken release. I deleted this from PAUSE. 1.54 2013-04-02 - Require DateTime.pm 1.00 because without it tests will break. 1.53 2013-04-02 - A fix in DateTime.pm 1.00 broke a test in this distro. Reported by Anthony J Lucas. RT #84371. 1.52 2012-07-01 - Shut up "unescaped braces in regex" warning from 5.17.0. RT #77514. Patch by Zefram. 1.51 2012-05-27 - Packaging cleanup, including listing Test::More as a test prereq, not a runtime prereq. RT #76128. 1.5000 2010-10-16 - This module did not recognize UTC as a valid time zone. Patch by Danijel Tašov. RT #59209. 1.4000 2010-06-28 - Actually update $VERSION in module file. Reported by David Wheeler. 1.3000 2010-06-26 - Specifiers which allowed for leading space before a number (like %e) would cause DateTime.pm to throw an error if the date being parsed actually contained leading space. Patch by Alex Vandiver. RT #58459. - License is now Artistic 2.0 1.2000 2010-03-19 - Updated to use non-deprecated DateTime::Locale API 1.1000 2009-07-13 -- Regex Pattern - If the pattern you pass in is a regular expression, that will be honored. - Changed the locale tests to use require the latest version of Locale until the target stops moving. 1.0901 2009-05-16 -- Official release of 1.0900_01 1.0900_01 2009-04-18 - Makefile.PL changes for Windows users as per issue #16 1.0900 2009-02-22 - It seems that I also wasn't seeing notifications from RT (please don't use it, use the Gooogle project) so all the following are fixed: - 36672 Started failing mid May - 23313 Bug handling time zones like America/New_York - 25555 Module dies even when on_error is 'undef' - 23768 Olson timezone handling incorrect - 22450 locale test failing with bleadperl - 20487 nmake test_more fail (with patch); incorrect META.yml - 12071 format_datetime uses datetime locale rather than format locale - 11863 bug in DateTime::Format::Strptime 1.0601 when using %s - And a couple from Google: - #8 Add DateTime::Locale to documentation - #10 Parsing bug -- can't detect word boundry after month abbr 1.0800 2008-08-07 - It seems that I wasn't getting notifications from Google when people had reported bugs, so there's a pile of fixes in this release. Hopefully that fixes everyone's issues. 1.0702 2007-09-19 - Updated the META.yml file to have the correct 'resources' and match the latest spec - Updated the docus with a 'resources' section that has the same information in it for readers of POD. - This version ONLY changes the documentation and so it not a required update. 1.0701 2007-09-18 - Many people pointed out that while this module hadn't broken the tests for the French locale had. This is due to a new source for the data in DateTime::Locale. - This version ONLY changes the tests and so it not a required update. 1.0700 Sat, 5 Nov 2005 09:44:10 +1100 - Mike Schilli pointed out that strings without time zones or constructors without a time zone should be returning a DateTime in the floating time zone rather than UTC. - Jason Bodnar requested greater allowance for time zones in strings .. so I've now added the ability to use an Olson time zone identifier with %O. Note that this is a token specifically added to Strptime and it WILL NOT WORK with DateTime's strftime method. 1.0601 Wed, 1 Sep 2004 07:52:44 +1000 - Dave Faraldo and Jonathan Lefter pointed out that one of the new Locale tests in t/006... will fail on the 30th and 31st of the month as not all months have those days. Patch supplied by Jonathan has been applied. - This is just a test fix and doesn't alter the way the module runs in any way. If you already got 1.06 to run then you don't need this. 1.0600 Sat, 28 Aug 2004 15:02:47 +1000 - Fixed bug from RT (#7502) from dfaraldo@redhat.com that made validation fall over by assuming midnight always exists. The patch now assumes Midday exists (both he and I assume that DST will never start at midday anywhere anytime!) - This is a major change and you should install this release if you ever use any time_zone other than floating or UTC. And if you don't use them today, you may tomorrow - so upgrade OK? 1.0500 Wed, 18 Aug 2004 17:24:32 +1000 - Adapted and applied patches from Jean Forget to allow day names and month names to have \W characters and to allow am/pm values from other locales - Jean's patch also included some doc patches - Patched the synopsis a Jean suggestion to demonstrate how to use the non-default error behaviors - Added tests for these bugs - Added t/more/* and the make test_more target so I can test every locale if I want to. - It's over a year since I deprecated the language parameter so I've now removed it. You've had a year of warnings! - This is a major change and you should install this release if you use any locale other than en. 1.0400 Sun, 10 Aug 2003 00:22:00 +1000 - Applied patches from Joshua Hoblitt to move the the brand new DateTime::Locale rather than the old ::Language modules - Implemented %x, %X and %c for locale formats - Fixed a bug on the two digit year determinator - Added a test for locales known as 004locale.t - This is a major change and you should install this release if you are using DateTime >= 0.14 (the first release with Locale) 1.0302 Sat, 28 Jun 2003 09:15:21 +1000 - Test 004 was failing on Windows due to the path delimiter being a backslash rather than a slash. This release should also fix Strptime for Mac users, although I've had no complaints from such users. (Myself being one of the only ones currently using Strptime AFAIK!) Thanks Ron Hill for the bug report. 1.0301 Wed, 25 Jun 2003 22:40:12 +1000 - Updated to handle the post 0.12 DateTime that now validates dates. Still handles old DateTime. 1.0300 Sat, 07 Jun 2003 10:40:23 +1000 - The calls to die() have changed by request of Dave Rolsky and Iain Truskett (Thanks!). We now allow each object to have its own behavior. - The default behavior has been changed to returning undef. This was requested by someone (tell me if it was you!) and made a lot of sense to me. - Never released to CPAN 1.0200 Wed, 28 May 2003 21:02:03 +1000 - The docs for Time::Local talk about the 'proclivity to croak' which basically means the module croaks easily. So did this one until now. Until now, if you allowed a user to specify a pattern and they entered one that was non parsable, this module would croak causing your script to croak. This is a Bad Thing (tm). The behaviour now remains the same, however if you set $DateTime::Format::StrpTime::CROAK to false, methods will return undef rather than croaking. $DateTime::Format::StrpTime::errmsg will tell you what went wrong. The default is to continue to croak. This means you have to delibrately turn it off. Hopefully you'll change you script to do this at the same time you change it to check the return values of the methods :) 1.0103 Wed, 28 May 2003 20:10:57 +1000 - Applied doc patches from Iain Truskett (Thanks!) - Clarified parameter discrepancy between synopsis and docs (Thanks Chris Winters) 1.0102 Fri, 16 May 2003 07:28:18 +1000 - Fixed the same test as above. Think I actually succeeded this time! 1.0101 Tue, 13 May 2003 07:58:23 +1000 - Fixed a test that was broken if DateTime::TimeZone was not version 0.13 or above. 1.0100 Sun, 11 May 2003 13:54:36 +1000 - If we have the latest DateTime we run the test mentioned above - Fixed my version format as advised by Iain Truskett if it still doesn't work it's because of me, not him - Added the ability to handle nanoseconds as requested by Michael Goltze. - Got Time Zones working, including mapping non-ambiguous TLAs offsets and Olsen names (the latter uses the %q token) 1.00.02 Tue, 29 Apr 2003 07:03:19 +1000 - Fixed a test that only worked in DateTime was from CVS - Fixed two issues noted by Iain Truskett: - Removed a diag() in test 1 that was just there for testing the test - Added a linebreak to the end of the MANIFEST 1.00.01 Mon, 28 Apr 2003 07:12:01 +1000 - removed alien life-forms (characters that didn't ASCIIfy) * No API change, just made it so it will install now! 1.00.00 Sun, 27 Apr 2003 17:56:27 +1000 - first CPAN release - added tests - should be 100% compatible with DateTime's strftime function DateTime-Format-Strptime-1.79/CONTRIBUTING.md0000644000175000017500000001022714043574012020274 0ustar autarchautarch# CONTRIBUTING Thank you for considering contributing to this distribution. This file contains instructions that will help you work with the source code. Please note that if you have any questions or difficulties, you can reach the maintainer(s) through the bug queue described later in this document (preferred), or by emailing the releaser directly. You are not required to follow any of the steps in this document to submit a patch or bug report; these are just recommendations, intended to help you (and help us help you faster). The distribution is managed with [Dist::Zilla](https://metacpan.org/release/Dist-Zilla). However, you can still compile and test the code with the `MakeFile.PL` in the repository: perl Makefile.PL make make test You may need to satisfy some dependencies. The easiest way to satisfy dependencies is to install the last release. This is available at https://metacpan.org/release/DateTime-Format-Strptime You can use [`cpanminus`](https://metacpan.org/pod/App::cpanminus) to do this without downloading the tarball first: $> cpanm --reinstall --installdeps --with-recommends DateTime::Format::Strptime [`Dist::Zilla`](https://metacpan.org/pod/Dist::Zilla) is a very powerful authoring tool, but requires a number of author-specific plugins. If you would like to use it for contributing, install it from CPAN, then the following command to install the needed distros: $> dzil authordeps --missing | cpanm There may also be additional requirements not needed by the dzil build which are needed for tests or other development: $> dzil listdeps --author --missing | cpanm Or, you can use the 'dzil stale' command to install all requirements at once: $> cpanm Dist::Zilla::App::Command::stale $> dzil stale --all | cpanm You can also do this via cpanm directly: $> cpanm --reinstall --installdeps --with-develop --with-recommends DateTime::Format::Strptime Once installed, here are some dzil commands you might try: $> dzil build $> dzil test $> dzil test --release $> dzil xtest $> dzil listdeps --json $> dzil build --notgz You can learn more about Dist::Zilla at http://dzil.org/. The code for this distribution is [hosted on GitHub](https://github.com/houseabsolute/DateTime-Format-Strptime). You can submit code changes by forking the repository, pushing your code changes to your clone, and then submitting a pull request. Please update the Changes file with a user-facing description of your changes as part of your work. See the GitHub documentation for [detailed instructions on pull requests](https://help.github.com/articles/creating-a-pull-request) If you have found a bug, but do not have an accompanying patch to fix it, you can submit an issue report [via the web](https://github.com/houseabsolute/DateTime-Format-Strptime/issues). ## Continuous Integration All pull requests for this distribution will be automatically tested using [Azure Pipelines](https://dev.azure.com/houseabsolute/houseabsolute/_build). All CI results will be visible in the pull request on GitHub. Follow the appropriate links for details when tests fail. PRs cannot be merged until tests pass. ## Precious This distribution uses [precious](https://github.com/houseabsolute/precious) to enforce a uniform coding style. This is tested as part of the author testing suite. You can install this and any other necessary non-Perl tools by running `./dev-bin/install-xt-tools.sh`. Please run this before committing your changes and address any issues it brings up. You can also set up a git pre-commit hook that checks all changed files for linting issues by running `./git/setup.pl`. ## Contributor Names If you send a patch or pull request, your name and email address will be included in the documentation as a contributor (using the attribution on the commit or patch), unless you specifically request for it not to be. If you wish to be listed under a different name or address, you should submit a pull request to the `.mailmap` file to contain the correct mapping. ## Generated By This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.015 from a template file originating in Dist-Zilla-PluginBundle-DROLSKY-1.18. DateTime-Format-Strptime-1.79/LICENSE0000644000175000017500000002152714043574012017055 0ustar autarchautarchThis software is Copyright (c) 2015 - 2021 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) The Artistic License 2.0 Copyright (c) 2000-2006, The Perl Foundation. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble This license establishes the terms under which a given free software Package may be copied, modified, distributed, and/or redistributed. The intent is that the Copyright Holder maintains some artistic control over the development of that Package while still keeping the Package available as open source and free software. You are always permitted to make arrangements wholly outside of this license directly with the Copyright Holder of a given Package. If the terms of this license do not permit the full use that you propose to make of the Package, you should contact the Copyright Holder and seek a different licensing arrangement. Definitions "Copyright Holder" means the individual(s) or organization(s) named in the copyright notice for the entire Package. "Contributor" means any party that has contributed code or other material to the Package, in accordance with the Copyright Holder's procedures. "You" and "your" means any person who would like to copy, distribute, or modify the Package. "Package" means the collection of files distributed by the Copyright Holder, and derivatives of that collection and/or of those files. A given Package may consist of either the Standard Version, or a Modified Version. "Distribute" means providing a copy of the Package or making it accessible to anyone else, or in the case of a company or organization, to others outside of your company or organization. "Distributor Fee" means any fee that you charge for Distributing this Package or providing support for this Package to another party. It does not mean licensing fees. "Standard Version" refers to the Package if it has not been modified, or has been modified only in ways explicitly requested by the Copyright Holder. "Modified Version" means the Package, if it has been changed, and such changes were not explicitly requested by the Copyright Holder. "Original License" means this Artistic License as Distributed with the Standard Version of the Package, in its current version or as it may be modified by The Perl Foundation in the future. "Source" form means the source code, documentation source, and configuration files for the Package. "Compiled" form means the compiled bytecode, object code, binary, or any other form resulting from mechanical transformation or translation of the Source form. Permission for Use and Modification Without Distribution (1) You are permitted to use the Standard Version and create and use Modified Versions for any purpose without restriction, provided that you do not Distribute the Modified Version. Permissions for Redistribution of the Standard Version (2) You may Distribute verbatim copies of the Source form of the Standard Version of this Package in any medium without restriction, either gratis or for a Distributor Fee, provided that you duplicate all of the original copyright notices and associated disclaimers. At your discretion, such verbatim copies may or may not include a Compiled form of the Package. (3) You may apply any bug fixes, portability changes, and other modifications made available from the Copyright Holder. The resulting Package will still be considered the Standard Version, and as such will be subject to the Original License. Distribution of Modified Versions of the Package as Source (4) You may Distribute your Modified Version as Source (either gratis or for a Distributor Fee, and with or without a Compiled form of the Modified Version) provided that you clearly document how it differs from the Standard Version, including, but not limited to, documenting any non-standard features, executables, or modules, and provided that you do at least ONE of the following: (a) make the Modified Version available to the Copyright Holder of the Standard Version, under the Original License, so that the Copyright Holder may include your modifications in the Standard Version. (b) ensure that installation of your Modified Version does not prevent the user installing or running the Standard Version. In addition, the Modified Version must bear a name that is different from the name of the Standard Version. (c) allow anyone who receives a copy of the Modified Version to make the Source form of the Modified Version available to others under (i) the Original License or (ii) a license that permits the licensee to freely copy, modify and redistribute the Modified Version using the same licensing terms that apply to the copy that the licensee received, and requires that the Source form of the Modified Version, and of any works derived from it, be made freely available in that license fees are prohibited but Distributor Fees are allowed. Distribution of Compiled Forms of the Standard Version or Modified Versions without the Source (5) You may Distribute Compiled forms of the Standard Version without the Source, provided that you include complete instructions on how to get the Source of the Standard Version. Such instructions must be valid at the time of your distribution. If these instructions, at any time while you are carrying out such distribution, become invalid, you must provide new instructions on demand or cease further distribution. If you provide valid instructions or cease distribution within thirty days after you become aware that the instructions are invalid, then you do not forfeit any of your rights under this license. (6) You may Distribute a Modified Version in Compiled form without the Source, provided that you comply with Section 4 with respect to the Source of the Modified Version. Aggregating or Linking the Package (7) You may aggregate the Package (either the Standard Version or Modified Version) with other packages and Distribute the resulting aggregation provided that you do not charge a licensing fee for the Package. Distributor Fees are permitted, and licensing fees for other components in the aggregation are permitted. The terms of this license apply to the use and Distribution of the Standard or Modified Versions as included in the aggregation. (8) You are permitted to link Modified and Standard Versions with other works, to embed the Package in a larger work of your own, or to build stand-alone binary or bytecode versions of applications that include the Package, and Distribute the result without restriction, provided the result does not expose a direct interface to the Package. Items That are Not Considered Part of a Modified Version (9) Works (including, but not limited to, modules and scripts) that merely extend or make use of the Package, do not, by themselves, cause the Package to be a Modified Version. In addition, such works are not considered parts of the Package itself, and are not subject to the terms of this license. General Provisions (10) Any use, modification, and distribution of the Standard or Modified Versions is governed by this Artistic License. By using, modifying or distributing the Package, you accept this license. Do not use, modify, or distribute the Package, if you do not accept this license. (11) If your Modified Version has been derived from a Modified Version made by someone other than you, you are nevertheless required to ensure that your Modified Version complies with the requirements of this license. (12) This license does not grant you the right to use any trademark, service mark, tradename, or logo of the Copyright Holder. (13) This license includes the non-exclusive, worldwide, free-of-charge patent license to make, have made, use, offer to sell, sell, import and otherwise transfer the Package with respect to any patent claims licensable by the Copyright Holder that are necessarily infringed by the Package. If you institute patent litigation (including a cross-claim or counterclaim) against any party alleging that the Package constitutes direct or contributory patent infringement, then this Artistic License to you shall terminate on the date that such litigation is filed. (14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. DateTime-Format-Strptime-1.79/git/0000775000175000017500000000000014043574012016626 5ustar autarchautarchDateTime-Format-Strptime-1.79/git/hooks/0000775000175000017500000000000014043574012017751 5ustar autarchautarchDateTime-Format-Strptime-1.79/git/hooks/pre-commit.sh0000755000175000017500000000027014043574012022361 0ustar autarchautarch#!/bin/bash status=0 PRECIOUS=$(which precious) if [[ -z $PRECIOUS ]]; then PRECIOUS=./bin/precious fi "$PRECIOUS" lint -s if (( $? != 0 )); then status+=1 fi exit $status DateTime-Format-Strptime-1.79/git/setup.pl0000755000175000017500000000076414043574012020333 0ustar autarchautarch#!/usr/bin/env perl use strict; use warnings; use Cwd qw( abs_path ); symlink_hook('pre-commit'); sub symlink_hook { my $hook = shift; my $dot = ".git/hooks/$hook"; my $file = "git/hooks/$hook.sh"; my $link = "../../$file"; if ( -e $dot ) { if ( -l $dot ) { return if readlink $dot eq $link; } warn "You already have a hook at $dot!\n"; return; } symlink $link, $dot or die "Could not link $dot => $link: $!"; } DateTime-Format-Strptime-1.79/README.md0000644000175000017500000003007314043574012017323 0ustar autarchautarch# NAME DateTime::Format::Strptime - Parse and format strp and strf time patterns # VERSION version 1.79 # SYNOPSIS use DateTime::Format::Strptime; my $strp = DateTime::Format::Strptime->new( pattern => '%T', locale => 'en_AU', time_zone => 'Australia/Melbourne', ); my $dt = $strp->parse_datetime('23:16:42'); $strp->format_datetime($dt); # 23:16:42 # Croak when things go wrong: my $strp = DateTime::Format::Strptime->new( pattern => '%T', locale => 'en_AU', time_zone => 'Australia/Melbourne', on_error => 'croak', ); # Do something else when things go wrong: my $strp = DateTime::Format::Strptime->new( pattern => '%T', locale => 'en_AU', time_zone => 'Australia/Melbourne', on_error => \&phone_police, ); # DESCRIPTION This module implements most of `strptime(3)`, the POSIX function that is the reverse of `strftime(3)`, for `DateTime`. While `strftime` takes a `DateTime` and a pattern and returns a string, `strptime` takes a string and a pattern and returns the `DateTime` object associated. # METHODS This class offers the following methods. ## DateTime::Format::Strptime->new(%args) This methods creates a new object. It accepts the following arguments: - pattern This is the pattern to use for parsing. This is required. - strict This is a boolean which disables or enables strict matching mode. By default, this module turns your pattern into a regex that will match anywhere in a string. So given the pattern `%Y%m%d%H%M%S` it will match a string like `20161214233712`. However, this also means that a this pattern will match **any** string that contains 14 or more numbers! This behavior can be very surprising. If you enable strict mode, then the generated regex is wrapped in boundary checks of the form `/(?:\A|\b)...(?:\b|\z_/)`. These checks ensure that the pattern will only match when at the beginning or end of a string, or when it is separated by other text with a word boundary (`\w` versus `\W`). By default, strict mode is off. This is done for backwards compatibility. Future releases may turn it on by default, as it produces less surprising behavior in many cases. Because the default may change in the future, **you are strongly encouraged to explicitly set this when constructing all `DateTime::Format::Strptime` objects**. - time\_zone The default time zone to use for objects returned from parsing. - zone\_map Some time zone abbreviations are ambiguous (e.g. PST, EST, EDT). By default, the parser will die when it parses an ambiguous abbreviation. You may specify a `zone_map` parameter as a hashref to map zone abbreviations however you like: zone_map => { PST => '-0800', EST => '-0600' } Note that you can also override non-ambiguous mappings if you want to as well. - locale The locale to use for objects returned from parsing. - on\_error This can be one of `'undef'` (the string, not an `undef`), 'croak', or a subroutine reference. - 'undef' This is the default behavior. The module will return `undef` on errors. The error can be accessed using the `$object->errmsg` method. This is the ideal behaviour for interactive use where a user might provide an illegal pattern or a date that doesn't match the pattern. - 'croak' The module will croak with an error message on errors. - sub{...} or \\&subname When given a code ref, the module will call that sub on errors. The sub receives two parameters: the object and the error message. If your sub does not die, then the formatter will continue on as if `on_error` was `'undef'`. ## $strptime->parse\_datetime($string) Given a string in the pattern specified in the constructor, this method will return a new `DateTime` object. If given a string that doesn't match the pattern, the formatter will croak or return undef, depending on the setting of `on_error` in the constructor. ## $strptime->format\_datetime($datetime) Given a `DateTime` object, this methods returns a string formatted in the object's format. This method is synonymous with `DateTime`'s strftime method. ## $strptime->locale This method returns the locale passed to the object's constructor. ## $strptime->pattern This method returns the pattern passed to the object's constructor. ## $strptime->time\_zone This method returns the time zone passed to the object's constructor. ## $strptime->errmsg If the on\_error behavior of the object is 'undef', you can retrieve error messages with this method so you can work out why things went wrong. # EXPORTS These subs are available as optional exports. ## strptime( $strptime\_pattern, $string ) Given a pattern and a string this function will return a new `DateTime` object. ## strftime( $strftime\_pattern, $datetime ) Given a pattern and a `DateTime` object this function will return a formatted string. # STRPTIME PATTERN TOKENS The following tokens are allowed in the pattern string for strptime (parse\_datetime): - %% The % character. - %a or %A The weekday name according to the given locale, in abbreviated form or the full name. - %b or %B or %h The month name according to the given locale, in abbreviated form or the full name. - %c The datetime format according to the given locale. Note that this format can change without warning in new versions of [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale). You should not use this pattern unless the string you are parsing was generated by using this pattern with [DateTime](https://metacpan.org/pod/DateTime) **and** you are sure that this string was generated with the same version of [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale) that the parser is using. - %C The century number (0-99). - %d or %e The day of month (01-31). This will parse single digit numbers as well. - %D Equivalent to %m/%d/%y. (This is the American style date, very confusing to non-Americans, especially since %d/%m/%y is widely used in Europe. The ISO 8601 standard pattern is %F.) - %F Equivalent to %Y-%m-%d. (This is the ISO style date) - %g The year corresponding to the ISO week number, but without the century (0-99). - %G The 4-digit year corresponding to the ISO week number. - %H The hour (00-23). This will parse single digit numbers as well. - %I The hour on a 12-hour clock (1-12). - %j The day number in the year (1-366). - %m The month number (01-12). This will parse single digit numbers as well. - %M The minute (00-59). This will parse single digit numbers as well. - %n Arbitrary whitespace. - %N Nanoseconds. For other sub-second values use `%[number]N`. - %p or %P The equivalent of AM or PM according to the locale in use. See [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale). - %r Equivalent to %I:%M:%S %p. - %R Equivalent to %H:%M. - %s Number of seconds since the Epoch. - %S The second (0-60; 60 may occur for leap seconds. See [DateTime::LeapSecond](https://metacpan.org/pod/DateTime%3A%3ALeapSecond)). - %t Arbitrary whitespace. - %T Equivalent to %H:%M:%S. - %U The week number with Sunday the first day of the week (0-53). The first Sunday of January is the first day of week 1. - %u The weekday number (1-7) with Monday = 1. This is the `DateTime` standard. - %w The weekday number (0-6) with Sunday = 0. - %W The week number with Monday the first day of the week (0-53). The first Monday of January is the first day of week 1. - %x The date format according to the given locale. Note that this format can change without warning in new versions of [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale). You should not use this pattern unless the string you are parsing was generated by using this pattern with [DateTime](https://metacpan.org/pod/DateTime) **and** you are sure that this string was generated with the same version of [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale) that the parser is using. - %X The time format according to the given locale. Note that this format can change without warning in new versions of [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale). You should not use this pattern unless the string you are parsing was generated by using this pattern with [DateTime](https://metacpan.org/pod/DateTime) **and** you are sure that this string was generated with the same version of [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale) that the parser is using. - %y The year within century (0-99). When a century is not otherwise specified (with a value for %C), values in the range 69-99 refer to years in the twentieth century (1969-1999); values in the range 00-68 refer to years in the twenty-first century (2000-2068). - %Y A 4-digit year, including century (for example, 1991). - %z An RFC-822/ISO 8601 standard time zone specification. (For example +1100) \[See note below\] - %Z The timezone name. (For example EST -- which is ambiguous) \[See note below\] - %O This extended token allows the use of Olson Time Zone names to appear in parsed strings. **NOTE**: This pattern cannot be passed to `DateTime`'s `strftime()` method, but can be passed to `format_datetime()`. # AUTHOR EMERITUS This module was created by Rick Measham. # SEE ALSO `datetime@perl.org` mailing list. http://datetime.perl.org/ [perl](https://metacpan.org/pod/perl), [DateTime](https://metacpan.org/pod/DateTime), [DateTime::TimeZone](https://metacpan.org/pod/DateTime%3A%3ATimeZone), [DateTime::Locale](https://metacpan.org/pod/DateTime%3A%3ALocale) # BUGS Please report any bugs or feature requests to `bug-datetime-format-strptime@rt.cpan.org`, or through the web interface at [http://rt.cpan.org](http://rt.cpan.org). I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. Bugs may be submitted at [https://github.com/houseabsolute/DateTime-Format-Strptime/issues](https://github.com/houseabsolute/DateTime-Format-Strptime/issues). There is a mailing list available for users of this distribution, [mailto:datetime@perl.org](mailto:datetime@perl.org). I am also usually active on IRC as 'autarch' on `irc://irc.perl.org`. # SOURCE The source code repository for DateTime-Format-Strptime can be found at [https://github.com/houseabsolute/DateTime-Format-Strptime](https://github.com/houseabsolute/DateTime-Format-Strptime). # DONATIONS If you'd like to thank me for the work I've done on this module, please consider making a "donation" to me via PayPal. I spend a lot of free time creating free software, and would appreciate any support you'd care to offer. Please note that **I am not suggesting that you must do this** in order for me to continue working on this particular software. I will continue to do so, inasmuch as I have in the past, for as long as it interests me. Similarly, a donation made in this way will probably not make me work on this software much more, unless I get so many donations that I can consider working on free software full time (let's all have a chuckle at that together). To donate, log into PayPal and send money to autarch@urth.org, or use the button at [https://www.urth.org/fs-donation.html](https://www.urth.org/fs-donation.html). # AUTHORS - Dave Rolsky - Rick Measham # CONTRIBUTORS - Christian Hansen - D. Ilmari Mannsåker - gregor herrmann - key-amb - Mohammad S Anwar # COPYRIGHT AND LICENSE This software is Copyright (c) 2015 - 2021 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) The full text of the license can be found in the `LICENSE` file included with this distribution. DateTime-Format-Strptime-1.79/perltidyrc0000644000175000017500000000045514043574012020151 0ustar autarchautarch-l=78 -i=4 -ci=4 -se -b -bar -boc -vt=0 -vtc=0 -cti=0 -pt=1 -bt=1 -sbt=1 -bbt=1 -nolq -npro -nsfs --blank-lines-before-packages=0 --opening-hash-brace-right --no-outdent-long-comments --iterations=2 -wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=" DateTime-Format-Strptime-1.79/META.json0000644000175000017500000011401214043574012017461 0ustar autarchautarch{ "abstract" : "Parse and format strp and strf time patterns", "author" : [ "Dave Rolsky ", "Rick Measham " ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010", "license" : [ "artistic_2" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "DateTime-Format-Strptime", "prereqs" : { "configure" : { "requires" : { "ExtUtils::MakeMaker" : "0" }, "suggests" : { "JSON::PP" : "2.27300" } }, "develop" : { "requires" : { "Capture::Tiny" : "0", "Cwd" : "0", "DateTime::Locale" : "1.30", "File::Spec" : "0", "FindBin" : "0", "IO::Handle" : "0", "IPC::Open3" : "0", "Perl::Critic" : "1.138", "Perl::Critic::Moose" : "1.05", "Perl::Tidy" : "20210111", "Pod::Checker" : "1.74", "Pod::Coverage::TrustPod" : "0", "Pod::Tidy" : "0.10", "Pod::Wordlist" : "0", "Test::CPAN::Meta::JSON" : "0.16", "Test::DependentModules" : "0", "Test::EOL" : "0", "Test::Fatal" : "0", "Test::Mojibake" : "0", "Test::More" : "0.96", "Test::NoTabs" : "0", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08", "Test::Portability::Files" : "0", "Test::Spelling" : "0.12", "Test::Version" : "2.05", "perl" : "5.006" } }, "runtime" : { "requires" : { "Carp" : "0", "DateTime" : "1.00", "DateTime::Locale" : "1.30", "DateTime::Locale::Base" : "0", "DateTime::Locale::FromData" : "0", "DateTime::TimeZone" : "2.09", "Exporter" : "0", "Params::ValidationCompiler" : "0", "Specio" : "0.33", "Specio::Declare" : "0", "Specio::Exporter" : "0", "Specio::Library::Builtins" : "0", "Specio::Library::String" : "0", "Try::Tiny" : "0", "constant" : "0", "parent" : "0", "strict" : "0", "warnings" : "0" } }, "test" : { "recommends" : { "CPAN::Meta" : "2.120900" }, "requires" : { "ExtUtils::MakeMaker" : "0", "File::Spec" : "0", "FindBin" : "0", "Test::Builder" : "0", "Test::Fatal" : "0", "Test::More" : "0.96", "Test::Warnings" : "0", "lib" : "0", "utf8" : "0" } } }, "provides" : { "DateTime::Format::Strptime" : { "file" : "lib/DateTime/Format/Strptime.pm", "version" : "1.79" }, "DateTime::Format::Strptime::Types" : { "file" : "lib/DateTime/Format/Strptime/Types.pm", "version" : "1.79" } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/houseabsolute/DateTime-Format-Strptime/issues" }, "homepage" : "https://metacpan.org/release/DateTime-Format-Strptime", "repository" : { "type" : "git", "url" : "git://github.com/houseabsolute/DateTime-Format-Strptime.git", "web" : "https://github.com/houseabsolute/DateTime-Format-Strptime" }, "x_MailingList" : "datetime@perl.org" }, "version" : "1.79", "x_Dist_Zilla" : { "perl" : { "version" : "5.030001" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::DROLSKY::BundleAuthordep", "name" : "@DROLSKY/DROLSKY::BundleAuthordep", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::Git::GatherDir", "config" : { "Dist::Zilla::Plugin::GatherDir" : { "exclude_filename" : [ "CODE_OF_CONDUCT.md", "CONTRIBUTING.md", "LICENSE", "Makefile.PL", "README.md", "cpanfile" ], "exclude_match" : [], "follow_symlinks" : 0, "include_dotfiles" : 0, "prefix" : "", "prune_directory" : [], "root" : "." }, "Dist::Zilla::Plugin::Git::GatherDir" : { "include_untracked" : 0 } }, "name" : "@DROLSKY/Git::GatherDir", "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@DROLSKY/ManifestSkip", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@DROLSKY/License", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::ExecDir", "name" : "@DROLSKY/ExecDir", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::ShareDir", "name" : "@DROLSKY/ShareDir", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@DROLSKY/Manifest", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::CheckVersionIncrement", "name" : "@DROLSKY/CheckVersionIncrement", "version" : "0.121750" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@DROLSKY/TestRelease", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@DROLSKY/ConfirmRelease", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@DROLSKY/UploadToCPAN", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::VersionFromMainModule", "config" : { "Dist::Zilla::Role::ModuleMetadata" : { "Module::Metadata" : "1.000037", "version" : "0.006" } }, "name" : "@DROLSKY/VersionFromMainModule", "version" : "0.04" }, { "class" : "Dist::Zilla::Plugin::Authority", "name" : "@DROLSKY/Authority", "version" : "1.009" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@DROLSKY/AutoPrereqs", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::CopyFilesFromBuild", "name" : "@DROLSKY/CopyFilesFromBuild", "version" : "0.170880" }, { "class" : "Dist::Zilla::Plugin::GitHub::Meta", "name" : "@DROLSKY/GitHub::Meta", "version" : "0.48" }, { "class" : "Dist::Zilla::Plugin::GitHub::Update", "config" : { "Dist::Zilla::Plugin::GitHub::Update" : { "metacpan" : 1 } }, "name" : "@DROLSKY/GitHub::Update", "version" : "0.48" }, { "class" : "Dist::Zilla::Plugin::MetaResources", "name" : "@DROLSKY/MetaResources", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::MetaProvides::Package", "config" : { "Dist::Zilla::Plugin::MetaProvides::Package" : { "finder_objects" : [ { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : "@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM", "version" : "6.017" } ], "include_underscores" : 0 }, "Dist::Zilla::Role::MetaProvider::Provider" : { "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004", "inherit_missing" : 1, "inherit_version" : 1, "meta_noindex" : 1 }, "Dist::Zilla::Role::ModuleMetadata" : { "Module::Metadata" : "1.000037", "version" : "0.006" } }, "name" : "@DROLSKY/MetaProvides::Package", "version" : "2.004003" }, { "class" : "Dist::Zilla::Plugin::Meta::Contributors", "name" : "@DROLSKY/Meta::Contributors", "version" : "0.003" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@DROLSKY/MetaConfig", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@DROLSKY/MetaJSON", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@DROLSKY/MetaYAML", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@DROLSKY/NextRelease", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "test", "type" : "requires" } }, "name" : "@DROLSKY/Test::More with subtest", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "@DROLSKY/Tools for use with precious", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "@DROLSKY/Test::Version which fixes https://github.com/plicease/Test-Version/issues/7", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::PromptIfStale", "config" : { "Dist::Zilla::Plugin::PromptIfStale" : { "check_all_plugins" : 0, "check_all_prereqs" : 0, "modules" : [ "Dist::Zilla::PluginBundle::DROLSKY" ], "phase" : "build", "run_under_travis" : 0, "skip" : [] } }, "name" : "@DROLSKY/Dist::Zilla::PluginBundle::DROLSKY", "version" : "0.057" }, { "class" : "Dist::Zilla::Plugin::PromptIfStale", "config" : { "Dist::Zilla::Plugin::PromptIfStale" : { "check_all_plugins" : 1, "check_all_prereqs" : 1, "modules" : [], "phase" : "release", "run_under_travis" : 0, "skip" : [ "Dist::Zilla::Plugin::DROLSKY::BundleAuthordep", "Dist::Zilla::Plugin::DROLSKY::Contributors", "Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch", "Dist::Zilla::Plugin::DROLSKY::License", "Dist::Zilla::Plugin::DROLSKY::MakeMaker", "Dist::Zilla::Plugin::DROLSKY::PerlLinterConfigFiles", "Dist::Zilla::Plugin::DROLSKY::Precious", "Dist::Zilla::Plugin::DROLSKY::Role::CoreCounter", "Dist::Zilla::Plugin::DROLSKY::RunExtraTests", "Dist::Zilla::Plugin::DROLSKY::Test::Precious", "Dist::Zilla::Plugin::DROLSKY::WeaverConfig", "Pod::Weaver::PluginBundle::DROLSKY" ] } }, "name" : "@DROLSKY/PromptIfStale", "version" : "0.057" }, { "class" : "Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable", "name" : "@DROLSKY/Test::Pod::Coverage::Configurable", "version" : "0.07" }, { "class" : "Dist::Zilla::Plugin::Test::PodSpelling", "config" : { "Dist::Zilla::Plugin::Test::PodSpelling" : { "directories" : [ "bin", "lib" ], "spell_cmd" : "", "stopwords" : [ "DROLSKY", "DROLSKY's", "Measham", "POSIX", "PayPal", "Rolsky", "Rolsky", "Rolsky's", "STRPTIME", "drolsky", "errmsg", "formatter", "strf", "strp", "strptime" ], "wordlist" : "Pod::Wordlist" } }, "name" : "@DROLSKY/Test::PodSpelling", "version" : "2.007005" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@DROLSKY/PodSyntaxTests", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::RunExtraTests", "config" : { "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 24 } }, "name" : "@DROLSKY/DROLSKY::RunExtraTests", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::MojibakeTests", "name" : "@DROLSKY/MojibakeTests", "version" : "0.8" }, { "class" : "Dist::Zilla::Plugin::Test::CPAN::Meta::JSON", "name" : "@DROLSKY/Test::CPAN::Meta::JSON", "version" : "0.004" }, { "class" : "Dist::Zilla::Plugin::Test::EOL", "config" : { "Dist::Zilla::Plugin::Test::EOL" : { "filename" : "xt/author/eol.t", "finder" : [ ":ExecFiles", ":InstallModules", ":TestFiles" ], "trailing_whitespace" : 1 } }, "name" : "@DROLSKY/Test::EOL", "version" : "0.19" }, { "class" : "Dist::Zilla::Plugin::Test::NoTabs", "config" : { "Dist::Zilla::Plugin::Test::NoTabs" : { "filename" : "xt/author/no-tabs.t", "finder" : [ ":InstallModules", ":ExecFiles", ":TestFiles" ] } }, "name" : "@DROLSKY/Test::NoTabs", "version" : "0.15" }, { "class" : "Dist::Zilla::Plugin::Test::Portability", "config" : { "Dist::Zilla::Plugin::Test::Portability" : { "options" : "" } }, "name" : "@DROLSKY/Test::Portability", "version" : "2.001000" }, { "class" : "Dist::Zilla::Plugin::Test::Compile", "config" : { "Dist::Zilla::Plugin::Test::Compile" : { "bail_out_on_fail" : 0, "fail_on_warning" : "author", "fake_home" : 0, "filename" : "xt/author/00-compile.t", "module_finder" : [ ":InstallModules" ], "needs_display" : 0, "phase" : "develop", "script_finder" : [ ":PerlExecFiles" ], "skips" : [], "switch" : [] } }, "name" : "@DROLSKY/Test::Compile", "version" : "2.058" }, { "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs", "name" : "@DROLSKY/Test::ReportPrereqs", "version" : "0.028" }, { "class" : "Dist::Zilla::Plugin::Test::Version", "name" : "@DROLSKY/Test::Version", "version" : "1.09" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::Test::Precious", "name" : "@DROLSKY/DROLSKY::Test::Precious", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::Contributors", "name" : "@DROLSKY/DROLSKY::Contributors", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::Git::Contributors", "config" : { "Dist::Zilla::Plugin::Git::Contributors" : { "git_version" : "2.31.1", "include_authors" : 0, "include_releaser" : 1, "order_by" : "name", "paths" : [] } }, "name" : "@DROLSKY/Git::Contributors", "version" : "0.036" }, { "class" : "Dist::Zilla::Plugin::SurgicalPodWeaver", "config" : { "Dist::Zilla::Plugin::PodWeaver" : { "config_plugins" : [ "@DROLSKY" ], "finder" : [ ":InstallModules", ":ExecFiles" ], "plugins" : [ { "class" : "Pod::Weaver::Plugin::EnsurePod5", "name" : "@CorePrep/EnsurePod5", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::H1Nester", "name" : "@CorePrep/H1Nester", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::SingleEncoding", "name" : "@DROLSKY/SingleEncoding", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::Transformer", "name" : "@DROLSKY/List", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::Transformer", "name" : "@DROLSKY/Verbatim", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@DROLSKY/header", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Name", "name" : "@DROLSKY/Name", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Version", "name" : "@DROLSKY/Version", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@DROLSKY/prelude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "SYNOPSIS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "DESCRIPTION", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "OVERVIEW", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "ATTRIBUTES", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "METHODS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "FUNCTIONS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "TYPES", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Leftovers", "name" : "@DROLSKY/Leftovers", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@DROLSKY/postlude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "@DROLSKY/generate SUPPORT", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::AllowOverride", "name" : "@DROLSKY/allow override SUPPORT", "version" : "0.05" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "@DROLSKY/generate SOURCE", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "@DROLSKY/generate DONATIONS", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::Authors", "name" : "@DROLSKY/Authors", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Contributors", "name" : "@DROLSKY/Contributors", "version" : "0.009" }, { "class" : "Pod::Weaver::Section::Legal", "name" : "@DROLSKY/Legal", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::AllowOverride", "name" : "@DROLSKY/allow override Legal", "version" : "0.05" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@DROLSKY/footer", "version" : "4.015" } ] } }, "name" : "@DROLSKY/SurgicalPodWeaver", "version" : "0.0023" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::WeaverConfig", "name" : "@DROLSKY/DROLSKY::WeaverConfig", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod", "config" : { "Dist::Zilla::Role::FileWatcher" : { "version" : "0.006" } }, "name" : "@DROLSKY/README.md in build", "version" : "0.163250" }, { "class" : "Dist::Zilla::Plugin::GenerateFile::FromShareDir", "config" : { "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : { "destination_filename" : "CONTRIBUTING.md", "dist" : "Dist-Zilla-PluginBundle-DROLSKY", "encoding" : "UTF-8", "has_xs" : 0, "location" : "build", "source_filename" : "CONTRIBUTING.md" }, "Dist::Zilla::Role::RepoFileInjector" : { "allow_overwrite" : 1, "repo_root" : ".", "version" : "0.009" } }, "name" : "@DROLSKY/Generate CONTRIBUTING.md", "version" : "0.015" }, { "class" : "Dist::Zilla::Plugin::GenerateFile::FromShareDir", "config" : { "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : { "destination_filename" : "CODE_OF_CONDUCT.md", "dist" : "Dist-Zilla-PluginBundle-DROLSKY", "encoding" : "UTF-8", "has_xs" : 0, "location" : "build", "source_filename" : "CODE_OF_CONDUCT.md" }, "Dist::Zilla::Role::RepoFileInjector" : { "allow_overwrite" : 1, "repo_root" : ".", "version" : "0.009" } }, "name" : "@DROLSKY/Generate CODE_OF_CONDUCT.md", "version" : "0.015" }, { "class" : "Dist::Zilla::Plugin::InstallGuide", "config" : { "Dist::Zilla::Role::ModuleMetadata" : { "Module::Metadata" : "1.000037", "version" : "0.006" } }, "name" : "@DROLSKY/InstallGuide", "version" : "1.200014" }, { "class" : "Dist::Zilla::Plugin::CPANFile", "name" : "@DROLSKY/CPANFile", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::License", "name" : "@DROLSKY/DROLSKY::License", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::CheckStrictVersion", "name" : "@DROLSKY/CheckStrictVersion", "version" : "0.001" }, { "class" : "Dist::Zilla::Plugin::CheckSelfDependency", "config" : { "Dist::Zilla::Plugin::CheckSelfDependency" : { "finder" : [ ":InstallModules" ] }, "Dist::Zilla::Role::ModuleMetadata" : { "Module::Metadata" : "1.000037", "version" : "0.006" } }, "name" : "@DROLSKY/CheckSelfDependency", "version" : "0.011" }, { "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed", "name" : "@DROLSKY/CheckPrereqsIndexed", "version" : "0.020" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::Git::CheckFor::CorrectBranch", "config" : { "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." } }, "name" : "@DROLSKY/DROLSKY::Git::CheckFor::CorrectBranch", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::EnsureChangesHasContent", "name" : "@DROLSKY/EnsureChangesHasContent", "version" : "0.02" }, { "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts", "config" : { "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." } }, "name" : "@DROLSKY/Git::CheckFor::MergeConflicts", "version" : "0.014" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::PerlLinterConfigFiles", "name" : "@DROLSKY/DROLSKY::PerlLinterConfigFiles", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::DevTools", "name" : "@DROLSKY/DROLSKY::DevTools", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::Precious", "name" : "@DROLSKY/DROLSKY::Precious", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "config" : { "Dist::Zilla::Plugin::Git::Check" : { "untracked_files" : "die" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "CODE_OF_CONDUCT.md", "CONTRIBUTING.md", "Changes", "LICENSE", "Makefile.PL", "README.md", "cpanfile", "precious.toml" ], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." } }, "name" : "@DROLSKY/Git::Check", "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "config" : { "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [], "commit_msg" : "v%V%n%n%c", "signoff" : 0 }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "CODE_OF_CONDUCT.md", "CONTRIBUTING.md", "Changes", "LICENSE", "Makefile.PL", "README.md", "cpanfile", "precious.toml" ], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@DROLSKY/Commit generated files", "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "config" : { "Dist::Zilla::Plugin::Git::Tag" : { "branch" : null, "changelog" : "Changes", "signed" : 0, "tag" : "v1.79", "tag_format" : "v%V", "tag_message" : "v%V" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@DROLSKY/Git::Tag", "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::Git::Push", "config" : { "Dist::Zilla::Plugin::Git::Push" : { "push_to" : [ "origin" ], "remotes_must_exist" : 1 }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." } }, "name" : "@DROLSKY/Git::Push", "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease", "config" : { "Dist::Zilla::Plugin::BumpVersionAfterRelease" : { "finders" : [ ":ExecFiles", ":InstallModules" ], "global" : 0, "munge_makefile_pl" : 1 } }, "name" : "@DROLSKY/BumpVersionAfterRelease", "version" : "0.018" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "config" : { "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [], "commit_msg" : "Bump version after release", "signoff" : 0 }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "Changes", "dist.ini" ], "allow_dirty_match" : [ "(?^:.+)" ], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@DROLSKY/Commit version bump", "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::Git::Push", "config" : { "Dist::Zilla::Plugin::Git::Push" : { "push_to" : [ "origin" ], "remotes_must_exist" : 1 }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.31.1", "repo_root" : "." } }, "name" : "@DROLSKY/Push version bump", "version" : "2.047" }, { "class" : "Dist::Zilla::Plugin::DROLSKY::MakeMaker", "config" : { "Dist::Zilla::Plugin::MakeMaker" : { "make_path" : "make", "version" : "6.017" }, "Dist::Zilla::Plugin::MakeMaker::Awesome" : { "version" : "0.48" }, "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 24, "version" : "6.017" } }, "name" : "@DROLSKY/DROLSKY::MakeMaker", "version" : "1.18" }, { "class" : "Dist::Zilla::Plugin::MetaResources", "name" : "MetaResources", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::lib", "config" : { "Dist::Zilla::Plugin::lib" : { "lib" : [ "." ] } }, "name" : "lib", "version" : "0.001002" }, { "class" : "inc::GenerateLocaleTests", "name" : "=inc::GenerateLocaleTests", "version" : null }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "DevelopRequires", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExtraTestFiles", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":PerlExecFiles", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":AllFiles", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":NoFiles", "version" : "6.017" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : "@DROLSKY/MetaProvides::Package/AUTOVIV/:InstallModulesPM", "version" : "6.017" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : 0 }, "version" : "6.017" } }, "x_authority" : "cpan:DROLSKY", "x_contributors" : [ "Christian Hansen ", "D. Ilmari Manns\u00e5ker ", "gregor herrmann ", "key-amb ", "Mohammad S Anwar " ], "x_generated_by_perl" : "v5.30.1", "x_serialization_backend" : "Cpanel::JSON::XS version 4.19", "x_spdx_expression" : "Artistic-2.0" } DateTime-Format-Strptime-1.79/CODE_OF_CONDUCT.md0000644000175000017500000000625314043574012020646 0ustar autarchautarch# Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at autarch@urth.org. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html [homepage]: https://www.contributor-covenant.org DateTime-Format-Strptime-1.79/inc/0000775000175000017500000000000014043574012016614 5ustar autarchautarchDateTime-Format-Strptime-1.79/inc/GenerateLocaleTests.pm0000644000175000017500000001272414043574012023053 0ustar autarchautarchpackage inc::GenerateLocaleTests; use strict; use warnings; use namespace::autoclean; use DateTime::Locale 1.23; use Dist::Zilla::File::InMemory; use Moose; with( 'Dist::Zilla::Role::FileGatherer', 'Dist::Zilla::Role::TextTemplate', ); my $template = <<'EOF'; use strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = '{{$code}}'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } EOF sub gather_files { my $self = shift; my %non_author = map { $_ => 1 } qw( en de ga pt zh ); for my $code ( DateTime::Locale->codes ) { my $filename = $non_author{$code} ? "t/generated-locale-$code.t" : "xt/author/generated-locale-$code.t"; $self->add_file( Dist::Zilla::File::InMemory->new( name => $filename, content => $self->fill_in_string( $template, { code => $code }, ), ) ); } } __PACKAGE__->meta->make_immutable; 1; DateTime-Format-Strptime-1.79/lib/0000775000175000017500000000000014043574012016611 5ustar autarchautarchDateTime-Format-Strptime-1.79/lib/DateTime/0000775000175000017500000000000014043574012020305 5ustar autarchautarchDateTime-Format-Strptime-1.79/lib/DateTime/Format/0000775000175000017500000000000014043574012021535 5ustar autarchautarchDateTime-Format-Strptime-1.79/lib/DateTime/Format/Strptime/0000775000175000017500000000000014043574012023344 5ustar autarchautarchDateTime-Format-Strptime-1.79/lib/DateTime/Format/Strptime/Types.pm0000644000175000017500000000447214043574012025013 0ustar autarchautarchpackage DateTime::Format::Strptime::Types; use strict; use warnings; our $VERSION = '1.79'; use parent 'Specio::Exporter'; use DateTime; use DateTime::Locale::Base; use DateTime::Locale::FromData; use DateTime::TimeZone; use Specio 0.33; use Specio::Declare; use Specio::Library::Builtins -reexport; use Specio::Library::String -reexport; union( 'Locale', of => [ object_isa_type('DateTime::Locale::Base'), object_isa_type('DateTime::Locale::FromData'), ], ); coerce( t('Locale'), from => t('NonEmptyStr'), inline => sub {"DateTime::Locale->load( $_[1] )"}, ); object_isa_type('DateTime'); my $time_zone_object = object_can_type( 'TZObject', methods => [ qw( is_floating is_utc name offset_for_datetime short_name_for_datetime ) ], ); declare( 'TimeZone', of => [ t('NonEmptySimpleStr'), $time_zone_object ], ); coerce( t('TimeZone'), from => t('NonEmptyStr'), inline => sub {"DateTime::TimeZone->new( name => $_[1] )"}, ); union( 'OnError', of => [ enum( values => [ 'croak', 'undef' ] ), t('CodeRef'), ], ); 1; # ABSTRACT: Types used for parameter checking in DateTime::Format::Strptime __END__ =pod =encoding UTF-8 =head1 NAME DateTime::Format::Strptime::Types - Types used for parameter checking in DateTime::Format::Strptime =head1 VERSION version 1.79 =head1 DESCRIPTION This module has no user-facing parts. =for Pod::Coverage .* =head1 SUPPORT Bugs may be submitted at L. There is a mailing list available for users of this distribution, L. I am also usually active on IRC as 'autarch' on C. =head1 SOURCE The source code repository for DateTime-Format-Strptime can be found at L. =head1 AUTHORS =over 4 =item * Dave Rolsky =item * Rick Measham =back =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2015 - 2021 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) The full text of the license can be found in the F file included with this distribution. =cut DateTime-Format-Strptime-1.79/lib/DateTime/Format/Strptime.pm0000644000175000017500000012701714043574012023710 0ustar autarchautarchpackage DateTime::Format::Strptime; use strict; use warnings; our $VERSION = '1.79'; use Carp qw( carp croak ); use DateTime 1.00; use DateTime::Locale 1.30; use DateTime::Format::Strptime::Types; use DateTime::TimeZone 2.09; use Exporter (); use Params::ValidationCompiler qw( validation_for ); use Try::Tiny; our @EXPORT_OK = qw( strftime strptime ); ## no critic (ValuesAndExpressions::ProhibitConstantPragma) use constant PERL_58 => $] < 5.010; # We previously used Package::DeprecationManager which allowed passing of # "-api_version => X" on import. We don't want any such imports to blow up but # we no longer have anything to deprecate. sub import { my $class = shift; my @args; ## no critic (ControlStructures::ProhibitCStyleForLoops) for ( my $i = 0; $i < @_; $i++ ) { if ( $_[$i] eq '-api_version' ) { $i++; } else { push @args, $_[$i]; } } @_ = ( $class, @args ); goto &Exporter::import; } { my $en_locale = DateTime::Locale->load('en'); my $validator = validation_for( params => { pattern => { type => t('NonEmptyStr') }, time_zone => { type => t('TimeZone'), optional => 1, }, zone_map => { type => t('HashRef'), default => sub { {} }, }, locale => { type => t('Locale'), default => sub {$en_locale}, }, on_error => { type => t('OnError'), default => 'undef', }, strict => { type => t('Bool'), default => 0, }, debug => { type => t('Bool'), default => $ENV{DATETIME_FORMAT_STRPTIME_DEBUG}, }, }, ); sub new { my $class = shift; my %args = $validator->(@_); my $self = bless { %args, zone_map => $class->_build_zone_map( $args{zone_map} ), }, $class; # Forces a check that the pattern is valid $self->_parser; if ( $self->{debug} ) { binmode STDERR, ':encoding(UTF-8)' or die $!; } return $self; } } { my %zone_map = ( 'A' => '+0100', 'ACDT' => '+1030', 'ACST' => '+0930', 'ADT' => undef, 'AEDT' => '+1100', 'AES' => '+1000', 'AEST' => '+1000', 'AFT' => '+0430', 'AHDT' => '-0900', 'AHST' => '-1000', 'AKDT' => '-0800', 'AKST' => '-0900', 'AMST' => '+0400', 'AMT' => '+0400', 'ANAST' => '+1300', 'ANAT' => '+1200', 'ART' => '-0300', 'AST' => undef, 'AT' => '-0100', 'AWST' => '+0800', 'AZOST' => '+0000', 'AZOT' => '-0100', 'AZST' => '+0500', 'AZT' => '+0400', 'B' => '+0200', 'BADT' => '+0400', 'BAT' => '+0600', 'BDST' => '+0200', 'BDT' => '+0600', 'BET' => '-1100', 'BNT' => '+0800', 'BORT' => '+0800', 'BOT' => '-0400', 'BRA' => '-0300', 'BST' => undef, 'BT' => undef, 'BTT' => '+0600', 'C' => '+0300', 'CAST' => '+0930', 'CAT' => undef, 'CCT' => undef, 'CDT' => undef, 'CEST' => '+0200', 'CET' => '+0100', 'CETDST' => '+0200', 'CHADT' => '+1345', 'CHAST' => '+1245', 'CKT' => '-1000', 'CLST' => '-0300', 'CLT' => '-0400', 'COT' => '-0500', 'CST' => undef, 'CSuT' => '+1030', 'CUT' => '+0000', 'CVT' => '-0100', 'CXT' => '+0700', 'ChST' => '+1000', 'D' => '+0400', 'DAVT' => '+0700', 'DDUT' => '+1000', 'DNT' => '+0100', 'DST' => '+0200', 'E' => '+0500', 'EASST' => '-0500', 'EAST' => undef, 'EAT' => '+0300', 'ECT' => undef, 'EDT' => undef, 'EEST' => '+0300', 'EET' => '+0200', 'EETDST' => '+0300', 'EGST' => '+0000', 'EGT' => '-0100', 'EMT' => '+0100', 'EST' => undef, 'ESuT' => '+1100', 'F' => '+0600', 'FDT' => undef, 'FJST' => '+1300', 'FJT' => '+1200', 'FKST' => '-0300', 'FKT' => '-0400', 'FST' => undef, 'FWT' => '+0100', 'G' => '+0700', 'GALT' => '-0600', 'GAMT' => '-0900', 'GEST' => '+0500', 'GET' => '+0400', 'GFT' => '-0300', 'GILT' => '+1200', 'GMT' => '+0000', 'GST' => undef, 'GT' => '+0000', 'GYT' => '-0400', 'GZ' => '+0000', 'H' => '+0800', 'HAA' => '-0300', 'HAC' => '-0500', 'HAE' => '-0400', 'HAP' => '-0700', 'HAR' => '-0600', 'HAT' => '-0230', 'HAY' => '-0800', 'HDT' => '-0930', 'HFE' => '+0200', 'HFH' => '+0100', 'HG' => '+0000', 'HKT' => '+0800', 'HL' => 'local', 'HNA' => '-0400', 'HNC' => '-0600', 'HNE' => '-0500', 'HNP' => '-0800', 'HNR' => '-0700', 'HNT' => '-0330', 'HNY' => '-0900', 'HOE' => '+0100', 'HST' => '-1000', 'I' => '+0900', 'ICT' => '+0700', 'IDLE' => '+1200', 'IDLW' => '-1200', 'IDT' => undef, 'IOT' => '+0500', 'IRDT' => '+0430', 'IRKST' => '+0900', 'IRKT' => '+0800', 'IRST' => '+0430', 'IRT' => '+0330', 'IST' => undef, 'IT' => '+0330', 'ITA' => '+0100', 'JAVT' => '+0700', 'JAYT' => '+0900', 'JST' => '+0900', 'JT' => '+0700', 'K' => '+1000', 'KDT' => '+1000', 'KGST' => '+0600', 'KGT' => '+0500', 'KOST' => '+1200', 'KRAST' => '+0800', 'KRAT' => '+0700', 'KST' => '+0900', 'L' => '+1100', 'LHDT' => '+1100', 'LHST' => '+1030', 'LIGT' => '+1000', 'LINT' => '+1400', 'LKT' => '+0600', 'LST' => 'local', 'LT' => 'local', 'M' => '+1200', 'MAGST' => '+1200', 'MAGT' => '+1100', 'MAL' => '+0800', 'MART' => '-0930', 'MAT' => '+0300', 'MAWT' => '+0600', 'MDT' => '-0600', 'MED' => '+0200', 'MEDST' => '+0200', 'MEST' => '+0200', 'MESZ' => '+0200', 'MET' => undef, 'MEWT' => '+0100', 'MEX' => '-0600', 'MEZ' => '+0100', 'MHT' => '+1200', 'MMT' => '+0630', 'MPT' => '+1000', 'MSD' => '+0400', 'MSK' => '+0300', 'MSKS' => '+0400', 'MST' => '-0700', 'MT' => '+0830', 'MUT' => '+0400', 'MVT' => '+0500', 'MYT' => '+0800', 'N' => '-0100', 'NCT' => '+1100', 'NDT' => '-0230', 'NFT' => undef, 'NOR' => '+0100', 'NOVST' => '+0700', 'NOVT' => '+0600', 'NPT' => '+0545', 'NRT' => '+1200', 'NST' => undef, 'NSUT' => '+0630', 'NT' => '-1100', 'NUT' => '-1100', 'NZDT' => '+1300', 'NZST' => '+1200', 'NZT' => '+1200', 'O' => '-0200', 'OESZ' => '+0300', 'OEZ' => '+0200', 'OMSST' => '+0700', 'OMST' => '+0600', 'OZ' => 'local', 'P' => '-0300', 'PDT' => '-0700', 'PET' => '-0500', 'PETST' => '+1300', 'PETT' => '+1200', 'PGT' => '+1000', 'PHOT' => '+1300', 'PHT' => '+0800', 'PKT' => '+0500', 'PMDT' => '-0200', 'PMT' => '-0300', 'PNT' => '-0830', 'PONT' => '+1100', 'PST' => undef, 'PWT' => '+0900', 'PYST' => '-0300', 'PYT' => '-0400', 'Q' => '-0400', 'R' => '-0500', 'R1T' => '+0200', 'R2T' => '+0300', 'RET' => '+0400', 'ROK' => '+0900', 'S' => '-0600', 'SADT' => '+1030', 'SAST' => undef, 'SBT' => '+1100', 'SCT' => '+0400', 'SET' => '+0100', 'SGT' => '+0800', 'SRT' => '-0300', 'SST' => undef, 'SWT' => '+0100', 'T' => '-0700', 'TFT' => '+0500', 'THA' => '+0700', 'THAT' => '-1000', 'TJT' => '+0500', 'TKT' => '-1000', 'TMT' => '+0500', 'TOT' => '+1300', 'TRUT' => '+1000', 'TST' => '+0300', 'TUC ' => '+0000', 'TVT' => '+1200', 'U' => '-0800', 'ULAST' => '+0900', 'ULAT' => '+0800', 'USZ1' => '+0200', 'USZ1S' => '+0300', 'USZ3' => '+0400', 'USZ3S' => '+0500', 'USZ4' => '+0500', 'USZ4S' => '+0600', 'USZ5' => '+0600', 'USZ5S' => '+0700', 'USZ6' => '+0700', 'USZ6S' => '+0800', 'USZ7' => '+0800', 'USZ7S' => '+0900', 'USZ8' => '+0900', 'USZ8S' => '+1000', 'USZ9' => '+1000', 'USZ9S' => '+1100', 'UTZ' => '-0300', 'UYT' => '-0300', 'UZ10' => '+1100', 'UZ10S' => '+1200', 'UZ11' => '+1200', 'UZ11S' => '+1300', 'UZ12' => '+1200', 'UZ12S' => '+1300', 'UZT' => '+0500', 'V' => '-0900', 'VET' => '-0400', 'VLAST' => '+1100', 'VLAT' => '+1000', 'VTZ' => '-0200', 'VUT' => '+1100', 'W' => '-1000', 'WAKT' => '+1200', 'WAST' => undef, 'WAT' => '+0100', 'WEST' => '+0100', 'WESZ' => '+0100', 'WET' => '+0000', 'WETDST' => '+0100', 'WEZ' => '+0000', 'WFT' => '+1200', 'WGST' => '-0200', 'WGT' => '-0300', 'WIB' => '+0700', 'WIT' => '+0900', 'WITA' => '+0800', 'WST' => undef, 'WTZ' => '-0100', 'WUT' => '+0100', 'X' => '-1100', 'Y' => '-1200', 'YAKST' => '+1000', 'YAKT' => '+0900', 'YAPT' => '+1000', 'YDT' => '-0800', 'YEKST' => '+0600', 'YEKT' => '+0500', 'YST' => '-0900', 'Z' => '+0000', 'UTC' => '+0000', ); for my $i ( map { sprintf( '%02d', $_ ) } 1 .. 12 ) { $zone_map{ '-' . $i } = '-' . $i . '00'; $zone_map{ '+' . $i } = '+' . $i . '00'; } sub _build_zone_map { return { %zone_map, %{ $_[1] }, }; } } sub parse_datetime { my $self = shift; my $string = shift; my $parser = $self->_parser; if ( $self->{debug} ) { warn "Regex for $self->{pattern}: $parser->{regex}\n"; warn "Fields: @{$parser->{fields}}\n"; } my @matches = ( $string =~ $parser->{regex} ); unless (@matches) { my $msg = 'Your datetime does not match your pattern'; if ( $self->{debug} ) { $msg .= qq{ - string = "$string" - regex = $parser->{regex}}; } $msg .= q{.}; $self->_our_croak($msg); return; } my %args; my $i = 0; for my $f ( @{ $parser->{fields} } ) { unless ( defined $matches[$i] ) { die "Something horrible happened - the string matched $parser->{regex}" . " but did not return the expected fields: [@{$parser->{fields}}]"; } $args{$f} = $matches[ $i++ ]; } # We need to copy the %args here because _munge_args will delete keys in # order to turn this into something that can be passed to a DateTime # constructor. my ( $constructor, $args, $post_construct ) = $self->_munge_args( {%args} ); return unless $constructor && $args; my $dt = try { DateTime->$constructor($args) }; $self->_our_croak('Parsed values did not produce a valid date') unless $dt; if ($post_construct) { $post_construct->($dt); } return unless $dt && $self->_check_dt( $dt, \%args ); $dt->set_time_zone( $self->{time_zone} ) if $self->{time_zone}; return $dt; } sub _parser { my $self = shift; return $self->{parser} ||= $self->_build_parser; } sub _build_parser { my $self = shift; my ( $replacement_tokens_re, $replacements, $pattern_tokens_re, $patterns, ) = $self->_parser_pieces; my $pattern = $self->{pattern}; # When the first replacement is a glibc pattern, the first round of # replacements may simply replace one replacement token (like %X) with # another replacement token (like %I). $pattern =~ s/%($replacement_tokens_re)/$replacements->{$1}/g for 1 .. 2; if ( $self->{debug} && $pattern ne $self->{pattern} ) { warn "Pattern after replacement substitution: $pattern\n"; } my $regex = q{}; my @fields; while ( $pattern =~ / \G %($pattern_tokens_re) | %([1-9]?)(N) | (%[0-9]*[a-zA-Z]) | ([^%]+) /xg ) { # Using \G in the regex match fails for some reason on Perl 5.8, so we # do this hack instead. substr( $pattern, 0, pos $pattern, q{} ) if PERL_58; if ($1) { my $p = $patterns->{$1} or croak "Unidentified token in pattern: $1 in $self->{pattern}"; if ( $p->{field} ) { $regex .= qr/($p->{regex})/; push @fields, $p->{field}; } else { $regex .= qr/$p->{regex}/; } } elsif ($3) { $regex .= $2 ? qr/([0-9]{$2})/ : qr/([0-9]+)/; push @fields, 'nanosecond'; } elsif ($4) { croak qq{Pattern contained an unrecognized strptime token, "$4"}; } else { $regex .= qr/\Q$5/; } } return { regex => ( $self->{strict} ? qr/(?:\A|\b)$regex(?:\b|\Z)/ : qr/$regex/ ), fields => \@fields, }; } { my $digit = qr/(?:[0-9])/; my $one_or_two_digits = qr/[0-9 ]?$digit/; # These patterns are all locale-independent. There are a few that depend # on the locale, and must be re-calculated for each new parser object. my %universal_patterns = ( '%' => { regex => qr/%/, }, C => { regex => $one_or_two_digits, field => 'century', }, d => { regex => $one_or_two_digits, field => 'day', }, g => { regex => $one_or_two_digits, field => 'iso_week_year_100', }, G => { regex => qr/$digit{4}/, field => 'iso_week_year', }, H => { regex => $one_or_two_digits, field => 'hour', }, I => { regex => $one_or_two_digits, field => 'hour_12', }, j => { regex => qr/$digit{1,3}/, field => 'day_of_year', }, m => { regex => $one_or_two_digits, field => 'month', }, M => { regex => $one_or_two_digits, field => 'minute', }, n => { regex => qr/\s+/, }, O => { regex => qr{[a-zA-Z_]+(?:/[a-zA-Z_]+(?:/[a-zA-Z_]+)?)?}, field => 'time_zone_name', }, s => { regex => qr/$digit+/, field => 'epoch', }, S => { regex => $one_or_two_digits, field => 'second', }, U => { regex => $one_or_two_digits, field => 'week_sun_0', }, u => { regex => $one_or_two_digits, field => 'day_of_week', }, w => { regex => $one_or_two_digits, field => 'day_of_week_sun_0', }, W => { regex => $one_or_two_digits, field => 'week_mon_1', }, y => { regex => $one_or_two_digits, field => 'year_100', }, Y => { regex => qr/$digit{4}/, field => 'year', }, z => { regex => qr/(?:Z|[+-]$digit{2}(?:[:]?$digit{2})?)/, field => 'time_zone_offset', }, Z => { regex => qr/[a-zA-Z]{1,6}|[\-\+]$digit{2}/, field => 'time_zone_abbreviation', }, ); $universal_patterns{e} = $universal_patterns{d}; $universal_patterns{k} = $universal_patterns{H}; $universal_patterns{l} = $universal_patterns{I}; $universal_patterns{t} = $universal_patterns{n}; my %universal_replacements = ( D => '%m/%d/%y', F => '%Y-%m-%d', r => '%I:%M:%S %p', R => '%H:%M', T => '%H:%M:%S', ); sub _parser_pieces { my $self = shift; my %replacements = %universal_replacements; $replacements{c} = $self->{locale}->glibc_datetime_format; $replacements{x} = $self->{locale}->glibc_date_format; $replacements{X} = $self->{locale}->glibc_time_format; my %patterns = %universal_patterns; $patterns{a} = $patterns{A} = { regex => do { my $days = join '|', map {quotemeta} sort { ( length $b <=> length $a ) or ( $a cmp $b ) } keys %{ $self->_locale_days }; qr/$days/i; }, field => 'day_name', }; $patterns{b} = $patterns{B} = $patterns{h} = { regex => do { my $months = join '|', map {quotemeta} sort { ( length $b <=> length $a ) or ( $a cmp $b ) } keys %{ $self->_locale_months }; qr/$months/i; }, field => 'month_name', }; $patterns{p} = $patterns{P} = { regex => do { my $am_pm = join '|', map {quotemeta} sort { ( length $b <=> length $a ) or ( $a cmp $b ) } @{ $self->{locale}->am_pm_abbreviated }; qr/$am_pm/i; }, field => 'am_pm', }; return ( $self->_token_re_for( keys %replacements ), \%replacements, $self->_token_re_for( keys %patterns ), \%patterns, ); } } sub _locale_days { my $self = shift; return $self->{locale_days} if $self->{locale_days}; my $wide = $self->{locale}->day_format_wide; my $abbr = $self->{locale}->day_format_abbreviated; my %locale_days; for my $i ( 0 .. 6 ) { $locale_days{ lc $wide->[$i] } = $i; $locale_days{ lc $abbr->[$i] } = $i; } return $self->{locale_days} ||= \%locale_days; } sub _locale_months { my $self = shift; return $self->{locale_months} if $self->{locale_months}; my $wide = $self->{locale}->month_format_wide; my $abbr = $self->{locale}->month_format_abbreviated; my %locale_months; for my $i ( 0 .. 11 ) { $locale_months{ lc $wide->[$i] } = $i + 1; $locale_months{ lc $abbr->[$i] } = $i + 1; } return $self->{locale_months} ||= \%locale_months; } sub _token_re_for { shift; my $t = join '|', sort { ( length $b <=> length $a ) or ( $a cmp $b ) } @_; return qr/$t/; } { # These are fields we parse that cannot be passed to a DateTime # constructor my @non_dt_keys = qw( am_pm century day_name day_of_week day_of_week_sun_0 hour_12 iso_week_year iso_week_year_100 month_name time_zone_abbreviation time_zone_name time_zone_offset week_mon_1 week_sun_0 year_100 ); ## no critic (Subroutines::ProhibitExcessComplexity) sub _munge_args { my $self = shift; my $args = shift; if ( defined $args->{month_name} ) { my $num = $self->_locale_months->{ lc $args->{month_name} } or die "We somehow parsed a month name ($args->{month_name})" . ' that does not correspond to any month in this locale!'; $args->{month} = $num; } if ( defined $args->{am_pm} && defined $args->{hour_12} ) { my ( $am, $pm ) = @{ $self->{locale}->am_pm_abbreviated }; $args->{hour} = $args->{hour_12}; if ( lc $args->{am_pm} eq lc $am ) { $args->{hour} = 0 if $args->{hour} == 12; } else { $args->{hour} += 12 unless $args->{hour} == 12; } } elsif ( defined $args->{hour_12} ) { $self->_our_croak( qq{Parsed a 12-hour based hour, "$args->{hour_12}",} . ' but the pattern does not include an AM/PM specifier' ); return; } if ( defined $args->{year_100} ) { if ( defined $args->{century} ) { $args->{year} = $args->{year_100} + ( $args->{century} * 100 ); } else { $args->{year} = $args->{year_100} + ( $args->{year_100} >= 69 ? 1900 : 2000 ); } } if ( $args->{time_zone_offset} ) { my $offset = $args->{time_zone_offset}; if ( $offset eq 'Z' ) { $offset = '+0000'; } elsif ( $offset =~ /^[+-][0-9]{2}$/ ) { $offset .= '00'; } my $tz = try { DateTime::TimeZone->new( name => $offset ) }; unless ($tz) { $self->_our_croak( qq{The time zone name offset that was parsed does not appear to be valid, "$args->{time_zone_offset}"} ); return; } $args->{time_zone} = $tz; } if ( defined $args->{time_zone_abbreviation} ) { my $abbr = $args->{time_zone_abbreviation}; unless ( exists $self->{zone_map}{$abbr} ) { $self->_our_croak( qq{Parsed an unrecognized time zone abbreviation, "$args->{time_zone_abbreviation}"} ); return; } if ( !defined $self->{zone_map}{$abbr} ) { $self->_our_croak( qq{The time zone abbreviation that was parsed is ambiguous, "$args->{time_zone_abbreviation}"} ); return; } $args->{time_zone} = DateTime::TimeZone->new( name => $self->{zone_map}{$abbr} ); } else { $args->{time_zone} ||= 'floating'; } if ( $args->{time_zone_name} ) { my $name = $args->{time_zone_name}; my $tz; unless ( $tz = try { DateTime::TimeZone->new( name => $name ) } ) { $name = lc $name; $name =~ s{(^|[/_])(.)}{$1\U$2}g; } $tz = try { DateTime::TimeZone->new( name => $name ) }; unless ($tz) { $self->_our_croak( qq{The Olson time zone name that was parsed does not appear to be valid, "$args->{time_zone_name}"} ); return; } $args->{time_zone} = $tz if $tz; } delete @{$args}{@non_dt_keys}; $args->{locale} = $self->{locale}; for my $k ( grep { defined $args->{$_} } qw( month day hour minute second nanosecond ) ) { $args->{$k} =~ s/^\s+//; } if ( defined $args->{nanosecond} ) { # If we parsed "12345" we treat it as "123450000" but if we parsed # "000123456" we treat it as 123,456 nanoseconds. This is all a bit # weird and confusing but it matches how this module has always # worked. $args->{nanosecond} *= 10**( 9 - length $args->{nanosecond} ) if length $args->{nanosecond} != 9; # If we parsed 000000123 we want to turn this into a number. $args->{nanosecond} += 0; } for my $k (qw( year month day )) { $args->{$k} = 1 unless defined $args->{$k}; } if ( defined $args->{epoch} ) { # We don't want to pass a non-integer epoch value since that gets # truncated as of DateTime 1.22. Instead, we'll set the nanosecond # to parsed value after constructing the object. This is a hack, # but it's the best I can come up with. my $post_construct; if ( my $nano = $args->{nanosecond} ) { $post_construct = sub { $_[0]->set( nanosecond => $nano ) }; } delete @{$args}{ qw( day_of_year year month day hour minute second nanosecond ) }; return ( 'from_epoch', $args, $post_construct ); } elsif ( $args->{day_of_year} ) { delete @{$args}{qw( epoch month day )}; return ( 'from_day_of_year', $args ); } return ( 'new', $args ); } } ## no critic (Subroutines::ProhibitExcessComplexity) sub _check_dt { my $self = shift; my $dt = shift; my $args = shift; my $is_am = defined $args->{am_pm} && lc $args->{am_pm} eq lc $self->{locale}->am_pm_abbreviated->[0]; if ( defined $args->{hour} && defined $args->{hour_12} ) { unless ( ( $args->{hour} % 12 ) == $args->{hour_12} ) { $self->_our_croak( 'Parsed an input with 24-hour and 12-hour time values that do not match' . qq{ - "$args->{hour}" versus "$args->{hour_12}"} ); return; } } if ( defined $args->{hour} && defined $args->{am_pm} ) { if ( ( $is_am && $args->{hour} >= 12 ) || ( !$is_am && $args->{hour} < 12 ) ) { $self->_our_croak( 'Parsed an input with 24-hour and AM/PM values that do not match' . qq{ - "$args->{hour}" versus "$args->{am_pm}"} ); return; } } if ( defined $args->{year} && defined $args->{century} ) { unless ( int( $args->{year} / 100 ) == $args->{century} ) { $self->_our_croak( 'Parsed an input with year and century values that do not match' . qq{ - "$args->{year}" versus "$args->{century}"} ); return; } } if ( defined $args->{year} && defined $args->{year_100} ) { unless ( ( $args->{year} % 100 ) == $args->{year_100} ) { $self->_our_croak( 'Parsed an input with year and year-within-century values that do not match' . qq{ - "$args->{year}" versus "$args->{year_100}"} ); return; } } if ( defined $args->{time_zone_abbreviation} && defined $args->{time_zone_offset} ) { unless ( $self->{zone_map}{ $args->{time_zone_abbreviation} } && $self->{zone_map}{ $args->{time_zone_abbreviation} } eq $args->{time_zone_offset} ) { $self->_our_croak( 'Parsed an input with time zone abbreviation and time zone offset values that do not match' . qq{ - "$args->{time_zone_abbreviation}" versus "$args->{time_zone_offset}"} ); return; } } if ( defined $args->{epoch} ) { for my $key ( qw( year month day minute hour second hour_12 day_of_year )) { if ( defined $args->{$key} && $dt->$key != $args->{$key} ) { my $print_key = $key eq 'hour_12' ? 'hour (1-12)' : $key eq 'day_of_year' ? 'day of year' : $key; $self->_our_croak( "Parsed an input with epoch and $print_key values that do not match" . qq{ - "$args->{epoch}" versus "$args->{$key}"} ); return; } } } if ( defined $args->{month} && defined $args->{day_of_year} ) { unless ( $dt->month == $args->{month} ) { $self->_our_croak( 'Parsed an input with month and day of year values that do not match' . qq{ - "$args->{month}" versus "$args->{day_of_year}"} ); return; } } if ( defined $args->{day_name} ) { my $dow = $self->_locale_days->{ lc $args->{day_name} }; defined $dow or die "We somehow parsed a day name ($args->{day_name})" . ' that does not correspond to any day in this locale!'; unless ( $dt->day_of_week_0 == $dow ) { $self->_our_croak( 'Parsed an input where the day name does not match the date' . qq{ - "$args->{day_name}" versus "} . $dt->ymd . q{"} ); return; } } if ( defined $args->{day_of_week} ) { unless ( $dt->day_of_week == $args->{day_of_week} ) { $self->_our_croak( 'Parsed an input where the day of week does not match the date' . qq{ - "$args->{day_of_week}" versus "} . $dt->ymd . q{"} ); return; } } if ( defined $args->{day_of_week_sun_0} ) { unless ( ( $dt->day_of_week % 7 ) == $args->{day_of_week_sun_0} ) { $self->_our_croak( 'Parsed an input where the day of week (Sunday as 0) does not match the date' . qq{ - "$args->{day_of_week_sun_0}" versus "} . $dt->ymd . q{"} ); return; } } if ( defined $args->{iso_week_year} ) { unless ( $dt->week_year == $args->{iso_week_year} ) { $self->_our_croak( 'Parsed an input where the ISO week year does not match the date' . qq{ - "$args->{iso_week_year}" versus "} . $dt->ymd . q{"} ); return; } } if ( defined $args->{iso_week_year_100} ) { unless ( ( 0 + substr( $dt->week_year, -2 ) ) == $args->{iso_week_year_100} ) { $self->_our_croak( 'Parsed an input where the ISO week year (without century) does not match the date' . qq{ - "$args->{iso_week_year_100}" versus "} . $dt->ymd . q{"} ); return; } } if ( defined $args->{week_mon_1} ) { unless ( ( 0 + $dt->strftime('%W') ) == $args->{week_mon_1} ) { $self->_our_croak( 'Parsed an input where the ISO week number (Monday starts week) does not match the date' . qq{ - "$args->{week_mon_1}" versus "} . $dt->ymd . q{"} ); return; } } if ( defined $args->{week_sun_0} ) { unless ( ( 0 + $dt->strftime('%U') ) == $args->{week_sun_0} ) { $self->_our_croak( 'Parsed an input where the ISO week number (Sunday starts week) does not match the date' . qq{ - "$args->{week_sun_0}" versus "} . $dt->ymd . q{"} ); return; } } return 1; } ## use critic sub pattern { my $self = shift; return $self->{pattern}; } sub locale { my $self = shift; return $self->{locale}->can('code') ? $self->{locale}->code : $self->{locale}->id; } sub time_zone { my $self = shift; return $self->{time_zone}->name; } sub parse_duration { croak q{DateTime::Format::Strptime doesn't do durations.}; } { my $validator = validation_for( params => [ { type => t('DateTime') } ] ); sub format_datetime { my $self = shift; my ($dt) = $validator->(@_); my $pattern = $self->pattern; $pattern =~ s/%O/$dt->time_zone->name/eg; return $dt->clone->set_locale( $self->locale )->strftime($pattern); } } sub format_duration { croak q{DateTime::Format::Strptime doesn't do durations.}; } sub _our_croak { my $self = shift; my $error = shift; return $self->{on_error}->( $self, $error ) if ref $self->{on_error}; croak $error if $self->{on_error} eq 'croak'; $self->{errmsg} = $error; return; } sub errmsg { $_[0]->{errmsg}; } # Exportable functions: sub strftime { my ( $pattern, $dt ) = @_; return DateTime::Format::Strptime->new( pattern => $pattern, on_error => 'croak' )->format_datetime($dt); } sub strptime { my ( $pattern, $time_string ) = @_; return DateTime::Format::Strptime->new( pattern => $pattern, on_error => 'croak' )->parse_datetime($time_string); } 1; # ABSTRACT: Parse and format strp and strf time patterns __END__ =pod =encoding UTF-8 =head1 NAME DateTime::Format::Strptime - Parse and format strp and strf time patterns =head1 VERSION version 1.79 =head1 SYNOPSIS use DateTime::Format::Strptime; my $strp = DateTime::Format::Strptime->new( pattern => '%T', locale => 'en_AU', time_zone => 'Australia/Melbourne', ); my $dt = $strp->parse_datetime('23:16:42'); $strp->format_datetime($dt); # 23:16:42 # Croak when things go wrong: my $strp = DateTime::Format::Strptime->new( pattern => '%T', locale => 'en_AU', time_zone => 'Australia/Melbourne', on_error => 'croak', ); # Do something else when things go wrong: my $strp = DateTime::Format::Strptime->new( pattern => '%T', locale => 'en_AU', time_zone => 'Australia/Melbourne', on_error => \&phone_police, ); =head1 DESCRIPTION This module implements most of C, the POSIX function that is the reverse of C, for C. While C takes a C and a pattern and returns a string, C takes a string and a pattern and returns the C object associated. =for Pod::Coverage parse_duration format_duration =head1 METHODS This class offers the following methods. =head2 DateTime::Format::Strptime->new(%args) This methods creates a new object. It accepts the following arguments: =over 4 =item * pattern This is the pattern to use for parsing. This is required. =item * strict This is a boolean which disables or enables strict matching mode. By default, this module turns your pattern into a regex that will match anywhere in a string. So given the pattern C<%Y%m%d%H%M%S> it will match a string like C<20161214233712>. However, this also means that a this pattern will match B string that contains 14 or more numbers! This behavior can be very surprising. If you enable strict mode, then the generated regex is wrapped in boundary checks of the form C. These checks ensure that the pattern will only match when at the beginning or end of a string, or when it is separated by other text with a word boundary (C<\w> versus C<\W>). By default, strict mode is off. This is done for backwards compatibility. Future releases may turn it on by default, as it produces less surprising behavior in many cases. Because the default may change in the future, B<< you are strongly encouraged to explicitly set this when constructing all C objects >>. =item * time_zone The default time zone to use for objects returned from parsing. =item * zone_map Some time zone abbreviations are ambiguous (e.g. PST, EST, EDT). By default, the parser will die when it parses an ambiguous abbreviation. You may specify a C parameter as a hashref to map zone abbreviations however you like: zone_map => { PST => '-0800', EST => '-0600' } Note that you can also override non-ambiguous mappings if you want to as well. =item * locale The locale to use for objects returned from parsing. =item * on_error This can be one of C<'undef'> (the string, not an C), 'croak', or a subroutine reference. =over 8 =item * 'undef' This is the default behavior. The module will return C on errors. The error can be accessed using the C<< $object->errmsg >> method. This is the ideal behaviour for interactive use where a user might provide an illegal pattern or a date that doesn't match the pattern. =item * 'croak' The module will croak with an error message on errors. =item * sub{...} or \&subname When given a code ref, the module will call that sub on errors. The sub receives two parameters: the object and the error message. If your sub does not die, then the formatter will continue on as if C was C<'undef'>. =back =back =head2 $strptime->parse_datetime($string) Given a string in the pattern specified in the constructor, this method will return a new C object. If given a string that doesn't match the pattern, the formatter will croak or return undef, depending on the setting of C in the constructor. =head2 $strptime->format_datetime($datetime) Given a C object, this methods returns a string formatted in the object's format. This method is synonymous with C's strftime method. =head2 $strptime->locale This method returns the locale passed to the object's constructor. =head2 $strptime->pattern This method returns the pattern passed to the object's constructor. =head2 $strptime->time_zone This method returns the time zone passed to the object's constructor. =head2 $strptime->errmsg If the on_error behavior of the object is 'undef', you can retrieve error messages with this method so you can work out why things went wrong. =head1 EXPORTS These subs are available as optional exports. =head2 strptime( $strptime_pattern, $string ) Given a pattern and a string this function will return a new C object. =head2 strftime( $strftime_pattern, $datetime ) Given a pattern and a C object this function will return a formatted string. =head1 STRPTIME PATTERN TOKENS The following tokens are allowed in the pattern string for strptime (parse_datetime): =over 4 =item * %% The % character. =item * %a or %A The weekday name according to the given locale, in abbreviated form or the full name. =item * %b or %B or %h The month name according to the given locale, in abbreviated form or the full name. =item * %c The datetime format according to the given locale. Note that this format can change without warning in new versions of L. You should not use this pattern unless the string you are parsing was generated by using this pattern with L B you are sure that this string was generated with the same version of L that the parser is using. =item * %C The century number (0-99). =item * %d or %e The day of month (01-31). This will parse single digit numbers as well. =item * %D Equivalent to %m/%d/%y. (This is the American style date, very confusing to non-Americans, especially since %d/%m/%y is widely used in Europe. The ISO 8601 standard pattern is %F.) =item * %F Equivalent to %Y-%m-%d. (This is the ISO style date) =item * %g The year corresponding to the ISO week number, but without the century (0-99). =item * %G The 4-digit year corresponding to the ISO week number. =item * %H The hour (00-23). This will parse single digit numbers as well. =item * %I The hour on a 12-hour clock (1-12). =item * %j The day number in the year (1-366). =item * %m The month number (01-12). This will parse single digit numbers as well. =item * %M The minute (00-59). This will parse single digit numbers as well. =item * %n Arbitrary whitespace. =item * %N Nanoseconds. For other sub-second values use C<%[number]N>. =item * %p or %P The equivalent of AM or PM according to the locale in use. See L. =item * %r Equivalent to %I:%M:%S %p. =item * %R Equivalent to %H:%M. =item * %s Number of seconds since the Epoch. =item * %S The second (0-60; 60 may occur for leap seconds. See L). =item * %t Arbitrary whitespace. =item * %T Equivalent to %H:%M:%S. =item * %U The week number with Sunday the first day of the week (0-53). The first Sunday of January is the first day of week 1. =item * %u The weekday number (1-7) with Monday = 1. This is the C standard. =item * %w The weekday number (0-6) with Sunday = 0. =item * %W The week number with Monday the first day of the week (0-53). The first Monday of January is the first day of week 1. =item * %x The date format according to the given locale. Note that this format can change without warning in new versions of L. You should not use this pattern unless the string you are parsing was generated by using this pattern with L B you are sure that this string was generated with the same version of L that the parser is using. =item * %X The time format according to the given locale. Note that this format can change without warning in new versions of L. You should not use this pattern unless the string you are parsing was generated by using this pattern with L B you are sure that this string was generated with the same version of L that the parser is using. =item * %y The year within century (0-99). When a century is not otherwise specified (with a value for %C), values in the range 69-99 refer to years in the twentieth century (1969-1999); values in the range 00-68 refer to years in the twenty-first century (2000-2068). =item * %Y A 4-digit year, including century (for example, 1991). =item * %z An RFC-822/ISO 8601 standard time zone specification. (For example +1100) [See note below] =item * %Z The timezone name. (For example EST -- which is ambiguous) [See note below] =item * %O This extended token allows the use of Olson Time Zone names to appear in parsed strings. B: This pattern cannot be passed to C's C method, but can be passed to C. =back =head1 AUTHOR EMERITUS This module was created by Rick Measham. =head1 SEE ALSO C mailing list. http://datetime.perl.org/ L, L, L, L =head1 BUGS Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. Bugs may be submitted at L. There is a mailing list available for users of this distribution, L. I am also usually active on IRC as 'autarch' on C. =head1 SOURCE The source code repository for DateTime-Format-Strptime can be found at L. =head1 DONATIONS If you'd like to thank me for the work I've done on this module, please consider making a "donation" to me via PayPal. I spend a lot of free time creating free software, and would appreciate any support you'd care to offer. Please note that B in order for me to continue working on this particular software. I will continue to do so, inasmuch as I have in the past, for as long as it interests me. Similarly, a donation made in this way will probably not make me work on this software much more, unless I get so many donations that I can consider working on free software full time (let's all have a chuckle at that together). To donate, log into PayPal and send money to autarch@urth.org, or use the button at L. =head1 AUTHORS =over 4 =item * Dave Rolsky =item * Rick Measham =back =head1 CONTRIBUTORS =for stopwords Christian Hansen D. Ilmari Mannsåker gregor herrmann key-amb Mohammad S Anwar =over 4 =item * Christian Hansen =item * D. Ilmari Mannsåker =item * gregor herrmann =item * key-amb =item * Mohammad S Anwar =back =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2015 - 2021 by Dave Rolsky. This is free software, licensed under: The Artistic License 2.0 (GPL Compatible) The full text of the license can be found in the F file included with this distribution. =cut DateTime-Format-Strptime-1.79/xt/0000775000175000017500000000000014043574012016476 5ustar autarchautarchDateTime-Format-Strptime-1.79/xt/release/0000775000175000017500000000000014043574012020116 5ustar autarchautarchDateTime-Format-Strptime-1.79/xt/release/meta-json.t0000644000175000017500000000006414043574012022176 0ustar autarchautarch#!perl use Test::CPAN::Meta::JSON; meta_json_ok(); DateTime-Format-Strptime-1.79/xt/author/0000775000175000017500000000000014043574012020000 5ustar autarchautarchDateTime-Format-Strptime-1.79/xt/author/generated-locale-vai-Latn.t0000644000175000017500000001112214043574012025024 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vai-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-se.t0000644000175000017500000001111414043574012023761 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'se'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fa-IR.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fa-IR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-BF.t0000644000175000017500000001112414043574012025127 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-BF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nd.t0000644000175000017500000001111414043574012023753 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nd'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gsw.t0000644000175000017500000001111514043574012024153 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gsw'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-am-ET.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'am-ET'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zgh-MA.t0000644000175000017500000001112014043574012024432 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zgh-MA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rm.t0000644000175000017500000001111414043574012023770 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rm'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-FJ.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-FJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm.t0000644000175000017500000001112114043574012024616 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GH.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rwk-TZ.t0000644000175000017500000001112014043574012024505 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rwk-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-CM.t0000644000175000017500000001112414043574012025137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-naq.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'naq'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nmg.t0000644000175000017500000001111514043574012024134 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nmg'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-UM.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-UM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hans-MO.t0000644000175000017500000001112414043574012025174 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hans-MO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-br.t0000644000175000017500000001111414043574012023755 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'br'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-km-KH.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'km-KH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dsb-DE.t0000644000175000017500000001112014043574012024405 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dsb-DE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-de-CH.t0000644000175000017500000001111714043574012024235 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-et.t0000644000175000017500000001111414043574012023762 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'et'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-vi-VN.t0000644000175000017500000001111714043574012024314 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vi-VN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kam.t0000644000175000017500000001111514043574012024123 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kam'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-de-IT.t0000644000175000017500000001111714043574012024257 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de-IT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-ZA.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-ZA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-smn.t0000644000175000017500000001111514043574012024150 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'smn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kln.t0000644000175000017500000001111514043574012024137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kln'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lg-UG.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lg-UG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-NG.t0000644000175000017500000001112414043574012025123 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-NG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-asa.t0000644000175000017500000001111514043574012024117 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'asa'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sn.t0000644000175000017500000001111414043574012023772 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ro-MD.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ro-MD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hy.t0000644000175000017500000001111414043574012023772 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hy'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sbp-TZ.t0000644000175000017500000001112014043574012024466 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sbp-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gd-GB.t0000644000175000017500000001111714043574012024235 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gd-GB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mzn-IR.t0000644000175000017500000001112014043574012024463 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mzn-IR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-CH.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-vai-Vaii.t0000644000175000017500000001112214043574012025016 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vai-Vaii'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-MA.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-MA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rof.t0000644000175000017500000001111514043574012024141 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rof'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-BE.t0000644000175000017500000001111714043574012024243 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-BE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yue-Hans.t0000644000175000017500000001112214043574012025042 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yue-Hans'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ug-CN.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ug-CN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fil-PH.t0000644000175000017500000001112014043574012024426 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fil-PH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rwk.t0000644000175000017500000001111514043574012024156 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rwk'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-CG.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-CG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sg.t0000644000175000017500000001111414043574012023763 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sg'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-to-TO.t0000644000175000017500000001111714043574012024317 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'to-TO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-MZ.t0000644000175000017500000001111714043574012024324 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-MZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dz.t0000644000175000017500000001111414043574012023767 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dz'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-so-KE.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'so-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-TG.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-TG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bs-Cyrl.t0000644000175000017500000001112114043574012024663 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bs-Cyrl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Latn-ME.t0000644000175000017500000001112414043574012025172 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Latn-ME'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fo-FO.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fo-FO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-it-SM.t0000644000175000017500000001111714043574012024306 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'it-SM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dyo.t0000644000175000017500000001111514043574012024146 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dyo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ks.t0000644000175000017500000001111414043574012023767 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ks'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kkj-CM.t0000644000175000017500000001112014043574012024423 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kkj-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-or-IN.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'or-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ru-UA.t0000644000175000017500000001111714043574012024306 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ru-UA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-CI.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-CI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pcm-NG.t0000644000175000017500000001112014043574012024430 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pcm-NG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-001.t0000644000175000017500000001112014043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-001'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-CH.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-guz.t0000644000175000017500000001111514043574012024160 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'guz'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ewo.t0000644000175000017500000001111514043574012024145 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ewo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-RE.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-RE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-luo-KE.t0000644000175000017500000001112014043574012024443 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'luo-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dua-CM.t0000644000175000017500000001112014043574012024415 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dua-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kl-GL.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kl-GL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-GF.t0000644000175000017500000001111714043574012024256 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-GF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uz-Latn.t0000644000175000017500000001112114043574012024702 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uz-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ca-ES.t0000644000175000017500000001111714043574012024245 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ca-ES'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-vun.t0000644000175000017500000001111514043574012024163 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vun'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-xh-ZA.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'xh-ZA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-VU.t0000644000175000017500000001111714043574012024314 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-VU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mai-IN.t0000644000175000017500000001112014043574012024421 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mai-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-khq.t0000644000175000017500000001111514043574012024136 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'khq'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-IL.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-IL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-NE.t0000644000175000017500000001112414043574012025121 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-NE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sg-CF.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sg-CF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yav.t0000644000175000017500000001111514043574012024152 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yav'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-brx-IN.t0000644000175000017500000001112014043574012024446 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'brx-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dsb.t0000644000175000017500000001111514043574012024123 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dsb'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kln-KE.t0000644000175000017500000001112014043574012024430 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kln-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rw.t0000644000175000017500000001111414043574012024002 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rw'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sw-TZ.t0000644000175000017500000001111714043574012024341 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sw-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-BR.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-BR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sd-Deva-IN.t0000644000175000017500000001112414043574012025142 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sd-Deva-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Cyrl-BA.t0000644000175000017500000001112414043574012025166 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Cyrl-BA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sat-Olck-IN.t0000644000175000017500000001112514043574012025335 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sat-Olck-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-CA.t0000644000175000017500000001111714043574012024240 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-CA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Latn.t0000644000175000017500000001112114043574012024670 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nmg-CM.t0000644000175000017500000001112014043574012024425 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nmg-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ce-RU.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ce-RU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kde-TZ.t0000644000175000017500000001112014043574012024445 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kde-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lrc.t0000644000175000017500000001111514043574012024133 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lrc'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ka.t0000644000175000017500000001111414043574012023745 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ka'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rw-RW.t0000644000175000017500000001111714043574012024333 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rw-RW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hans-HK.t0000644000175000017500000001112414043574012025163 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hans-HK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-FK.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-FK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ug.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ug'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-AG.t0000644000175000017500000001111714043574012024244 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-AG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ca-AD.t0000644000175000017500000001111714043574012024222 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ca-AD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ki-KE.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ki-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-KW.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-KW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-MX.t0000644000175000017500000001111714043574012024306 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-MX'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-cgg.t0000644000175000017500000001111514043574012024113 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'cgg'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-DJ.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-DJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bas.t0000644000175000017500000001111514043574012024120 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bas'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-CO.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-CO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zu.t0000644000175000017500000001111414043574012024010 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zu'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mua.t0000644000175000017500000001111514043574012024135 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mua'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-doi-IN.t0000644000175000017500000001112014043574012024426 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'doi-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-PE.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-PE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-TD.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-TD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-wo.t0000644000175000017500000001111414043574012023777 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'wo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Cyrl-XK.t0000644000175000017500000001112414043574012025226 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Cyrl-XK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-NG.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-NG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-da-GL.t0000644000175000017500000001111714043574012024241 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'da-GL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-so-ET.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'so-ET'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-jv-ID.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'jv-ID'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-IN.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Latn-RS.t0000644000175000017500000001112414043574012025215 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Latn-RS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mi-NZ.t0000644000175000017500000001111714043574012024307 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mi-NZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hans-SG.t0000644000175000017500000001112414043574012025172 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hans-SG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-DO.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-DO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-or.t0000644000175000017500000001111414043574012023772 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'or'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ml-IN.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ml-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-is.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'is'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sv.t0000644000175000017500000001111414043574012024002 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sv'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kab.t0000644000175000017500000001111514043574012024110 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kab'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-om-ET.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'om-ET'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-PG.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-PG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ast-ES.t0000644000175000017500000001112014043574012024443 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ast-ES'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hant-MO.t0000644000175000017500000001112414043574012025175 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hant-MO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/pod-spell.t0000644000175000017500000000077114043574012022067 0ustar autarchautarchuse strict; use warnings; use Test::More; # generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005 use Test::Spelling 0.12; use Pod::Wordlist; add_stopwords(); all_pod_files_spelling_ok( qw( bin lib ) ); __DATA__ Anwar Christian DROLSKY DROLSKY's DateTime Dave Format Hansen Ilmari Mannsåker Measham Mohammad POSIX PayPal Rick Rolsky Rolsky's STRPTIME Strptime Types autarch chansen drolsky errmsg formatter gregoa gregor herrmann ilmari key lib mohammad rickm strf strp strptime yasutake DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-LC.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-LC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ceb-PH.t0000644000175000017500000001112014043574012024405 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ceb-PH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-BI.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-BI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mfe-MU.t0000644000175000017500000001112014043574012024435 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mfe-MU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SS.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nds.t0000644000175000017500000001111514043574012024137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nds'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-CK.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-CK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-SO.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-SO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-AI.t0000644000175000017500000001111714043574012024246 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-AI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-GN.t0000644000175000017500000001112414043574012025123 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-GN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nb-NO.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nb-NO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr.t0000644000175000017500000001111414043574012023761 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mas-TZ.t0000644000175000017500000001112014043574012024462 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mas-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nb-SJ.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nb-SJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-SC.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-SC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ca-FR.t0000644000175000017500000001111714043574012024245 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ca-FR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sq-XK.t0000644000175000017500000001111714043574012024320 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sq-XK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ia.t0000644000175000017500000001111414043574012023743 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ia'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uk.t0000644000175000017500000001111414043574012023771 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uk'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-luy.t0000644000175000017500000001111514043574012024164 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'luy'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-PA.t0000644000175000017500000001111714043574012024262 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-PA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl-AW.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl-AW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-seh-MZ.t0000644000175000017500000001112014043574012024452 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'seh-MZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ro.t0000644000175000017500000001111414043574012023772 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ro'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ccp-BD.t0000644000175000017500000001112014043574012024377 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ccp-BD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lu-CD.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lu-CD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ksf-CM.t0000644000175000017500000001112014043574012024427 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ksf-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-twq.t0000644000175000017500000001111514043574012024166 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'twq'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-ZW.t0000644000175000017500000001111714043574012024315 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-ZW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SL.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ksb-TZ.t0000644000175000017500000001112014043574012024461 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ksb-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-KY.t0000644000175000017500000001111714043574012024300 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-KY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ti.t0000644000175000017500000001111414043574012023766 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ti'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mfe.t0000644000175000017500000001111514043574012024122 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mfe'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hans-CN.t0000644000175000017500000001112414043574012025161 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hans-CN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-AT.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-AT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-WF.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-WF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tr.t0000644000175000017500000001111414043574012023777 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tr'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-GW.t0000644000175000017500000001112414043574012025134 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-GW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-LR.t0000644000175000017500000001112414043574012025155 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-LR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fo-DK.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fo-DK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-CR.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-CR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ses.t0000644000175000017500000001111514043574012024145 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ses'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-BF.t0000644000175000017500000001111714043574012024251 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-BF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-SY.t0000644000175000017500000001111714043574012024310 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-SY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-AE.t0000644000175000017500000001111714043574012024242 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-AE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zu-ZA.t0000644000175000017500000001111714043574012024323 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zu-ZA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-MR.t0000644000175000017500000001111714043574012024300 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-MR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ewo-CM.t0000644000175000017500000001112014043574012024436 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ewo-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SG.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lb.t0000644000175000017500000001111414043574012023747 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lb'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-FM.t0000644000175000017500000001111714043574012024257 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-FM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-TT.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-TT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-saq.t0000644000175000017500000001111514043574012024137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'saq'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-TO.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-TO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ku-TR.t0000644000175000017500000001111714043574012024317 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ku-TR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-BR.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-BR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-VU.t0000644000175000017500000001111714043574012024307 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-VU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nb.t0000644000175000017500000001111414043574012023751 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nb'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-qu-PE.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'qu-PE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-PM.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-PM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-SN.t0000644000175000017500000001112414043574012025137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-SN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-LR.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-LR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mn.t0000644000175000017500000001111414043574012023764 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mni.t0000644000175000017500000001111514043574012024136 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mni'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-az-Cyrl-AZ.t0000644000175000017500000001112414043574012025204 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'az-Cyrl-AZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-MG.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-MG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-EA.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-EA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kam-KE.t0000644000175000017500000001112014043574012024414 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kam-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ca-ES-VALENCIA.t0000644000175000017500000001113014043574012025420 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ca-ES-VALENCIA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uz-Arab.t0000644000175000017500000001112114043574012024651 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uz-Arab'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sk-SK.t0000644000175000017500000001111714043574012024305 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sk-SK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ky-KG.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ky-KG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lg.t0000644000175000017500000001111414043574012023754 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lg'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bas-CM.t0000644000175000017500000001112014043574012024411 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bas-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ln-CD.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ln-CD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ru.t0000644000175000017500000001111414043574012024000 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ru'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mgo.t0000644000175000017500000001111514043574012024135 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mgo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-WS.t0000644000175000017500000001111714043574012024306 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-WS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-CY.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-CY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sw-CD.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sw-CD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gsw-LI.t0000644000175000017500000001112014043574012024451 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gsw-LI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sw-KE.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sw-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MT.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mt-MT.t0000644000175000017500000001111714043574012024313 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mt-MT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sd-Arab.t0000644000175000017500000001112114043574012024621 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sd-Arab'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-SL.t0000644000175000017500000001112414043574012025135 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-SL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/precious.t0000644000175000017500000000053114043574012022013 0ustar autarchautarchuse strict; use warnings; use Test::More; use Capture::Tiny qw( capture ); use FindBin qw( $Bin ); chdir "$Bin/../.." or die "Cannot chdir to $Bin/../..: $!"; my ( $out, $err ) = capture { system(qw( precious lint -a )) }; is( $? >> 8, 0, 'precious lint -a exited with 0' ); is( $err, q{}, 'no output to stderr' ); done_testing(); DateTime-Format-Strptime-1.79/xt/author/generated-locale-os.t0000644000175000017500000001111414043574012023773 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'os'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-LY.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-LY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nnh-CM.t0000644000175000017500000001112014043574012024427 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nnh-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-419.t0000644000175000017500000001112014043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-419'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-saq-KE.t0000644000175000017500000001112014043574012024430 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'saq-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sv-AX.t0000644000175000017500000001111714043574012024313 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sv-AX'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-SN.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-SN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pa-Guru-IN.t0000644000175000017500000001112414043574012025177 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pa-Guru-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kn.t0000644000175000017500000001111414043574012023762 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-IO.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-IO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-MQ.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-MQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-af.t0000644000175000017500000001111414043574012023740 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'af'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-doi.t0000644000175000017500000001111514043574012024126 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'doi'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-VC.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-VC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yo.t0000644000175000017500000001111414043574012024001 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ckb.t0000644000175000017500000001111514043574012024112 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ckb'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-eo.t0000644000175000017500000001111414043574012023755 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'eo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kk.t0000644000175000017500000001111414043574012023757 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kk'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl-SR.t0000644000175000017500000001111714043574012024310 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl-SR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-GW.t0000644000175000017500000001112414043574012025155 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-GW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mt.t0000644000175000017500000001111414043574012023772 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mt'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-os-RU.t0000644000175000017500000001111714043574012024322 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'os-RU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-VG.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-VG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-shi-Latn-MA.t0000644000175000017500000001112514043574012025326 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'shi-Latn-MA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-az.t0000644000175000017500000001111414043574012023764 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'az'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bs-Latn-BA.t0000644000175000017500000001112414043574012025133 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bs-Latn-BA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-brx.t0000644000175000017500000001111514043574012024146 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'brx'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ks-Arab-IN.t0000644000175000017500000001112414043574012025137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ks-Arab-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mk-MK.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mk-MK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-ER.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-ER'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gu-IN.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gu-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-BL.t0000644000175000017500000001111714043574012024257 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-BL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-MR.t0000644000175000017500000001112414043574012025156 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-MR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/no-tabs.t0000644000175000017500000000122214043574012021523 0ustar autarchautarchuse strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.15 use Test::More 0.88; use Test::NoTabs; my @files = ( 'lib/DateTime/Format/Strptime.pm', 'lib/DateTime/Format/Strptime/Types.pm', 't/00-report-prereqs.dd', 't/00-report-prereqs.t', 't/basic.t', 't/edge.t', 't/errors.t', 't/format-datetime.t', 't/format-with-locale.t', 't/generated-locale-de.t', 't/generated-locale-en.t', 't/generated-locale-ga.t', 't/generated-locale-pt.t', 't/generated-locale-zh.t', 't/import.t', 't/lib/T.pm', 't/zones.t' ); notabs_ok($_) foreach @files; done_testing; DateTime-Format-Strptime-1.79/xt/author/generated-locale-vi.t0000644000175000017500000001111414043574012023770 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vi'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-vai-Latn-LR.t0000644000175000017500000001112514043574012025342 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vai-Latn-LR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-GQ.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-GQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-YT.t0000644000175000017500000001111714043574012024316 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-YT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-eu.t0000644000175000017500000001111414043574012023763 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'eu'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-GW.t0000644000175000017500000001111714043574012024313 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-GW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rn.t0000644000175000017500000001111414043574012023771 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dav-KE.t0000644000175000017500000001112014043574012024416 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dav-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-TK.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-TK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ksh-DE.t0000644000175000017500000001112014043574012024422 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ksh-DE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ti-ET.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ti-ET'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-km.t0000644000175000017500000001111414043574012023761 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'km'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-VE.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-VE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ksf.t0000644000175000017500000001111514043574012024136 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ksf'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-os-GE.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'os-GE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl-NL.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl-NL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lu.t0000644000175000017500000001111414043574012023772 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lu'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ta-LK.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ta-LK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-te.t0000644000175000017500000001111414043574012023762 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'te'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-US.t0000644000175000017500000001111714043574012024311 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-US'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-BF.t0000644000175000017500000001112414043574012025106 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-BF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-xog-UG.t0000644000175000017500000001112014043574012024455 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'xog-UG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl-SX.t0000644000175000017500000001111714043574012024316 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl-SX'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ia-001.t0000644000175000017500000001112014043574012024236 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ia-001'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sw.t0000644000175000017500000001111414043574012024003 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sw'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-BM.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-BM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dyo-SN.t0000644000175000017500000001112014043574012024460 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dyo-SN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-th-TH.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'th-TH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-su-Latn-ID.t0000644000175000017500000001112414043574012025170 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'su-Latn-ID'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-LS.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-LS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ee-GH.t0000644000175000017500000001111714043574012024242 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ee-GH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-BZ.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-BZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ps-PK.t0000644000175000017500000001111714043574012024307 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ps-PK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-JM.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-JM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ses-ML.t0000644000175000017500000001112014043574012024447 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ses-ML'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sa-IN.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sa-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GB.t0000644000175000017500000001111714043574012024245 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-su.t0000644000175000017500000001111414043574012024001 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'su'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-xog.t0000644000175000017500000001111514043574012024150 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'xog'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-CH.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-eo-001.t0000644000175000017500000001112014043574012024250 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'eo-001'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sat.t0000644000175000017500000001111514043574012024142 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sat'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-it.t0000644000175000017500000001111414043574012023766 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'it'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-MC.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-MC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-TN.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-TN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-BB.t0000644000175000017500000001111714043574012024240 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-BB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ee-TG.t0000644000175000017500000001111714043574012024256 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ee-TG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-NF.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-NF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uz-Cyrl-UZ.t0000644000175000017500000001112414043574012025254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uz-Cyrl-UZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-khq-ML.t0000644000175000017500000001112014043574012024440 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'khq-ML'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ka-GE.t0000644000175000017500000001111714043574012024241 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ka-GE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-MF.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-MF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bs-Cyrl-BA.t0000644000175000017500000001112414043574012025146 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bs-Cyrl-BA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Latn-BA.t0000644000175000017500000001112414043574012025153 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Latn-BA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bn-IN.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bn-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tg.t0000644000175000017500000001111414043574012023764 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tg'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/portability.t0000644000175000017500000000026714043574012022532 0ustar autarchautarchuse strict; use warnings; use Test::More; eval 'use Test::Portability::Files'; plan skip_all => 'Test::Portability::Files required for testing portability' if $@; run_tests(); DateTime-Format-Strptime-1.79/xt/author/generated-locale-sq.t0000644000175000017500000001111414043574012023775 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sq'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-teo.t0000644000175000017500000001111514043574012024142 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'teo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lt.t0000644000175000017500000001111414043574012023771 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lt'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl-BE.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl-BE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kn-IN.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kn-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yi-001.t0000644000175000017500000001112014043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yi-001'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gsw-CH.t0000644000175000017500000001112014043574012024437 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gsw-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kde.t0000644000175000017500000001111514043574012024116 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kde'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-NL.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-NL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-si-LK.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'si-LK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sd-Deva.t0000644000175000017500000001112114043574012024633 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sd-Deva'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SX.t0000644000175000017500000001111714043574012024307 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SX'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-haw.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'haw'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-qu-BO.t0000644000175000017500000001111714043574012024300 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'qu-BO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-it-CH.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'it-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-PT.t0000644000175000017500000001111714043574012024321 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-PT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mr.t0000644000175000017500000001111414043574012023770 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mr'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-NR.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-NR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-JO.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-JO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl-CW.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl-CW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-el-GR.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'el-GR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ru-BY.t0000644000175000017500000001111714043574012024313 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ru-BY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GU.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-to.t0000644000175000017500000001111414043574012023774 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'to'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ne-NP.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ne-NP'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mi.t0000644000175000017500000001111414043574012023757 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mi'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fa-AF.t0000644000175000017500000001111714043574012024227 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fa-AF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/mojibake.t0000644000175000017500000000015114043574012021741 0ustar autarchautarch#!perl use strict; use warnings qw(all); use Test::More; use Test::Mojibake; all_files_encoding_ok(); DateTime-Format-Strptime-1.79/xt/author/generated-locale-guz-KE.t0000644000175000017500000001112014043574012024451 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'guz-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-teo-UG.t0000644000175000017500000001112014043574012024447 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'teo-UG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nyn.t0000644000175000017500000001111514043574012024157 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nyn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-GP.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-GP'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ko.t0000644000175000017500000001111414043574012023763 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ko'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es.t0000644000175000017500000001111414043574012023761 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kl.t0000644000175000017500000001111414043574012023760 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-VI.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-VI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nn-NO.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nn-NO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-as.t0000644000175000017500000001111414043574012023755 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'as'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mer.t0000644000175000017500000001111514043574012024136 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mer'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nus.t0000644000175000017500000001111514043574012024160 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nus'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-shi-Latn.t0000644000175000017500000001112214043574012025030 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'shi-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-jgo-CM.t0000644000175000017500000001112014043574012024423 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'jgo-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-chr.t0000644000175000017500000001111514043574012024127 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'chr'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-MA.t0000644000175000017500000001111714043574012024257 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-MA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-FR.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-FR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tk.t0000644000175000017500000001111414043574012023770 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tk'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-HT.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-HT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-ST.t0000644000175000017500000001111714043574012024324 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-ST'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sl-SI.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sl-SI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GI.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-luy-KE.t0000644000175000017500000001112014043574012024455 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'luy-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pcm.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pcm'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kok-IN.t0000644000175000017500000001112014043574012024437 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kok-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sd.t0000644000175000017500000001111414043574012023760 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sd'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-BS.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-BS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-NA.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-NA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-BI.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-BI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sah-RU.t0000644000175000017500000001112014043574012024446 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sah-RU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-IL.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-IL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-MR.t0000644000175000017500000001112414043574012025135 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-MR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hi-IN.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hi-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ii.t0000644000175000017500000001111414043574012023753 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ii'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ca.t0000644000175000017500000001111414043574012023735 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ca'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MP.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MP'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sah.t0000644000175000017500000001111514043574012024126 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sah'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-CF.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-CF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ks-Arab.t0000644000175000017500000001112114043574012024630 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ks-Arab'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-ML.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-ML'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-it-VA.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'it-VA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GG.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-LR.t0000644000175000017500000001112414043574012025134 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-LR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-LU.t0000644000175000017500000001111714043574012024316 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-LU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Cyrl-RS.t0000644000175000017500000001112414043574012025230 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Cyrl-RS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sq-AL.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sq-AL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lo.t0000644000175000017500000001111414043574012023764 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mg-MG.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mg-MG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sd-Arab-PK.t0000644000175000017500000001112414043574012025134 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sd-Arab-PK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mer-KE.t0000644000175000017500000001112014043574012024427 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mer-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-GH.t0000644000175000017500000001112414043574012025115 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-GH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ii-CN.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ii-CN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-MR.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-MR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lkt-US.t0000644000175000017500000001112014043574012024466 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lkt-US'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ur.t0000644000175000017500000001111414043574012024000 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ur'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MU.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-wo-SN.t0000644000175000017500000001111714043574012024320 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'wo-SN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-as-IN.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'as-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lkt.t0000644000175000017500000001111514043574012024145 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lkt'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ms.t0000644000175000017500000001111414043574012023771 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ms'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kkj.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kkj'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sv-FI.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sv-FI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ur-PK.t0000644000175000017500000001111714043574012024313 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ur-PK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-my-MM.t0000644000175000017500000001111714043574012024311 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'my-MM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-GN.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-GN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tg-TJ.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tg-TJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mni-Beng.t0000644000175000017500000001112214043574012025005 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mni-Beng'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-su-Latn.t0000644000175000017500000001112114043574012024673 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'su-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-cy.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'cy'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ru-MD.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ru-MD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-TN.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-TN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bo-CN.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bo-CN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yue.t0000644000175000017500000001111514043574012024155 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yue'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-AR.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-AR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff.t0000644000175000017500000001111414043574012023745 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pa.t0000644000175000017500000001111414043574012023752 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pa'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-si.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'si'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kab-DZ.t0000644000175000017500000001112014043574012024417 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kab-DZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-teo-KE.t0000644000175000017500000001112014043574012024433 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'teo-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ms-SG.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ms-SG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bs-Latn.t0000644000175000017500000001112114043574012024650 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bs-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-AU.t0000644000175000017500000001111714043574012024262 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-AU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-EC.t0000644000175000017500000001111714043574012024251 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-EC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-GH.t0000644000175000017500000001112414043574012025136 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-GH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-OM.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-OM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ru-KZ.t0000644000175000017500000001111714043574012024325 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ru-KZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-TV.t0000644000175000017500000001111714043574012024306 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-TV'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-YE.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-YE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ebu-KE.t0000644000175000017500000001112014043574012024417 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ebu-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tr-CY.t0000644000175000017500000001111714043574012024313 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tr-CY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fi-FI.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fi-FI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GD.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-PH.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-PH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MY.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-vai.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vai'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-se-SE.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'se-SE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nus-SS.t0000644000175000017500000001112014043574012024477 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nus-SS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hsb.t0000644000175000017500000001111514043574012024127 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hsb'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mgo-CM.t0000644000175000017500000001112014043574012024426 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mgo-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SC.t0000644000175000017500000001111714043574012024262 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-am.t0000644000175000017500000001111414043574012023747 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'am'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ast.t0000644000175000017500000001111514043574012024142 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ast'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar.t0000644000175000017500000001111414043574012023754 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fur-IT.t0000644000175000017500000001112014043574012024455 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fur-IT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-se-NO.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'se-NO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gv.t0000644000175000017500000001111414043574012023766 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gv'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/test-all-my-deps.t0000644000175000017500000000626614043574012023276 0ustar autarchautarch## no critic (Modules::ProhibitExcessMainComplexity) use strict; use warnings; use Cwd qw( abs_path ); use Test::More; BEGIN { plan skip_all => 'Must set DATETIME_FORMAT_STRPTIME_TEST_DEPS to true in order to run these tests' unless $ENV{DATETIME_FORMAT_STRPTIME_TEST_DEPS}; } use Test::DependentModules qw( test_all_dependents ); ## no critic (Variables::RequireLocalizedPunctuationVars) $ENV{PERL_TEST_DM_LOG_DIR} = abs_path('.'); ## use critic test_all_dependents( 'DateTime::Format::Strptime', { filter => sub { return 0 if $_[0] =~ /^Mac-/; return 0 if $_[0] eq 'App-dateseq'; return 0 if $_[0] eq 'App-financeta'; # Failing deps return 0 if $_[0] eq 'App-Twimap'; # Fails regardless of Strptime return 0 if $_[0] eq 'Business-RO-CNP'; # Fails regardless of Strptime return 0 if $_[0] eq 'Catmandu-Fix-Date'; # Requires Coro return 0 if $_[0] eq 'Cikl'; # Fails regardless of Strptime return 0 if $_[0] eq 'Data-Apache-mod_status'; # Requires a module which doesn't exist on CPAN return 0 if $_[0] eq 'DPKG-Log'; # Fails regardless of Strptime return 0 if $_[0] eq 'Finance-TW-TAIFEX'; # Requires gtk return 0 if $_[0] eq 'Gtk2-Ex-DbLinker'; # Fails regardless of Strptime return 0 if $_[0] eq 'HTML-FormatData'; # Fails regardless of Strptime return 0 if $_[0] eq 'HTML-Tested'; # Fails regardless of Strptime return 0 if $_[0] eq 'meon-Web'; # prompts for keys to use in testing return 0 if $_[0] eq 'Net-Amazon-AWIS'; # Fails regardless of Strptime return 0 if $_[0] eq 'Net-DRI'; # Fails regardless of Strptime return 0 if $_[0] eq 'Net-Plurk'; # Requires Coro return 0 if $_[0] eq 'Net-IMAP-Server'; # Fails regardless of Strptime return 0 if $_[0] eq 'OpenERP-OOM'; # hangs installing prereqs (probably SOAP::Lite) return 0 if $_[0] eq 'Plagger'; # Fails regardless of Strptime return 0 if $_[0] eq 'SmokeRunner-Multi'; # Fails on installing some prereqs return 0 if $_[0] eq 'OpenResty'; # Fails regardless of Strptime return 0 if $_[0] eq 'Smolder'; # Is either hanging or installing all of CPAN return 0 if $_[0] eq 'Strehler'; # Fails regardless of Strptime return 0 if $_[0] eq 'Video-PlaybackMachine'; # Fails regardless of Strptime return 0 if $_[0] eq 'WebService-IMDB'; # Fails regardless of Strptime return 0 if $_[0] eq 'W3C-SOAP'; # Fails regardless of Strptime return 0 if $_[0] eq 'WWW-DataWiki'; # Requires Wx return 0 if $_[0] eq 'Wx-Perl-DbLinker'; # Fails on installing some prereqs return 0 if $_[0] eq 'XAS'; return 1; }, }, ); done_testing(); DateTime-Format-Strptime-1.79/xt/author/generated-locale-ccp-IN.t0000644000175000017500000001112014043574012024420 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ccp-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-GA.t0000644000175000017500000001111714043574012024251 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-GA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ms-MY.t0000644000175000017500000001111714043574012024317 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ms-MY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-de-BE.t0000644000175000017500000001111714043574012024231 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de-BE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yo-NG.t0000644000175000017500000001111714043574012024306 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yo-NG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sbp.t0000644000175000017500000001111514043574012024137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sbp'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uz-Latn-UZ.t0000644000175000017500000001112414043574012025241 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uz-Latn-UZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mai.t0000644000175000017500000001111514043574012024121 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mai'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ksh.t0000644000175000017500000001111514043574012024140 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ksh'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bo.t0000644000175000017500000001111414043574012023752 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dje-NE.t0000644000175000017500000001112014043574012024411 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dje-NE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ig.t0000644000175000017500000001111414043574012023751 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ig'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-PK.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-PK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-AE.t0000644000175000017500000001111714043574012024242 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-AE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-it-IT.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'it-IT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl-BQ.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl-BQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hu.t0000644000175000017500000001111414043574012023766 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hu'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tzm-MA.t0000644000175000017500000001112014043574012024454 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tzm-MA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-UG.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-UG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uz-Cyrl.t0000644000175000017500000001112114043574012024715 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uz-Cyrl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fy-NL.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fy-NL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-so.t0000644000175000017500000001111414043574012023773 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'so'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-IM.t0000644000175000017500000001111714043574012024262 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-IM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ps.t0000644000175000017500000001111414043574012023774 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ps'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ak.t0000644000175000017500000001111414043574012023745 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ak'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-BZ.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-BZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/test-version.t0000644000175000017500000000063714043574012022633 0ustar autarchautarchuse strict; use warnings; use Test::More; # generated by Dist::Zilla::Plugin::Test::Version 1.09 use Test::Version; my @imports = qw( version_all_ok ); my $params = { is_strict => 1, has_version => 1, multiple => 0, }; push @imports, $params if version->parse( $Test::Version::VERSION ) >= version->parse('1.002'); Test::Version->import(@imports); version_all_ok; done_testing; DateTime-Format-Strptime-1.79/xt/author/generated-locale-ja.t0000644000175000017500000001111414043574012023744 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ja'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-CL.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-CL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-wae-CH.t0000644000175000017500000001112014043574012024413 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'wae-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ki.t0000644000175000017500000001111414043574012023755 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ki'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ln.t0000644000175000017500000001111414043574012023763 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ln'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-IE.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-IE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Latn-XK.t0000644000175000017500000001112414043574012025213 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Latn-XK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-de-LI.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de-LI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-shi.t0000644000175000017500000001111514043574012024136 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'shi'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-shi-Tfng.t0000644000175000017500000001112214043574012025030 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'shi-Tfng'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-FI.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-FI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn.t0000644000175000017500000001112114043574012024637 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-cs-CZ.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'cs-CZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uk-UA.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uk-UA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SE.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-om.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'om'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dje.t0000644000175000017500000001111514043574012024115 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dje'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-et-EE.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'et-EE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-CA.t0000644000175000017500000001111714043574012024245 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-CA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ckb-IQ.t0000644000175000017500000001112014043574012024415 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ckb-IQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ln-AO.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ln-AO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bez.t0000644000175000017500000001111514043574012024133 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bez'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-agq-CM.t0000644000175000017500000001112014043574012024414 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'agq-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-da.t0000644000175000017500000001111414043574012023736 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'da'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-GM.t0000644000175000017500000001112414043574012025143 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-GM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-CM.t0000644000175000017500000001112414043574012025116 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ckb-IR.t0000644000175000017500000001112014043574012024416 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ckb-IR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-CM.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Cyrl-ME.t0000644000175000017500000001112414043574012025205 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Cyrl-ME'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dua.t0000644000175000017500000001111514043574012024124 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dua'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-twq-NE.t0000644000175000017500000001112014043574012024462 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'twq-NE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ga-IE.t0000644000175000017500000001111714043574012024237 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ga-IE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lag-TZ.t0000644000175000017500000001112014043574012024445 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lag-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-PR.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-PR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-SL.t0000644000175000017500000001112414043574012025156 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-SL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lt-LT.t0000644000175000017500000001111714043574012024311 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lt-LT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mzn.t0000644000175000017500000001111514043574012024157 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mzn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-MU.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-MU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-RW.t0000644000175000017500000001111714043574012024305 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-RW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-shi-Tfng-MA.t0000644000175000017500000001112514043574012025326 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'shi-Tfng-MA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ku.t0000644000175000017500000001111414043574012023771 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ku'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nds-DE.t0000644000175000017500000001112014043574012024421 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nds-DE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-EH.t0000644000175000017500000001111714043574012024251 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-EH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-de-DE.t0000644000175000017500000001111714043574012024233 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de-DE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-LU.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-LU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bn-BD.t0000644000175000017500000001111714043574012024237 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bn-BD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-PY.t0000644000175000017500000001111714043574012024312 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-PY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-te-IN.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'te-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sa.t0000644000175000017500000001111414043574012023755 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sa'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ak-GH.t0000644000175000017500000001111714043574012024244 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ak-GH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hant-TW.t0000644000175000017500000001112414043574012025214 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hant-TW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nnh.t0000644000175000017500000001111514043574012024136 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nnh'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-af-NA.t0000644000175000017500000001111714043574012024237 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'af-NA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-de-AT.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de-AT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-cy-GB.t0000644000175000017500000001111714043574012024256 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'cy-GB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sv-SE.t0000644000175000017500000001111714043574012024312 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sv-SE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-DZ.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-DZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ne.t0000644000175000017500000001111414043574012023754 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ne'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-DG.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-DG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nd-ZW.t0000644000175000017500000001111714043574012024314 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nd-ZW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ca-IT.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ca-IT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-SA.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-SA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zgh.t0000644000175000017500000001111514043574012024143 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zgh'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lv.t0000644000175000017500000001111414043574012023773 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lv'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tr-TR.t0000644000175000017500000001111714043574012024325 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tr-TR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nn.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/pod-coverage.t0000644000175000017500000000172014043574012022536 0ustar autarchautarch#!perl # This file was automatically generated by Dist::Zilla::Plugin::Test::Pod::Coverage::Configurable 0.07. use Test::Pod::Coverage 1.08; use Test::More 0.88; BEGIN { if ( $] <= 5.008008 ) { plan skip_all => 'These tests require Pod::Coverage::TrustPod, which only works with Perl 5.8.9+'; } } use Pod::Coverage::TrustPod; my %skip = map { $_ => 1 } qw( ); my @modules; for my $module ( all_modules() ) { next if $skip{$module}; push @modules, $module; } plan skip_all => 'All the modules we found were excluded from POD coverage test.' unless @modules; plan tests => scalar @modules; my %trustme = (); my @also_private; for my $module ( sort @modules ) { pod_coverage_ok( $module, { coverage_class => 'Pod::Coverage::TrustPod', also_private => \@also_private, trustme => $trustme{$module} || [], }, "pod coverage for $module" ); } done_testing(); DateTime-Format-Strptime-1.79/xt/author/generated-locale-hsb-DE.t0000644000175000017500000001112014043574012024411 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hsb-DE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-SN.t0000644000175000017500000001112414043574012025160 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-SN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gd.t0000644000175000017500000001111414043574012023744 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gd'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/00-compile.t0000644000175000017500000000263114043574012022032 0ustar autarchautarchuse 5.006; use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058 use Test::More; plan tests => 3; my @module_files = ( 'DateTime/Format/Strptime.pm', 'DateTime/Format/Strptime/Types.pm' ); # no fake home requested my @switches = ( -d 'blib' ? '-Mblib' : '-Ilib', ); use File::Spec; use IPC::Open3; use IO::Handle; open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; my @warnings; for my $lib (@module_files) { # see L my $stderr = IO::Handle->new; diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} } $^X, @switches, '-e', "require q[$lib]")) if $ENV{PERL_COMPILE_TEST_DEBUG}; my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]"); binmode $stderr, ':crlf' if $^O eq 'MSWin32'; my @_warnings = <$stderr>; waitpid($pid, 0); is($?, 0, "$lib loaded ok"); shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ and not eval { +require blib; blib->VERSION('1.01') }; if (@_warnings) { warn @_warnings; push @warnings, @_warnings; } } is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ); DateTime-Format-Strptime-1.79/xt/author/generated-locale-ko-KP.t0000644000175000017500000001111714043574012024276 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ko-KP'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mg.t0000644000175000017500000001111414043574012023755 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mg'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ha-GH.t0000644000175000017500000001111714043574012024241 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ha-GH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-TC.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-TC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-th.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'th'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kea.t0000644000175000017500000001111514043574012024113 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kea'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-KN.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-KN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-PS.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-PS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-PN.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-PN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bem.t0000644000175000017500000001111514043574012024116 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bem'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-SS.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-SS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ga-GB.t0000644000175000017500000001111714043574012024232 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ga-GB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-BE.t0000644000175000017500000001111714043574012024250 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-BE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uz.t0000644000175000017500000001111414043574012024010 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uz'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-he-IL.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'he-IL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pl.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-eu-ES.t0000644000175000017500000001111714043574012024273 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'eu-ES'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-smn-FI.t0000644000175000017500000001112014043574012024440 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'smn-FI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-MO.t0000644000175000017500000001111714043574012024311 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-MO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ky.t0000644000175000017500000001111414043574012023775 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ky'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bg-BG.t0000644000175000017500000001111714043574012024233 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bg-BG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-jmc-TZ.t0000644000175000017500000001112014043574012024453 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'jmc-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ebu.t0000644000175000017500000001111514043574012024126 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ebu'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ta-MY.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ta-MY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mr-IN.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mr-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kok.t0000644000175000017500000001111514043574012024137 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kok'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-he.t0000644000175000017500000001111414043574012023746 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'he'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-qu-EC.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'qu-EC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-cgg-UG.t0000644000175000017500000001112014043574012024420 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'cgg-UG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ne-IN.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ne-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-PR.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-PR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gu.t0000644000175000017500000001111414043574012023765 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gu'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-IC.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-IC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-HN.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-HN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-seh.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'seh'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lo-LA.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lo-LA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bn.t0000644000175000017500000001111414043574012023751 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-az-Latn-AZ.t0000644000175000017500000001112414043574012025171 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'az-Latn-AZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pa-Arab.t0000644000175000017500000001112114043574012024613 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pa-Arab'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-JE.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-JE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hu-HU.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hu-HU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-be.t0000644000175000017500000001111414043574012023740 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'be'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lrc-IQ.t0000644000175000017500000001112014043574012024436 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lrc-IQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-001.t0000644000175000017500000001112014043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-001'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-uz-Arab-AF.t0000644000175000017500000001112414043574012025140 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'uz-Arab-AF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kw-GB.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kw-GB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ha-NG.t0000644000175000017500000001111714043574012024247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ha-NG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-wae.t0000644000175000017500000001111514043574012024127 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'wae'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-NC.t0000644000175000017500000001111714043574012024262 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-NC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GY.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-jv.t0000644000175000017500000001111414043574012023771 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'jv'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-vun-TZ.t0000644000175000017500000001112014043574012024512 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vun-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-de-LU.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de-LU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-GQ.t0000644000175000017500000001111714043574012024305 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-GQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sq-MK.t0000644000175000017500000001111714043574012024305 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sq-MK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yue-Hant.t0000644000175000017500000001112214043574012025043 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yue-Hant'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-jmc.t0000644000175000017500000001111514043574012024124 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'jmc'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-NU.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-NU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ja-JP.t0000644000175000017500000001111714043574012024256 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ja-JP'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lrc-IR.t0000644000175000017500000001112014043574012024437 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lrc-IR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-el-CY.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'el-CY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nyn-UG.t0000644000175000017500000001112014043574012024464 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nyn-UG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fur.t0000644000175000017500000001111514043574012024147 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fur'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SI.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-so-DJ.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'so-DJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yav-CM.t0000644000175000017500000001112014043574012024443 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yav-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fil.t0000644000175000017500000001111514043574012024125 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fil'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hy-AM.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hy-AM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fy.t0000644000175000017500000001111414043574012023770 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fy'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-my.t0000644000175000017500000001111414043574012023777 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'my'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-vai-Vaii-LR.t0000644000175000017500000001112514043574012025334 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'vai-Vaii-LR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-ZM.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-ZM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ta.t0000644000175000017500000001111414043574012023756 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ta'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-az-Latn.t0000644000175000017500000001112114043574012024656 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'az-Latn'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hans.t0000644000175000017500000001112114043574012024660 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hans'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MG.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nl.t0000644000175000017500000001111414043574012023763 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/pod-syntax.t0000644000175000017500000000025214043574012022270 0ustar autarchautarch#!perl # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. use strict; use warnings; use Test::More; use Test::Pod 1.41; all_pod_files_ok(); DateTime-Format-Strptime-1.79/xt/author/generated-locale-sk.t0000644000175000017500000001111414043574012023767 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sk'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-BO.t0000644000175000017500000001111714043574012024262 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-BO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mas-KE.t0000644000175000017500000001112014043574012024424 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mas-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ccp.t0000644000175000017500000001111514043574012024120 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ccp'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fi.t0000644000175000017500000001111414043574012023750 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fi'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yue-Hans-CN.t0000644000175000017500000001112514043574012025343 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yue-Hans-CN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-NZ.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-NZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-NI.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-NI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ta-SG.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ta-SG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-be-BY.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'be-BY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kea-CV.t0000644000175000017500000001112014043574012024415 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kea-CV'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ce.t0000644000175000017500000001111414043574012023741 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ce'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ro-RO.t0000644000175000017500000001111714043574012024313 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ro-RO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ee.t0000644000175000017500000001111414043574012023743 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ee'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gl-ES.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gl-ES'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ur-IN.t0000644000175000017500000001111714043574012024307 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ur-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bem-ZM.t0000644000175000017500000001112014043574012024436 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bem-ZM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bez-TZ.t0000644000175000017500000001112014043574012024462 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bez-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-DE.t0000644000175000017500000001111714043574012024245 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-DE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-agq.t0000644000175000017500000001111514043574012024123 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'agq'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-qu.t0000644000175000017500000001111414043574012023777 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'qu'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tk-TM.t0000644000175000017500000001111714043574012024311 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tk-TM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tt.t0000644000175000017500000001111414043574012024001 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tt'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sl.t0000644000175000017500000001111414043574012023770 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-PH.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-PH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-QA.t0000644000175000017500000001111714043574012024256 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-QA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-asa-TZ.t0000644000175000017500000001112014043574012024446 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'asa-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mgh.t0000644000175000017500000001111514043574012024126 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mgh'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sn-ZW.t0000644000175000017500000001111714043574012024333 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sn-ZW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-DM.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-DM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-US-POSIX.t0000644000175000017500000001112514043574012025203 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-US-POSIX'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-SV.t0000644000175000017500000001111714043574012024312 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-SV'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ru-RU.t0000644000175000017500000001111714043574012024327 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ru-RU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-SY.t0000644000175000017500000001111714043574012024315 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-SY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ta-IN.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ta-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-BW.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-BW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ha.t0000644000175000017500000001111414043574012023742 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ha'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ms-BN.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ms-BN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ln-CG.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ln-CG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rm-CH.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rm-CH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lag.t0000644000175000017500000001111514043574012024116 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lag'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sw-UG.t0000644000175000017500000001111714043574012024317 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sw-UG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr-Cyrl.t0000644000175000017500000001112114043574012024703 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr-Cyrl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fa.t0000644000175000017500000001111414043574012023740 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fa'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ceb.t0000644000175000017500000001111514043574012024104 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ceb'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-CX.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-CX'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hr.t0000644000175000017500000001111414043574012023763 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hr'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-ES.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-ES'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-id-ID.t0000644000175000017500000001111714043574012024243 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'id-ID'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mn-MN.t0000644000175000017500000001111714043574012024277 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mn-MN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-GT.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-GT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-id.t0000644000175000017500000001111414043574012023746 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'id'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-NE.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-NE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SB.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bm.t0000644000175000017500000001111414043574012023750 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bm'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-TL.t0000644000175000017500000001111714043574012024315 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-TL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dav.t0000644000175000017500000001111514043574012024125 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dav'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-RW.t0000644000175000017500000001111714043574012024312 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-RW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gv-IM.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gv-IM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kk-KZ.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kk-KZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lb-LU.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lb-LU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ml.t0000644000175000017500000001111414043574012023762 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ml'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pa-Guru.t0000644000175000017500000001112114043574012024670 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pa-Guru'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hant.t0000644000175000017500000001112114043574012024661 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hant'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-DK.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-DK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ms-ID.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ms-ID'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-zh-Hant-HK.t0000644000175000017500000001112414043574012025164 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh-Hant-HK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mas.t0000644000175000017500000001111514043574012024133 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mas'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-KI.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-KI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-GN.t0000644000175000017500000001112414043574012025144 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-GN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bo-IN.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bo-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-TZ.t0000644000175000017500000001111714043574012024312 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-CV.t0000644000175000017500000001111714043574012024306 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-CV'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ru-KG.t0000644000175000017500000001111714043574012024302 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ru-KG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-NE.t0000644000175000017500000001112414043574012025142 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-NE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-SD.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-SD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-da-DK.t0000644000175000017500000001111714043574012024235 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'da-DK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sr.t0000644000175000017500000001111414043574012023776 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sr'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MO.t0000644000175000017500000001111714043574012024270 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-UY.t0000644000175000017500000001111714043574012024317 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-UY'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-CD.t0000644000175000017500000001111714043574012024250 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-CD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-el.t0000644000175000017500000001111414043574012023752 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'el'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yue-Hant-HK.t0000644000175000017500000001112514043574012025346 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yue-Hant-HK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-AS.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-AS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-150.t0000644000175000017500000001112014043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-150'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pa-Arab-PK.t0000644000175000017500000001112414043574012025126 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pa-Arab-PK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-ER.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-ER'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tzm.t0000644000175000017500000001111514043574012024165 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tzm'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-haw-US.t0000644000175000017500000001112014043574012024453 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'haw-US'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-az-Cyrl.t0000644000175000017500000001112114043574012024671 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'az-Cyrl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-dz-BT.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'dz-BT'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fo.t0000644000175000017500000001111414043574012023756 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-xh.t0000644000175000017500000001111414043574012023771 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'xh'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mua-CM.t0000644000175000017500000001112014043574012024426 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mua-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/eol.t0000644000175000017500000000125414043574012020744 0ustar autarchautarchuse strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19 use Test::More 0.88; use Test::EOL; my @files = ( 'lib/DateTime/Format/Strptime.pm', 'lib/DateTime/Format/Strptime/Types.pm', 't/00-report-prereqs.dd', 't/00-report-prereqs.t', 't/basic.t', 't/edge.t', 't/errors.t', 't/format-datetime.t', 't/format-with-locale.t', 't/generated-locale-de.t', 't/generated-locale-en.t', 't/generated-locale-ga.t', 't/generated-locale-pt.t', 't/generated-locale-zh.t', 't/import.t', 't/lib/T.pm', 't/zones.t' ); eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files; done_testing; DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-CM.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-CM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gsw-FR.t0000644000175000017500000001112014043574012024454 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gsw-FR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Adlm-GM.t0000644000175000017500000001112414043574012025122 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Adlm-GM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-tt-RU.t0000644000175000017500000001111714043574012024330 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'tt-RU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SD.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-TD.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-TD'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MW.t0000644000175000017500000001111714043574012024300 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-BH.t0000644000175000017500000001111714043574012024246 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-BH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mni-Beng-IN.t0000644000175000017500000001112514043574012025314 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mni-Beng-IN'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MH.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-lv-LV.t0000644000175000017500000001111714043574012024315 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'lv-LV'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-KE.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-MS.t0000644000175000017500000001111714043574012024274 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-MS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rn-BI.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rn-BI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-is-IS.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'is-IS'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-GM.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-GM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-chr-US.t0000644000175000017500000001112014043574012024450 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'chr-US'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-sat-Olck.t0000644000175000017500000001112214043574012025026 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'sat-Olck'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-no.t0000644000175000017500000001111414043574012023766 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'no'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ko-KR.t0000644000175000017500000001111714043574012024300 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ko-KR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ff-Latn-NG.t0000644000175000017500000001112414043574012025144 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ff-Latn-NG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-nds-NL.t0000644000175000017500000001112014043574012024442 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'nds-NL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-cs.t0000644000175000017500000001111414043574012023757 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'cs'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-br-FR.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'br-FR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ksb.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ksb'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-US.t0000644000175000017500000001111714043574012024304 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-US'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pl-PL.t0000644000175000017500000001111714043574012024301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pl-PL'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-root.t0000644000175000017500000001111614043574012024337 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'root'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hr-HR.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hr-HR'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bs.t0000644000175000017500000001111414043574012023756 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bs'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SZ.t0000644000175000017500000001111714043574012024311 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yo-BJ.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yo-BJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-es-CU.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'es-CU'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ps-AF.t0000644000175000017500000001111714043574012024263 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ps-AF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-se-FI.t0000644000175000017500000001111714043574012024260 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'se-FI'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-PW.t0000644000175000017500000001111714043574012024303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-PW'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-EG.t0000644000175000017500000001111714043574012024250 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-EG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-rof-TZ.t0000644000175000017500000001112014043574012024470 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'rof-TZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ln-CF.t0000644000175000017500000001111714043574012024254 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ln-CF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-jgo.t0000644000175000017500000001111514043574012024132 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'jgo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-naq-NA.t0000644000175000017500000001112014043574012024422 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'naq-NA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-SH.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-SH'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ig-NG.t0000644000175000017500000001111714043574012024256 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ig-NG'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-yi.t0000644000175000017500000001111414043574012023773 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'yi'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-pt-AO.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt-AO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ha-NE.t0000644000175000017500000001111714043574012024245 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ha-NE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-af-ZA.t0000644000175000017500000001111714043574012024253 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'af-ZA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bg.t0000644000175000017500000001111414043574012023742 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bg'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-so-SO.t0000644000175000017500000001111714043574012024315 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'so-SO'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ti-ER.t0000644000175000017500000001111714043574012024275 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ti-ER'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-BJ.t0000644000175000017500000001111714043574012024255 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-BJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-KM.t0000644000175000017500000001111714043574012024264 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-KM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-DJ.t0000644000175000017500000001111714043574012024257 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-DJ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-HK.t0000644000175000017500000001111714043574012024257 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-HK'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-gl.t0000644000175000017500000001111414043574012023754 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'gl'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-DZ.t0000644000175000017500000001111714043574012024272 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-DZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mgh-MZ.t0000644000175000017500000001112014043574012024446 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mgh-MZ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-PF.t0000644000175000017500000001111714043574012024267 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-PF'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-bm-ML.t0000644000175000017500000001111714043574012024261 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'bm-ML'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hr-BA.t0000644000175000017500000001111714043574012024246 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hr-BA'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-KM.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-KM'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-mk.t0000644000175000017500000001111414043574012023761 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'mk'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-en-CC.t0000644000175000017500000001111714043574012024242 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en-CC'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-fr-GQ.t0000644000175000017500000001111714043574012024271 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'fr-GQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-kw.t0000644000175000017500000001111414043574012023773 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'kw'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-luo.t0000644000175000017500000001111514043574012024152 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'luo'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-LB.t0000644000175000017500000001111714043574012024252 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-LB'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-ar-IQ.t0000644000175000017500000001111714043574012024266 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ar-IQ'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-om-KE.t0000644000175000017500000001111714043574012024265 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'om-KE'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/xt/author/generated-locale-hi.t0000644000175000017500000001111414043574012023752 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'hi'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/perlcriticrc0000644000175000017500000000370514043574012020456 0ustar autarchautarchseverity = 3 verbose = 11 theme = (core && (pbp || bugs || maintenance || cosmetic || complexity || security || tests)) || moose program-extensions = pl psgi t exclude = Subroutines::ProhibitCallsToUndeclaredSubs [BuiltinFunctions::ProhibitStringySplit] severity = 3 [CodeLayout::RequireTrailingCommas] severity = 3 [ControlStructures::ProhibitCStyleForLoops] severity = 3 [InputOutput::RequireCheckedSyscalls] functions = :builtins exclude_functions = sleep severity = 3 [RegularExpressions::ProhibitComplexRegexes] max_characters = 200 [RegularExpressions::ProhibitUnusualDelimiters] severity = 3 [Subroutines::ProhibitUnusedPrivateSubroutines] private_name_regex = _(?!build)\w+ [TestingAndDebugging::ProhibitNoWarnings] allow = redefine [ValuesAndExpressions::ProhibitEmptyQuotes] severity = 3 [ValuesAndExpressions::ProhibitInterpolationOfLiterals] severity = 3 [ValuesAndExpressions::RequireUpperCaseHeredocTerminator] severity = 3 [Variables::ProhibitPackageVars] add_packages = Carp Test::Builder [-Subroutines::RequireFinalReturn] # This incorrectly thinks signatures are prototypes. [-Subroutines::ProhibitSubroutinePrototypes] [-ErrorHandling::RequireCarping] # No need for /xsm everywhere [-RegularExpressions::RequireDotMatchAnything] [-RegularExpressions::RequireExtendedFormatting] [-RegularExpressions::RequireLineBoundaryMatching] # http://stackoverflow.com/questions/2275317/why-does-perlcritic-dislike-using-shift-to-populate-subroutine-variables [-Subroutines::RequireArgUnpacking] # "use v5.14" is more readable than "use 5.014" [-ValuesAndExpressions::ProhibitVersionStrings] # Explicitly returning undef is a _good_ thing in many cases, since it # prevents very common errors when using a sub in list context to construct a # hash and ending up with a missing value or key. [-Subroutines::ProhibitExplicitReturnUndef] # Sometimes I want to write "return unless $x > 4" [-ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions] DateTime-Format-Strptime-1.79/cpanfile0000644000175000017500000000436614043574012017556 0ustar autarchautarch# This file is generated by Dist::Zilla::Plugin::CPANFile v6.017 # Do not edit this file directly. To change prereqs, edit the `dist.ini` file. requires "Carp" => "0"; requires "DateTime" => "1.00"; requires "DateTime::Locale" => "1.30"; requires "DateTime::Locale::Base" => "0"; requires "DateTime::Locale::FromData" => "0"; requires "DateTime::TimeZone" => "2.09"; requires "Exporter" => "0"; requires "Params::ValidationCompiler" => "0"; requires "Specio" => "0.33"; requires "Specio::Declare" => "0"; requires "Specio::Exporter" => "0"; requires "Specio::Library::Builtins" => "0"; requires "Specio::Library::String" => "0"; requires "Try::Tiny" => "0"; requires "constant" => "0"; requires "parent" => "0"; requires "strict" => "0"; requires "warnings" => "0"; on 'test' => sub { requires "ExtUtils::MakeMaker" => "0"; requires "File::Spec" => "0"; requires "FindBin" => "0"; requires "Test::Builder" => "0"; requires "Test::Fatal" => "0"; requires "Test::More" => "0.96"; requires "Test::Warnings" => "0"; requires "lib" => "0"; requires "utf8" => "0"; }; on 'test' => sub { recommends "CPAN::Meta" => "2.120900"; }; on 'configure' => sub { requires "ExtUtils::MakeMaker" => "0"; }; on 'configure' => sub { suggests "JSON::PP" => "2.27300"; }; on 'develop' => sub { requires "Capture::Tiny" => "0"; requires "Cwd" => "0"; requires "DateTime::Locale" => "1.30"; requires "File::Spec" => "0"; requires "FindBin" => "0"; requires "IO::Handle" => "0"; requires "IPC::Open3" => "0"; requires "Perl::Critic" => "1.138"; requires "Perl::Critic::Moose" => "1.05"; requires "Perl::Tidy" => "20210111"; requires "Pod::Checker" => "1.74"; requires "Pod::Coverage::TrustPod" => "0"; requires "Pod::Tidy" => "0.10"; requires "Pod::Wordlist" => "0"; requires "Test::CPAN::Meta::JSON" => "0.16"; requires "Test::DependentModules" => "0"; requires "Test::EOL" => "0"; requires "Test::Fatal" => "0"; requires "Test::Mojibake" => "0"; requires "Test::More" => "0.96"; requires "Test::NoTabs" => "0"; requires "Test::Pod" => "1.41"; requires "Test::Pod::Coverage" => "1.08"; requires "Test::Portability::Files" => "0"; requires "Test::Spelling" => "0.12"; requires "Test::Version" => "2.05"; requires "perl" => "5.006"; }; DateTime-Format-Strptime-1.79/t/0000775000175000017500000000000014043574012016306 5ustar autarchautarchDateTime-Format-Strptime-1.79/t/00-report-prereqs.dd0000644000175000017500000001020614043574012022023 0ustar autarchautarchdo { my $x = { 'configure' => { 'requires' => { 'ExtUtils::MakeMaker' => '0' }, 'suggests' => { 'JSON::PP' => '2.27300' } }, 'develop' => { 'requires' => { 'Capture::Tiny' => '0', 'Cwd' => '0', 'DateTime::Locale' => '1.30', 'File::Spec' => '0', 'FindBin' => '0', 'IO::Handle' => '0', 'IPC::Open3' => '0', 'Perl::Critic' => '1.138', 'Perl::Critic::Moose' => '1.05', 'Perl::Tidy' => '20210111', 'Pod::Checker' => '1.74', 'Pod::Coverage::TrustPod' => '0', 'Pod::Tidy' => '0.10', 'Pod::Wordlist' => '0', 'Test::CPAN::Meta::JSON' => '0.16', 'Test::DependentModules' => '0', 'Test::EOL' => '0', 'Test::Fatal' => '0', 'Test::Mojibake' => '0', 'Test::More' => '0.96', 'Test::NoTabs' => '0', 'Test::Pod' => '1.41', 'Test::Pod::Coverage' => '1.08', 'Test::Portability::Files' => '0', 'Test::Spelling' => '0.12', 'Test::Version' => '2.05', 'perl' => '5.006' } }, 'runtime' => { 'requires' => { 'Carp' => '0', 'DateTime' => '1.00', 'DateTime::Locale' => '1.30', 'DateTime::Locale::Base' => '0', 'DateTime::Locale::FromData' => '0', 'DateTime::TimeZone' => '2.09', 'Exporter' => '0', 'Params::ValidationCompiler' => '0', 'Specio' => '0.33', 'Specio::Declare' => '0', 'Specio::Exporter' => '0', 'Specio::Library::Builtins' => '0', 'Specio::Library::String' => '0', 'Try::Tiny' => '0', 'constant' => '0', 'parent' => '0', 'strict' => '0', 'warnings' => '0' } }, 'test' => { 'recommends' => { 'CPAN::Meta' => '2.120900' }, 'requires' => { 'ExtUtils::MakeMaker' => '0', 'File::Spec' => '0', 'FindBin' => '0', 'Test::Builder' => '0', 'Test::Fatal' => '0', 'Test::More' => '0.96', 'Test::Warnings' => '0', 'lib' => '0', 'utf8' => '0' } } }; $x; }DateTime-Format-Strptime-1.79/t/format-with-locale.t0000644000175000017500000000120514043574012022165 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $strptime = DateTime::Format::Strptime->new( pattern => '%B %Y', locale => 'pt', on_error => 'croak', ); my $dt = DateTime->new( year => 2015, month => 8, locale => 'en', ); is( $strptime->format_datetime($dt), 'agosto 2015', 'formatted output is in locale of formatter (Portugese)' ); is( $dt->locale->$code_meth, 'en', q{formatter leaves DateTime object's locale unchanged} ); done_testing(); DateTime-Format-Strptime-1.79/t/generated-locale-zh.t0000644000175000017500000001111414043574012022301 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'zh'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/t/import.t0000644000175000017500000000103514043574012020002 0ustar autarchautarchuse strict; use warnings; # We need this to be set to catch warning from inside other packages. BEGIN { ## no critic (Variables::RequireLocalizedPunctuationVars) $^W = 1; } use Test::More; use Test::Warnings qw( warnings ); use DateTime::Format::Strptime qw( strftime strptime ), -api_version => '1.55'; is( strptime( '%Y', '2005' )->year, 2005, 'export strptime works as expected' ); is( strftime( '%Y', DateTime->new( year => 2005 ) ), 2005, 'export strftime works as expected' ); done_testing(); DateTime-Format-Strptime-1.79/t/00-report-prereqs.t0000644000175000017500000001345214043574012021705 0ustar autarchautarch#!perl use strict; use warnings; # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.028 use Test::More tests => 1; use ExtUtils::MakeMaker; use File::Spec; # from $version::LAX my $lax_version_re = qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? | (?:\.[0-9]+) (?:_[0-9]+)? ) | (?: v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? | (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? ) )/x; # hide optional CPAN::Meta modules from prereq scanner # and check if they are available my $cpan_meta = "CPAN::Meta"; my $cpan_meta_pre = "CPAN::Meta::Prereqs"; my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic # Verify requirements? my $DO_VERIFY_PREREQS = 1; sub _max { my $max = shift; $max = ( $_ > $max ) ? $_ : $max for @_; return $max; } sub _merge_prereqs { my ($collector, $prereqs) = @_; # CPAN::Meta::Prereqs object if (ref $collector eq $cpan_meta_pre) { return $collector->with_merged_prereqs( CPAN::Meta::Prereqs->new( $prereqs ) ); } # Raw hashrefs for my $phase ( keys %$prereqs ) { for my $type ( keys %{ $prereqs->{$phase} } ) { for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; } } } return $collector; } my @include = qw( ); my @exclude = qw( ); # Add static prereqs to the included modules list my $static_prereqs = do './t/00-report-prereqs.dd'; # Merge all prereqs (either with ::Prereqs or a hashref) my $full_prereqs = _merge_prereqs( ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), $static_prereqs ); # Add dynamic prereqs to the included modules list (if we can) my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; my $cpan_meta_error; if ( $source && $HAS_CPAN_META && (my $meta = eval { CPAN::Meta->load_file($source) } ) ) { $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); } else { $cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source) $source = 'static metadata'; } my @full_reports; my @dep_errors; my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; # Add static includes into a fake section for my $mod (@include) { $req_hash->{other}{modules}{$mod} = 0; } for my $phase ( qw(configure build test runtime develop other) ) { next unless $req_hash->{$phase}; next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); for my $type ( qw(requires recommends suggests conflicts modules) ) { next unless $req_hash->{$phase}{$type}; my $title = ucfirst($phase).' '.ucfirst($type); my @reports = [qw/Module Want Have/]; for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { next if $mod eq 'perl'; next if grep { $_ eq $mod } @exclude; my $file = $mod; $file =~ s{::}{/}g; $file .= ".pm"; my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; my $want = $req_hash->{$phase}{$type}{$mod}; $want = "undef" unless defined $want; $want = "any" if !$want && $want == 0; my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; if ($prefix) { my $have = MM->parse_version( File::Spec->catfile($prefix, $file) ); $have = "undef" unless defined $have; push @reports, [$mod, $want, $have]; if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { if ( $have !~ /\A$lax_version_re\z/ ) { push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; } elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { push @dep_errors, "$mod version '$have' is not in required range '$want'"; } } } else { push @reports, [$mod, $want, "missing"]; if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { push @dep_errors, "$mod is not installed ($req_string)"; } } } if ( @reports ) { push @full_reports, "=== $title ===\n\n"; my $ml = _max( map { length $_->[0] } @reports ); my $wl = _max( map { length $_->[1] } @reports ); my $hl = _max( map { length $_->[2] } @reports ); if ($type eq 'modules') { splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; } else { splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; } push @full_reports, "\n"; } } } if ( @full_reports ) { diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; } if ( $cpan_meta_error || @dep_errors ) { diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"; } if ( $cpan_meta_error ) { my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n"; } if ( @dep_errors ) { diag join("\n", "\nThe following REQUIRED prerequisites were not satisfied:\n", @dep_errors, "\n" ); } pass('Reported prereqs'); # vim: ts=4 sts=4 sw=4 et: DateTime-Format-Strptime-1.79/t/lib/0000775000175000017500000000000014043574012017054 5ustar autarchautarchDateTime-Format-Strptime-1.79/t/lib/T.pm0000644000175000017500000000623314043574012017617 0ustar autarchautarchpackage # hide from PAUSE T; use strict; use warnings; use Test::Builder; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use Exporter qw( import ); our @EXPORT_OK = qw( run_tests_from_data test_datetime_object utf8_output ); sub run_tests_from_data { my $fh = shift; for my $test ( _tests_from_fh($fh) ) { subtest( qq{$test->{name}}, sub { utf8_output(); my $parser; is( exception { $parser = DateTime::Format::Strptime->new( pattern => $test->{pattern}, ( $test->{locale} ? ( locale => $test->{locale} ) : () ), strict => $test->{strict}, on_error => 'croak', ); }, undef, "no exception building parser for $test->{pattern}" ) or return; ( my $real_input = $test->{input} ) =~ s/\\n/\n/g; my $dt; is( exception { $dt = $parser->parse_datetime($real_input) }, undef, "no exception parsing $test->{input}" ) or return; test_datetime_object( $dt, $test->{expect} ); unless ( $test->{skip_round_trip} ) { is( $parser->format_datetime($dt), $real_input, 'round trip via strftime produces original input' ); } } ); } } sub utf8_output { binmode $_, ':encoding(UTF-8)' or die $! for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } sub test_datetime_object { my $dt = shift; my $expect = shift; for my $meth ( sort keys %{$expect} ) { is( $dt->$meth, $expect->{$meth}, "$meth is $expect->{$meth}" ); } } sub _tests_from_fh { my $fh = shift; my @tests; my $d = do { local $/ = undef; <$fh> }; my $test_re = qr/ \[(.+?)\]\n # test name (.+?)\n # pattern (.+?)\n # input (?:locale\ =\ (.+?)\n)? # optional locale (skip\ round\ trip\n)? # skip a round trip? (strict\n)? # strict parsing flag? (.+?)\n # k-v pairs for expected values (?:\n|\z) # end of test /xs; while ( $d =~ /$test_re/g ) { push @tests, { name => $1, pattern => $2, input => $3, locale => $4, skip_round_trip => $5, strict => ( $6 ? 1 : 0 ), expect => { map { split /\s+=>\s+/ } split /\n/, $7, }, }; } return @tests; } 1; DateTime-Format-Strptime-1.79/t/edge.t0000644000175000017500000000361614043574012017403 0ustar autarchautarchuse strict; use warnings; use utf8; use FindBin qw( $Bin ); use lib "$Bin/lib"; use T qw( run_tests_from_data test_datetime_object ); use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; run_tests_from_data( \*DATA ); done_testing(); __DATA__ [Leading and trailing space] %Y%m%d 20151222 skip round trip year => 2015 month => 12 day => 22 [Olson time zone in upper case] %Y %O 2015 AMERICA/NEW_YORK skip round trip year => 2015 time_zone_long_name => America/New_York [Olson time zone in lower case] %Y %O 2015 america/new_york skip round trip year => 2015 time_zone_long_name => America/New_York [Olson time zone in random case] %Y %O 2015 amERicA/new_YORK skip round trip year => 2015 time_zone_long_name => America/New_York [Month name match is not too greedy] %d%b%y 15Aug07 year => 2007 month => 8 day => 15 [Trailing text after match] %Y-%m-%d 2016-01-13 in the afternoon skip round trip year => 2016 month => 1 day => 13 [Leading text before match] %Y-%m-%d in the afternoon of 2016-01-13 skip round trip year => 2016 month => 1 day => 13 [%Y.suffix] %Y 2016.suffix skip round trip year => 2016 [%Y-%m-%d.suffix] %Y-%m-%d 2016-03-31.suffix skip round trip year => 2016 month => 3 day => 31 [prefix.year] %Y log.2016 skip round trip year => 2016 [prefix.date] %Y-%m-%d log.2016-03-31 skip round trip year => 2016 month => 3 day => 31 [prefix.year.suffix] %Y cron.2016.log skip round trip year => 2016 [prefix.year.suffix with strict] %Y cron.2016.log skip round trip strict year => 2016 [prefix.date.suffix] %Y-%m-%d cron.2016-03-31.log skip round trip year => 2016 month => 3 day => 31 [prefix.date.suffix with strict] %Y-%m-%d cron.2016-03-31.log skip round trip strict year => 2016 month => 3 day => 31 [ISO8601 + Z with Z at end ignored] %Y%m%d%H%M%S 20161214233712Z skip round trip year => 2016 month => 12 day => 14 hour => 23 minute => 37 second => 12 DateTime-Format-Strptime-1.79/t/generated-locale-pt.t0000644000175000017500000001111414043574012022303 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'pt'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/t/generated-locale-de.t0000644000175000017500000001111414043574012022250 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'de'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/t/generated-locale-en.t0000644000175000017500000001111414043574012022262 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'en'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/t/zones.t0000644000175000017500000000127314043574012017632 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; { my $parser = DateTime::Format::Strptime->new( pattern => '%Y %Z', on_error => 'croak', ); like( exception { $parser->parse_datetime('2015 EST') }, qr/ambiguous/, 'parser dies on ambiguous zone abbreviation' ); } { my $parser = DateTime::Format::Strptime->new( pattern => '%Y %Z', zone_map => { EST => '-0200' }, on_error => 'croak', ); my $dt = $parser->parse_datetime('2015 EST'); is( $dt->offset, -7200, 'parser uses zone map provided with constructor' ); } done_testing(); DateTime-Format-Strptime-1.79/t/generated-locale-ga.t0000644000175000017500000001111414043574012022247 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime::Locale; use DateTime; my $code_meth = DateTime::Locale->load('en')->can('code') ? 'code' : 'id'; my $locale = 'ga'; test_days($locale); test_months($locale); test_am_pm($locale); test_locale($locale); done_testing(); sub test_days { my $locale = shift; subtest( 'days', sub { foreach my $day ( 1 .. 7 ) { subtest( "Day $day", sub { _test_one_day( $locale, $day ); }, ); } } ); } sub _test_one_day { my $locale = shift; my $day = shift; _utf8_output(); my $pattern = '%Y-%m-%d %A'; my $dt = DateTime->now( locale => $locale )->set( day => $day ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with day name in pattern (%A)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_months { my $locale = shift; subtest( 'months', sub { foreach my $month ( 1 .. 12 ) { subtest( "Month $month", sub { _test_one_month( $locale, $month ) }, ); } } ); } sub _test_one_month { my $locale = shift; my $month = shift; _utf8_output(); my $pattern = '%Y-%m-%d %B'; my $dt = DateTime->now( locale => $locale )->truncate( to => 'month' ) ->set( month => $month ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with month name (%B)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input" ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_am_pm { my $locale = shift; subtest( 'am/pm', sub { foreach my $hour ( 0, 11, 12, 23 ) { subtest( "Hour $hour", sub { _test_one_hour( $locale, $hour ); }, ); } } ); } sub _test_one_hour { my $locale = shift; my $hour = shift; _utf8_output(); my $pattern = '%Y-%m-%d %H:%M %p'; my $dt = DateTime->now( locale => $locale )->set( hour => $hour ); my $input = $dt->strftime($pattern); my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => $pattern, locale => $locale, on_error => 'croak', ); }, undef, 'constructor with meridian (%p)' ) or return; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->strftime($pattern), $input, 'strftime output matches input' ); } sub test_locale { my $locale = shift; my $strptime; is( exception { $strptime = DateTime::Format::Strptime->new( pattern => '%Y-%m-%d', locale => $locale, on_error => 'croak', ); }, undef, 'constructor with locale' ) or return; my $input = '2015-01-30'; my $parsed_dt; is( exception { $parsed_dt = $strptime->parse_datetime($input) }, undef, "parsed $input", ) or return; is( $parsed_dt->locale->$code_meth, $locale, "code of locale for DateTime returned by parser is $locale" ); } sub _utf8_output { binmode $_, ':encoding(UTF-8)' for map { Test::Builder->new->$_ } qw( output failure_output todo_output ); } DateTime-Format-Strptime-1.79/t/errors.t0000644000175000017500000002531314043574012020011 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; subtest( 'valid constructor', sub { my $parser; is( exception { $parser = DateTime::Format::Strptime->new( pattern => '%Y' ) }, undef, 'no exception when constructing object with valid pattern' ); isa_ok( $parser, 'DateTime::Format::Strptime', ); } ); subtest( 'constructor error', sub { my $parser; like( exception { $parser = DateTime::Format::Strptime->new( pattern => '%Y %Q' ) }, qr/\QPattern contained an unrecognized strptime token, "%Q"/, 'no exception when constructing object with valid pattern' ); is( $parser, undef, 'constructor does not return object on invalid pattern' ); } ); { my @tests = ( { name => '12-hour time without meridian', pattern => '%Y-%m-%d %I:%M', input => '2015-01-02 11:15', error => qr{\QParsed a 12-hour based hour, "11", but the pattern does not include an AM/PM specifier}, }, { name => 'uncrecognized time zone abbreviation', pattern => '%Y-%m-%d %Z', input => '2015-01-02 FOO', error => qr{\QParsed an unrecognized time zone abbreviation, "FOO"}, }, { name => 'ambiguous time zone abbreviation', pattern => '%Y-%m-%d %Z', input => '2015-01-02 NST', error => qr{\QThe time zone abbreviation that was parsed is ambiguous, "NST"}, }, { name => '24-hour vs 12-hour', pattern => '%Y-%m-%d %H %I %P', input => '2015-01-02 13 2 AM', error => qr{\QParsed an input with 24-hour and 12-hour time values that do not match - "13" versus "2"}, }, { name => '24-hour vs AM/PM (13AM)', pattern => '%Y-%m-%d %H %P', input => '2015-01-02 13 AM', error => qr{\QParsed an input with 24-hour and AM/PM values that do not match - "13" versus "AM"}, }, { name => '24-hour vs AM/PM (4AM)', pattern => '%Y-%m-%d %H %P', input => '2015-01-02 4 PM', error => qr{\QParsed an input with 24-hour and AM/PM values that do not match - "4" versus "PM"}, }, { name => 'year vs century', pattern => '%Y-%m-%d %C', input => '2015-01-02 19', error => qr{\QParsed an input with year and century values that do not match - "2015" versus "19"}, }, { name => 'year vs year-within-century', pattern => '%Y-%m-%d %y', input => '2015-01-02 14', error => qr{\QParsed an input with year and year-within-century values that do not match - "2015" versus "14"}, }, { name => 'time zone offset vs time zone abbreviation', pattern => '%Y %z %Z', input => '2015 -0500 AEST', error => qr{\QParsed an input with time zone abbreviation and time zone offset values that do not match - "AEST" versus "-0500"}, }, { name => 'invalid time zone offset', pattern => '%Y %z', input => '2015 -9999', error => qr{\QThe time zone name offset that was parsed does not appear to be valid, "-9999"}, }, { name => 'epoch vs year', pattern => '%s %Y', input => '42 2015', error => qr{\QParsed an input with epoch and year values that do not match - "42" versus "2015"}, }, { name => 'epoch vs month', pattern => '%s %m', input => '42 12', error => qr{\QParsed an input with epoch and month values that do not match - "42" versus "12"}, }, { name => 'epoch vs day', pattern => '%s %d', input => '42 13', error => qr{\QParsed an input with epoch and day values that do not match - "42" versus "13"}, }, { name => 'epoch vs day', pattern => '%s %H', input => '42 14', error => qr{\QParsed an input with epoch and hour values that do not match - "42" versus "14"}, }, { name => 'epoch vs minute', pattern => '%s %M', input => '42 15', error => qr{\QParsed an input with epoch and minute values that do not match - "42" versus "15"}, }, { name => 'epoch vs minute', pattern => '%s %S', input => '42 16', error => qr{\QParsed an input with epoch and second values that do not match - "42" versus "16"}, }, { name => 'epoch vs hour (1-12)', pattern => '%s %I %P', input => '42 4 PM', error => qr{\QParsed an input with epoch and hour (1-12) values that do not match - "42" versus "4"}, }, { name => 'epoch vs day of year', pattern => '%s %j', input => '42 17', error => qr{\QParsed an input with epoch and day of year values that do not match - "42" versus "17"}, }, { name => 'month vs day of year', pattern => '%Y %m %j', input => '2015 8 17', error => qr{\QParsed an input with month and day of year values that do not match - "8" versus "17"}, }, { name => 'day name vs date', pattern => '%Y %m %d %a', input => '2015 8 17 Tuesday', error => qr{\QParsed an input where the day name does not match the date - "Tuesday" versus "2015-08-17"}, }, { name => 'day of week vs date', pattern => '%Y %m %d %u', input => '2015 8 17 2', error => qr{\QParsed an input where the day of week does not match the date - "2" versus "2015-08-17"}, }, { name => 'day of week (Sunday as 0) vs date', pattern => '%Y %m %d %w', input => '2015 8 17 2', error => qr{\QParsed an input where the day of week (Sunday as 0) does not match the date - "2" versus "2015-08-17"}, }, { name => 'iso week year vs date', pattern => '%Y %m %d %G', input => '2015 8 17 2013', error => qr{\QParsed an input where the ISO week year does not match the date - "2013" versus "2015-08-17"}, }, { name => 'iso week year (without century) vs date', pattern => '%Y %m %d %g', input => '2015 8 17 13', error => qr{\QParsed an input where the ISO week year (without century) does not match the date - "13" versus "2015-08-17"}, }, { name => 'iso week number vs date', pattern => '%Y %m %d %W', input => '2015 8 17 15', error => qr{\QParsed an input where the ISO week number (Monday starts week) does not match the date - "15" versus "2015-08-17"}, }, { name => 'iso week number vs date', pattern => '%Y %m %d %U', input => '2015 8 17 15', error => qr{\QParsed an input where the ISO week number (Sunday starts week) does not match the date - "15" versus "2015-08-17"}, }, { name => 'invalid time zone name', pattern => '%Y %O', input => '2015 Dev/Null', error => qr{\QThe Olson time zone name that was parsed does not appear to be valid, "Dev/Null"}, }, { name => 'illegal date', pattern => '%Y-%m-%d', input => '0000-00-00', error => qr{\QParsed values did not produce a valid date}, }, { name => 'illegal time', pattern => '%Y-%m-%d %H:%M', input => '0000-00-00 26:99', error => qr{\QParsed values did not produce a valid date}, }, { name => 'February 29, 2013 - RT #110247', pattern => '%a %b %d %T %Y', input => 'Wed Feb 29 12:02:28 2013', error => qr{\QParsed values did not produce a valid date}, }, { name => 'Failed word boundary check at beginning - GitHub #11', pattern => '%d-%m-%y', input => '2016-11-30', strict => 1, error => qr{\QYour datetime does not match your pattern}, }, { name => 'Failed word boundary check at end', pattern => '%d-%m-%y', input => '30-11-2016', strict => 1, error => qr{\QYour datetime does not match your pattern}, }, ); for my $test (@tests) { subtest( $test->{name}, sub { _test_error_handling($test) } ); } } done_testing(); sub _test_error_handling { my $test = shift; my $parser = DateTime::Format::Strptime->new( pattern => $test->{pattern}, on_error => 'croak', strict => $test->{strict}, ); like( exception { $parser->parse_datetime( $test->{input} ) }, $test->{error}, 'croak error' ); $parser = DateTime::Format::Strptime->new( pattern => $test->{pattern}, on_error => 'undef', strict => $test->{strict}, ); my $dt = $parser->parse_datetime( $test->{input} ); like( $parser->errmsg, $test->{error}, 'errmsg error ' ); is( $dt, undef, 'no datetime object is returned when there is a parse error' ); $parser = DateTime::Format::Strptime->new( pattern => $test->{pattern}, on_error => sub { die { e => $_[1] } }, strict => $test->{strict}, ); my $e = exception { $parser->parse_datetime( $test->{input} ) }; like( $e->{e}, $test->{error}, 'custom on_error' ); } DateTime-Format-Strptime-1.79/t/format-datetime.t0000644000175000017500000000066214043574012021557 0ustar autarchautarchuse strict; use warnings; use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; use DateTime; my $strptime = DateTime::Format::Strptime->new( pattern => '%B %Y', locale => 'pt', on_error => 'croak', ); my $e = exception { $strptime->format_datetime('somestring') }; is( $e->type->name, 'DateTime', 'got expected type failure when passing a string to format_datetime' ); done_testing(); DateTime-Format-Strptime-1.79/t/basic.t0000644000175000017500000001666114043574012017564 0ustar autarchautarchuse strict; use warnings; use utf8; use FindBin qw( $Bin ); use lib "$Bin/lib"; use T qw( run_tests_from_data test_datetime_object ); use Test::More 0.96; use Test::Fatal; use DateTime::Format::Strptime; run_tests_from_data( \*DATA ); subtest( 'parsing whitespace', sub { my $parser = DateTime::Format::Strptime->new( pattern => '%n%Y%t%m%n', on_error => 'croak', ); my $dt = $parser->parse_datetime(<<"EOF"); \t 2015 12 EOF my %expect = ( year => 2015, month => 12, ); test_datetime_object( $dt, \%expect ); } ); subtest( 'parser time zone is set on returned object', sub { my $parser = DateTime::Format::Strptime->new( pattern => '%Y %H:%M:%S %Z', time_zone => 'America/New_York', on_error => 'croak', ); my $dt = $parser->parse_datetime('2003 23:45:56 MDT'); my %expect = ( year => 2003, hour => 0, minute => 45, second => 56, time_zone_long_name => 'America/New_York', ); test_datetime_object( $dt, \%expect ); } ); done_testing(); __DATA__ [ISO8601] %Y-%m-%dT%H:%M:%S 2015-10-08T15:39:44 year => 2015 month => 10 day => 8 hour => 15 minute => 39 second => 44 [date with 4-digit year] %Y-%m-%d 1998-12-31 year => 1998 month => 12 day => 31 [date with 2-digit year] %y-%m-%d 98-12-31 year => 1998 month => 12 day => 31 [date with leading space on month] %e-%b-%Y 3-Jun-2010 year => 2010 month => 6 day => 3 [year and day of year] %Y years %j days 1998 years 312 days year => 1998 month => 11 day => 8 [date with abbreviated month] %b %d %Y Jan 24 2003 year => 2003 month => 1 day => 24 [date with abbreviated month is case-insensitive] %b %d %Y jAN 24 2003 skip round trip year => 2003 month => 1 day => 24 [date with full month] %B %d %Y January 24 2003 year => 2003 month => 1 day => 24 [date with full month is case-insensitive] %B %d %Y jAnUAry 24 2003 skip round trip year => 2003 month => 1 day => 24 [24 hour time] %H:%M:%S 23:45:56 year => 1 month => 1 day => 1 hour => 23 minute => 45 second => 56 [12 hour time (PM)] %l:%M:%S %p 11:45:56 PM year => 1 month => 1 day => 1 hour => 23 minute => 45 second => 56 [12 hour time (am) and am/pm is case-insensitive] %l:%M:%S %p 11:45:56 am skip round trip year => 1 month => 1 day => 1 hour => 11 minute => 45 second => 56 [24-hour time] %T 23:34:45 hour => 23 minute => 34 second => 45 [12-hour time] %r 11:34:45 PM hour => 23 minute => 34 second => 45 [24-hour time without second] %R 23:34 hour => 23 minute => 34 second => 0 [US style date] %D 11/30/03 year => 2003 month => 11 day => 30 [ISO style date] %F 2003-11-30 year => 2003 month => 11 day => 30 [nanosecond with no length] %H:%M:%S.%N 23:45:56.123456789 hour => 23 minute => 45 second => 56 nanosecond => 123456789 [nanosecond with length of 6] %H:%M:%S.%6N 23:45:56.123456 hour => 23 minute => 45 second => 56 nanosecond => 123456000 [nanosecond with length of 3] %H:%M:%S.%3N 23:45:56.123 hour => 23 minute => 45 second => 56 nanosecond => 123000000 [nanosecond with no length but < 9 digits] %H:%M:%S.%N 23:45:56.543 skip round trip hour => 23 minute => 45 second => 56 nanosecond => 543000000 [time zone as letter Z] %H:%M:%S %z 23:45:56 Z skip round trip hour => 23 minute => 45 second => 56 offset => 0 [time zone as numeric offset +HH] %H:%M:%S %z 23:45:56 +10 skip round trip hour => 23 minute => 45 second => 56 offset => 36000 [time zone as numeric offset -HH] %H:%M:%S %z 23:45:56 -10 skip round trip hour => 23 minute => 45 second => 56 offset => -36000 [time zone as numeric offset +HHMM] %H:%M:%S %z 23:45:56 +1030 hour => 23 minute => 45 second => 56 offset => 37800 [time zone as numeric offset -HHMM] %H:%M:%S %z 23:45:56 -1030 hour => 23 minute => 45 second => 56 offset => -37800 [time zone as numeric offset +HH:MM] %H:%M:%S %z 23:45:56 +10:30 skip round trip hour => 23 minute => 45 second => 56 offset => 37800 [time zone as numeric offset -HH:MM] %H:%M:%S %z 23:45:56 -10:30 skip round trip hour => 23 minute => 45 second => 56 offset => -37800 [time zone as abbreviation] %H:%M:%S %Z 23:45:56 AEST skip round trip hour => 23 minute => 45 second => 56 offset => 36000 [time zone as abbreviation with short name of +07] %H:%M:%S %Z 23:45:56 +07 skip round trip hour => 23 minute => 45 second => 56 offset => 25200 [time zone as Olson name] %H:%M:%S %O 23:45:56 America/Chicago hour => 23 minute => 45 second => 56 time_zone_long_name => America/Chicago [escaped percent] %Y%%%m%%%d 2015%05%14 year => 2015 month => 5 day => 14 [escaped percent followed by letter token] %Y%%%m%%%d%%H 2015%05%14%H year => 2015 month => 5 day => 14 [every pattern] %a %b %B %C %d %e %h %H %I %j %k %l %m %M %n %N %O %p %P %S %U %u %w %W %y %Y %s %G %g %z %Z %%Y %% Wed Nov November 20 05 5 Nov 21 09 309 21 9 11 34 \n 123456789 America/Denver PM pm 45 44 3 3 44 03 2003 1068093285 2003 03 -0700 MST %Y % year => 2003 month => 11 day => 5 hour => 21 minute => 34 second => 45 nanosecond => 123456789 time_zone_long_name => America/Denver [Australian date] %x 31/12/98 locale = en-AU skip round trip year => 1998 month => 12 day => 31 [Australian time] %X 13:34:56 locale = en-AU skip round trip hour => 13 minute => 34 second => 56 [Australian date/time] %c Thu 31 Dec 1998 13:34:56 locale = en-AU skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 [US date] %x 12/31/1998 locale = en-US skip round trip year => 1998 month => 12 day => 31 [US time] %X 01:34:56 PM locale = en-US skip round trip hour => 13 minute => 34 second => 56 [US date/time] %c Thu 31 Dec 1998 01:34:56 PM MST locale = en-US skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 offset => -25200 [UK date] %x 31/12/98 locale = en-GB skip round trip year => 1998 month => 12 day => 31 [UK time] %X 13:34:56 locale = en-GB skip round trip hour => 13 minute => 34 second => 56 [UK date/time] %c Thu 31 Dec 1998 13:34:56 GMT locale = en-GB skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 offset => 0 [French (France) date] %x 31/12/1998 locale = fr-FR skip round trip year => 1998 month => 12 day => 31 [French (France) time] %X 13:34:56 locale = fr-FR skip round trip hour => 13 minute => 34 second => 56 [French (France) date/time] %c jeu. 31 Déc. 1998 13:34:56 locale = fr-FR skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 [French (Generic) date] %x 12/31/98 locale = fr skip round trip year => 1998 month => 12 day => 31 [French (Generic) time] %X 13:34:56 locale = fr skip round trip hour => 13 minute => 34 second => 56 [French (Generic) date/time] %c jeu. Déc. 31 13:34:56 1998 locale = fr skip round trip year => 1998 month => 12 day => 31 hour => 13 minute => 34 second => 56 [epoch without time zone] %s 42 epoch => 42 time_zone_long_name => floating [epoch with time zone] %s %Z 42 UTC epoch => 42 offset => 0 [epoch with nanosecond] %s %N 42 000000034 epoch => 42 nanosecond => 34 DateTime-Format-Strptime-1.79/MANIFEST0000644000175000017500000006727514043574012017213 0ustar autarchautarch# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.017. CODE_OF_CONDUCT.md CONTRIBUTING.md Changes INSTALL LICENSE MANIFEST META.json META.yml Makefile.PL README.md azure-pipelines.yml bench cpanfile dev-bin/install-xt-tools.sh dist.ini git/hooks/pre-commit.sh git/setup.pl inc/GenerateLocaleTests.pm lib/DateTime/Format/Strptime.pm lib/DateTime/Format/Strptime/Types.pm perlcriticrc perltidyrc precious.toml t/00-report-prereqs.dd t/00-report-prereqs.t t/basic.t t/edge.t t/errors.t t/format-datetime.t t/format-with-locale.t t/generated-locale-de.t t/generated-locale-en.t t/generated-locale-ga.t t/generated-locale-pt.t t/generated-locale-zh.t t/import.t t/lib/T.pm t/zones.t xt/author/00-compile.t xt/author/eol.t xt/author/generated-locale-af-NA.t xt/author/generated-locale-af-ZA.t xt/author/generated-locale-af.t xt/author/generated-locale-agq-CM.t xt/author/generated-locale-agq.t xt/author/generated-locale-ak-GH.t xt/author/generated-locale-ak.t xt/author/generated-locale-am-ET.t xt/author/generated-locale-am.t xt/author/generated-locale-ar-001.t xt/author/generated-locale-ar-AE.t xt/author/generated-locale-ar-BH.t xt/author/generated-locale-ar-DJ.t xt/author/generated-locale-ar-DZ.t xt/author/generated-locale-ar-EG.t xt/author/generated-locale-ar-EH.t xt/author/generated-locale-ar-ER.t xt/author/generated-locale-ar-IL.t xt/author/generated-locale-ar-IQ.t xt/author/generated-locale-ar-JO.t xt/author/generated-locale-ar-KM.t xt/author/generated-locale-ar-KW.t xt/author/generated-locale-ar-LB.t xt/author/generated-locale-ar-LY.t xt/author/generated-locale-ar-MA.t xt/author/generated-locale-ar-MR.t xt/author/generated-locale-ar-OM.t xt/author/generated-locale-ar-PS.t xt/author/generated-locale-ar-QA.t xt/author/generated-locale-ar-SA.t xt/author/generated-locale-ar-SD.t xt/author/generated-locale-ar-SO.t xt/author/generated-locale-ar-SS.t xt/author/generated-locale-ar-SY.t xt/author/generated-locale-ar-TD.t xt/author/generated-locale-ar-TN.t xt/author/generated-locale-ar-YE.t xt/author/generated-locale-ar.t xt/author/generated-locale-as-IN.t xt/author/generated-locale-as.t xt/author/generated-locale-asa-TZ.t xt/author/generated-locale-asa.t xt/author/generated-locale-ast-ES.t xt/author/generated-locale-ast.t xt/author/generated-locale-az-Cyrl-AZ.t xt/author/generated-locale-az-Cyrl.t xt/author/generated-locale-az-Latn-AZ.t xt/author/generated-locale-az-Latn.t xt/author/generated-locale-az.t xt/author/generated-locale-bas-CM.t xt/author/generated-locale-bas.t xt/author/generated-locale-be-BY.t xt/author/generated-locale-be.t xt/author/generated-locale-bem-ZM.t xt/author/generated-locale-bem.t xt/author/generated-locale-bez-TZ.t xt/author/generated-locale-bez.t xt/author/generated-locale-bg-BG.t xt/author/generated-locale-bg.t xt/author/generated-locale-bm-ML.t xt/author/generated-locale-bm.t xt/author/generated-locale-bn-BD.t xt/author/generated-locale-bn-IN.t xt/author/generated-locale-bn.t xt/author/generated-locale-bo-CN.t xt/author/generated-locale-bo-IN.t xt/author/generated-locale-bo.t xt/author/generated-locale-br-FR.t xt/author/generated-locale-br.t xt/author/generated-locale-brx-IN.t xt/author/generated-locale-brx.t xt/author/generated-locale-bs-Cyrl-BA.t xt/author/generated-locale-bs-Cyrl.t xt/author/generated-locale-bs-Latn-BA.t xt/author/generated-locale-bs-Latn.t xt/author/generated-locale-bs.t xt/author/generated-locale-ca-AD.t xt/author/generated-locale-ca-ES-VALENCIA.t xt/author/generated-locale-ca-ES.t xt/author/generated-locale-ca-FR.t xt/author/generated-locale-ca-IT.t xt/author/generated-locale-ca.t xt/author/generated-locale-ccp-BD.t xt/author/generated-locale-ccp-IN.t xt/author/generated-locale-ccp.t xt/author/generated-locale-ce-RU.t xt/author/generated-locale-ce.t xt/author/generated-locale-ceb-PH.t xt/author/generated-locale-ceb.t xt/author/generated-locale-cgg-UG.t xt/author/generated-locale-cgg.t xt/author/generated-locale-chr-US.t xt/author/generated-locale-chr.t xt/author/generated-locale-ckb-IQ.t xt/author/generated-locale-ckb-IR.t xt/author/generated-locale-ckb.t xt/author/generated-locale-cs-CZ.t xt/author/generated-locale-cs.t xt/author/generated-locale-cy-GB.t xt/author/generated-locale-cy.t xt/author/generated-locale-da-DK.t xt/author/generated-locale-da-GL.t xt/author/generated-locale-da.t xt/author/generated-locale-dav-KE.t xt/author/generated-locale-dav.t xt/author/generated-locale-de-AT.t xt/author/generated-locale-de-BE.t xt/author/generated-locale-de-CH.t xt/author/generated-locale-de-DE.t xt/author/generated-locale-de-IT.t xt/author/generated-locale-de-LI.t xt/author/generated-locale-de-LU.t xt/author/generated-locale-dje-NE.t xt/author/generated-locale-dje.t xt/author/generated-locale-doi-IN.t xt/author/generated-locale-doi.t xt/author/generated-locale-dsb-DE.t xt/author/generated-locale-dsb.t xt/author/generated-locale-dua-CM.t xt/author/generated-locale-dua.t xt/author/generated-locale-dyo-SN.t xt/author/generated-locale-dyo.t xt/author/generated-locale-dz-BT.t xt/author/generated-locale-dz.t xt/author/generated-locale-ebu-KE.t xt/author/generated-locale-ebu.t xt/author/generated-locale-ee-GH.t xt/author/generated-locale-ee-TG.t xt/author/generated-locale-ee.t xt/author/generated-locale-el-CY.t xt/author/generated-locale-el-GR.t xt/author/generated-locale-el.t xt/author/generated-locale-en-001.t xt/author/generated-locale-en-150.t xt/author/generated-locale-en-AE.t xt/author/generated-locale-en-AG.t xt/author/generated-locale-en-AI.t xt/author/generated-locale-en-AS.t xt/author/generated-locale-en-AT.t xt/author/generated-locale-en-AU.t xt/author/generated-locale-en-BB.t xt/author/generated-locale-en-BE.t xt/author/generated-locale-en-BI.t xt/author/generated-locale-en-BM.t xt/author/generated-locale-en-BS.t xt/author/generated-locale-en-BW.t xt/author/generated-locale-en-BZ.t xt/author/generated-locale-en-CA.t xt/author/generated-locale-en-CC.t xt/author/generated-locale-en-CH.t xt/author/generated-locale-en-CK.t xt/author/generated-locale-en-CM.t xt/author/generated-locale-en-CX.t xt/author/generated-locale-en-CY.t xt/author/generated-locale-en-DE.t xt/author/generated-locale-en-DG.t xt/author/generated-locale-en-DK.t xt/author/generated-locale-en-DM.t xt/author/generated-locale-en-ER.t xt/author/generated-locale-en-FI.t xt/author/generated-locale-en-FJ.t xt/author/generated-locale-en-FK.t xt/author/generated-locale-en-FM.t xt/author/generated-locale-en-GB.t xt/author/generated-locale-en-GD.t xt/author/generated-locale-en-GG.t xt/author/generated-locale-en-GH.t xt/author/generated-locale-en-GI.t xt/author/generated-locale-en-GM.t xt/author/generated-locale-en-GU.t xt/author/generated-locale-en-GY.t xt/author/generated-locale-en-HK.t xt/author/generated-locale-en-IE.t xt/author/generated-locale-en-IL.t xt/author/generated-locale-en-IM.t xt/author/generated-locale-en-IN.t xt/author/generated-locale-en-IO.t xt/author/generated-locale-en-JE.t xt/author/generated-locale-en-JM.t xt/author/generated-locale-en-KE.t xt/author/generated-locale-en-KI.t xt/author/generated-locale-en-KN.t xt/author/generated-locale-en-KY.t xt/author/generated-locale-en-LC.t xt/author/generated-locale-en-LR.t xt/author/generated-locale-en-LS.t xt/author/generated-locale-en-MG.t xt/author/generated-locale-en-MH.t xt/author/generated-locale-en-MO.t xt/author/generated-locale-en-MP.t xt/author/generated-locale-en-MS.t xt/author/generated-locale-en-MT.t xt/author/generated-locale-en-MU.t xt/author/generated-locale-en-MW.t xt/author/generated-locale-en-MY.t xt/author/generated-locale-en-NA.t xt/author/generated-locale-en-NF.t xt/author/generated-locale-en-NG.t xt/author/generated-locale-en-NL.t xt/author/generated-locale-en-NR.t xt/author/generated-locale-en-NU.t xt/author/generated-locale-en-NZ.t xt/author/generated-locale-en-PG.t xt/author/generated-locale-en-PH.t xt/author/generated-locale-en-PK.t xt/author/generated-locale-en-PN.t xt/author/generated-locale-en-PR.t xt/author/generated-locale-en-PW.t xt/author/generated-locale-en-RW.t xt/author/generated-locale-en-SB.t xt/author/generated-locale-en-SC.t xt/author/generated-locale-en-SD.t xt/author/generated-locale-en-SE.t xt/author/generated-locale-en-SG.t xt/author/generated-locale-en-SH.t xt/author/generated-locale-en-SI.t xt/author/generated-locale-en-SL.t xt/author/generated-locale-en-SS.t xt/author/generated-locale-en-SX.t xt/author/generated-locale-en-SZ.t xt/author/generated-locale-en-TC.t xt/author/generated-locale-en-TK.t xt/author/generated-locale-en-TO.t xt/author/generated-locale-en-TT.t xt/author/generated-locale-en-TV.t xt/author/generated-locale-en-TZ.t xt/author/generated-locale-en-UG.t xt/author/generated-locale-en-UM.t xt/author/generated-locale-en-US-POSIX.t xt/author/generated-locale-en-US.t xt/author/generated-locale-en-VC.t xt/author/generated-locale-en-VG.t xt/author/generated-locale-en-VI.t xt/author/generated-locale-en-VU.t xt/author/generated-locale-en-WS.t xt/author/generated-locale-en-ZA.t xt/author/generated-locale-en-ZM.t xt/author/generated-locale-en-ZW.t xt/author/generated-locale-eo-001.t xt/author/generated-locale-eo.t xt/author/generated-locale-es-419.t xt/author/generated-locale-es-AR.t xt/author/generated-locale-es-BO.t xt/author/generated-locale-es-BR.t xt/author/generated-locale-es-BZ.t xt/author/generated-locale-es-CL.t xt/author/generated-locale-es-CO.t xt/author/generated-locale-es-CR.t xt/author/generated-locale-es-CU.t xt/author/generated-locale-es-DO.t xt/author/generated-locale-es-EA.t xt/author/generated-locale-es-EC.t xt/author/generated-locale-es-ES.t xt/author/generated-locale-es-GQ.t xt/author/generated-locale-es-GT.t xt/author/generated-locale-es-HN.t xt/author/generated-locale-es-IC.t xt/author/generated-locale-es-MX.t xt/author/generated-locale-es-NI.t xt/author/generated-locale-es-PA.t xt/author/generated-locale-es-PE.t xt/author/generated-locale-es-PH.t xt/author/generated-locale-es-PR.t xt/author/generated-locale-es-PY.t xt/author/generated-locale-es-SV.t xt/author/generated-locale-es-US.t xt/author/generated-locale-es-UY.t xt/author/generated-locale-es-VE.t xt/author/generated-locale-es.t xt/author/generated-locale-et-EE.t xt/author/generated-locale-et.t xt/author/generated-locale-eu-ES.t xt/author/generated-locale-eu.t xt/author/generated-locale-ewo-CM.t xt/author/generated-locale-ewo.t xt/author/generated-locale-fa-AF.t xt/author/generated-locale-fa-IR.t xt/author/generated-locale-fa.t xt/author/generated-locale-ff-Adlm-BF.t xt/author/generated-locale-ff-Adlm-CM.t xt/author/generated-locale-ff-Adlm-GH.t xt/author/generated-locale-ff-Adlm-GM.t xt/author/generated-locale-ff-Adlm-GN.t xt/author/generated-locale-ff-Adlm-GW.t xt/author/generated-locale-ff-Adlm-LR.t xt/author/generated-locale-ff-Adlm-MR.t xt/author/generated-locale-ff-Adlm-NE.t xt/author/generated-locale-ff-Adlm-NG.t xt/author/generated-locale-ff-Adlm-SL.t xt/author/generated-locale-ff-Adlm-SN.t xt/author/generated-locale-ff-Adlm.t xt/author/generated-locale-ff-Latn-BF.t xt/author/generated-locale-ff-Latn-CM.t xt/author/generated-locale-ff-Latn-GH.t xt/author/generated-locale-ff-Latn-GM.t xt/author/generated-locale-ff-Latn-GN.t xt/author/generated-locale-ff-Latn-GW.t xt/author/generated-locale-ff-Latn-LR.t xt/author/generated-locale-ff-Latn-MR.t xt/author/generated-locale-ff-Latn-NE.t xt/author/generated-locale-ff-Latn-NG.t xt/author/generated-locale-ff-Latn-SL.t xt/author/generated-locale-ff-Latn-SN.t xt/author/generated-locale-ff-Latn.t xt/author/generated-locale-ff.t xt/author/generated-locale-fi-FI.t xt/author/generated-locale-fi.t xt/author/generated-locale-fil-PH.t xt/author/generated-locale-fil.t xt/author/generated-locale-fo-DK.t xt/author/generated-locale-fo-FO.t xt/author/generated-locale-fo.t xt/author/generated-locale-fr-BE.t xt/author/generated-locale-fr-BF.t xt/author/generated-locale-fr-BI.t xt/author/generated-locale-fr-BJ.t xt/author/generated-locale-fr-BL.t xt/author/generated-locale-fr-CA.t xt/author/generated-locale-fr-CD.t xt/author/generated-locale-fr-CF.t xt/author/generated-locale-fr-CG.t xt/author/generated-locale-fr-CH.t xt/author/generated-locale-fr-CI.t xt/author/generated-locale-fr-CM.t xt/author/generated-locale-fr-DJ.t xt/author/generated-locale-fr-DZ.t xt/author/generated-locale-fr-FR.t xt/author/generated-locale-fr-GA.t xt/author/generated-locale-fr-GF.t xt/author/generated-locale-fr-GN.t xt/author/generated-locale-fr-GP.t xt/author/generated-locale-fr-GQ.t xt/author/generated-locale-fr-HT.t xt/author/generated-locale-fr-KM.t xt/author/generated-locale-fr-LU.t xt/author/generated-locale-fr-MA.t xt/author/generated-locale-fr-MC.t xt/author/generated-locale-fr-MF.t xt/author/generated-locale-fr-MG.t xt/author/generated-locale-fr-ML.t xt/author/generated-locale-fr-MQ.t xt/author/generated-locale-fr-MR.t xt/author/generated-locale-fr-MU.t xt/author/generated-locale-fr-NC.t xt/author/generated-locale-fr-NE.t xt/author/generated-locale-fr-PF.t xt/author/generated-locale-fr-PM.t xt/author/generated-locale-fr-RE.t xt/author/generated-locale-fr-RW.t xt/author/generated-locale-fr-SC.t xt/author/generated-locale-fr-SN.t xt/author/generated-locale-fr-SY.t xt/author/generated-locale-fr-TD.t xt/author/generated-locale-fr-TG.t xt/author/generated-locale-fr-TN.t xt/author/generated-locale-fr-VU.t xt/author/generated-locale-fr-WF.t xt/author/generated-locale-fr-YT.t xt/author/generated-locale-fr.t xt/author/generated-locale-fur-IT.t xt/author/generated-locale-fur.t xt/author/generated-locale-fy-NL.t xt/author/generated-locale-fy.t xt/author/generated-locale-ga-GB.t xt/author/generated-locale-ga-IE.t xt/author/generated-locale-gd-GB.t xt/author/generated-locale-gd.t xt/author/generated-locale-gl-ES.t xt/author/generated-locale-gl.t xt/author/generated-locale-gsw-CH.t xt/author/generated-locale-gsw-FR.t xt/author/generated-locale-gsw-LI.t xt/author/generated-locale-gsw.t xt/author/generated-locale-gu-IN.t xt/author/generated-locale-gu.t xt/author/generated-locale-guz-KE.t xt/author/generated-locale-guz.t xt/author/generated-locale-gv-IM.t xt/author/generated-locale-gv.t xt/author/generated-locale-ha-GH.t xt/author/generated-locale-ha-NE.t xt/author/generated-locale-ha-NG.t xt/author/generated-locale-ha.t xt/author/generated-locale-haw-US.t xt/author/generated-locale-haw.t xt/author/generated-locale-he-IL.t xt/author/generated-locale-he.t xt/author/generated-locale-hi-IN.t xt/author/generated-locale-hi.t xt/author/generated-locale-hr-BA.t xt/author/generated-locale-hr-HR.t xt/author/generated-locale-hr.t xt/author/generated-locale-hsb-DE.t xt/author/generated-locale-hsb.t xt/author/generated-locale-hu-HU.t xt/author/generated-locale-hu.t xt/author/generated-locale-hy-AM.t xt/author/generated-locale-hy.t xt/author/generated-locale-ia-001.t xt/author/generated-locale-ia.t xt/author/generated-locale-id-ID.t xt/author/generated-locale-id.t xt/author/generated-locale-ig-NG.t xt/author/generated-locale-ig.t xt/author/generated-locale-ii-CN.t xt/author/generated-locale-ii.t xt/author/generated-locale-is-IS.t xt/author/generated-locale-is.t xt/author/generated-locale-it-CH.t xt/author/generated-locale-it-IT.t xt/author/generated-locale-it-SM.t xt/author/generated-locale-it-VA.t xt/author/generated-locale-it.t xt/author/generated-locale-ja-JP.t xt/author/generated-locale-ja.t xt/author/generated-locale-jgo-CM.t xt/author/generated-locale-jgo.t xt/author/generated-locale-jmc-TZ.t xt/author/generated-locale-jmc.t xt/author/generated-locale-jv-ID.t xt/author/generated-locale-jv.t xt/author/generated-locale-ka-GE.t xt/author/generated-locale-ka.t xt/author/generated-locale-kab-DZ.t xt/author/generated-locale-kab.t xt/author/generated-locale-kam-KE.t xt/author/generated-locale-kam.t xt/author/generated-locale-kde-TZ.t xt/author/generated-locale-kde.t xt/author/generated-locale-kea-CV.t xt/author/generated-locale-kea.t xt/author/generated-locale-khq-ML.t xt/author/generated-locale-khq.t xt/author/generated-locale-ki-KE.t xt/author/generated-locale-ki.t xt/author/generated-locale-kk-KZ.t xt/author/generated-locale-kk.t xt/author/generated-locale-kkj-CM.t xt/author/generated-locale-kkj.t xt/author/generated-locale-kl-GL.t xt/author/generated-locale-kl.t xt/author/generated-locale-kln-KE.t xt/author/generated-locale-kln.t xt/author/generated-locale-km-KH.t xt/author/generated-locale-km.t xt/author/generated-locale-kn-IN.t xt/author/generated-locale-kn.t xt/author/generated-locale-ko-KP.t xt/author/generated-locale-ko-KR.t xt/author/generated-locale-ko.t xt/author/generated-locale-kok-IN.t xt/author/generated-locale-kok.t xt/author/generated-locale-ks-Arab-IN.t xt/author/generated-locale-ks-Arab.t xt/author/generated-locale-ks.t xt/author/generated-locale-ksb-TZ.t xt/author/generated-locale-ksb.t xt/author/generated-locale-ksf-CM.t xt/author/generated-locale-ksf.t xt/author/generated-locale-ksh-DE.t xt/author/generated-locale-ksh.t xt/author/generated-locale-ku-TR.t xt/author/generated-locale-ku.t xt/author/generated-locale-kw-GB.t xt/author/generated-locale-kw.t xt/author/generated-locale-ky-KG.t xt/author/generated-locale-ky.t xt/author/generated-locale-lag-TZ.t xt/author/generated-locale-lag.t xt/author/generated-locale-lb-LU.t xt/author/generated-locale-lb.t xt/author/generated-locale-lg-UG.t xt/author/generated-locale-lg.t xt/author/generated-locale-lkt-US.t xt/author/generated-locale-lkt.t xt/author/generated-locale-ln-AO.t xt/author/generated-locale-ln-CD.t xt/author/generated-locale-ln-CF.t xt/author/generated-locale-ln-CG.t xt/author/generated-locale-ln.t xt/author/generated-locale-lo-LA.t xt/author/generated-locale-lo.t xt/author/generated-locale-lrc-IQ.t xt/author/generated-locale-lrc-IR.t xt/author/generated-locale-lrc.t xt/author/generated-locale-lt-LT.t xt/author/generated-locale-lt.t xt/author/generated-locale-lu-CD.t xt/author/generated-locale-lu.t xt/author/generated-locale-luo-KE.t xt/author/generated-locale-luo.t xt/author/generated-locale-luy-KE.t xt/author/generated-locale-luy.t xt/author/generated-locale-lv-LV.t xt/author/generated-locale-lv.t xt/author/generated-locale-mai-IN.t xt/author/generated-locale-mai.t xt/author/generated-locale-mas-KE.t xt/author/generated-locale-mas-TZ.t xt/author/generated-locale-mas.t xt/author/generated-locale-mer-KE.t xt/author/generated-locale-mer.t xt/author/generated-locale-mfe-MU.t xt/author/generated-locale-mfe.t xt/author/generated-locale-mg-MG.t xt/author/generated-locale-mg.t xt/author/generated-locale-mgh-MZ.t xt/author/generated-locale-mgh.t xt/author/generated-locale-mgo-CM.t xt/author/generated-locale-mgo.t xt/author/generated-locale-mi-NZ.t xt/author/generated-locale-mi.t xt/author/generated-locale-mk-MK.t xt/author/generated-locale-mk.t xt/author/generated-locale-ml-IN.t xt/author/generated-locale-ml.t xt/author/generated-locale-mn-MN.t xt/author/generated-locale-mn.t xt/author/generated-locale-mni-Beng-IN.t xt/author/generated-locale-mni-Beng.t xt/author/generated-locale-mni.t xt/author/generated-locale-mr-IN.t xt/author/generated-locale-mr.t xt/author/generated-locale-ms-BN.t xt/author/generated-locale-ms-ID.t xt/author/generated-locale-ms-MY.t xt/author/generated-locale-ms-SG.t xt/author/generated-locale-ms.t xt/author/generated-locale-mt-MT.t xt/author/generated-locale-mt.t xt/author/generated-locale-mua-CM.t xt/author/generated-locale-mua.t xt/author/generated-locale-my-MM.t xt/author/generated-locale-my.t xt/author/generated-locale-mzn-IR.t xt/author/generated-locale-mzn.t xt/author/generated-locale-naq-NA.t xt/author/generated-locale-naq.t xt/author/generated-locale-nb-NO.t xt/author/generated-locale-nb-SJ.t xt/author/generated-locale-nb.t xt/author/generated-locale-nd-ZW.t xt/author/generated-locale-nd.t xt/author/generated-locale-nds-DE.t xt/author/generated-locale-nds-NL.t xt/author/generated-locale-nds.t xt/author/generated-locale-ne-IN.t xt/author/generated-locale-ne-NP.t xt/author/generated-locale-ne.t xt/author/generated-locale-nl-AW.t xt/author/generated-locale-nl-BE.t xt/author/generated-locale-nl-BQ.t xt/author/generated-locale-nl-CW.t xt/author/generated-locale-nl-NL.t xt/author/generated-locale-nl-SR.t xt/author/generated-locale-nl-SX.t xt/author/generated-locale-nl.t xt/author/generated-locale-nmg-CM.t xt/author/generated-locale-nmg.t xt/author/generated-locale-nn-NO.t xt/author/generated-locale-nn.t xt/author/generated-locale-nnh-CM.t xt/author/generated-locale-nnh.t xt/author/generated-locale-no.t xt/author/generated-locale-nus-SS.t xt/author/generated-locale-nus.t xt/author/generated-locale-nyn-UG.t xt/author/generated-locale-nyn.t xt/author/generated-locale-om-ET.t xt/author/generated-locale-om-KE.t xt/author/generated-locale-om.t xt/author/generated-locale-or-IN.t xt/author/generated-locale-or.t xt/author/generated-locale-os-GE.t xt/author/generated-locale-os-RU.t xt/author/generated-locale-os.t xt/author/generated-locale-pa-Arab-PK.t xt/author/generated-locale-pa-Arab.t xt/author/generated-locale-pa-Guru-IN.t xt/author/generated-locale-pa-Guru.t xt/author/generated-locale-pa.t xt/author/generated-locale-pcm-NG.t xt/author/generated-locale-pcm.t xt/author/generated-locale-pl-PL.t xt/author/generated-locale-pl.t xt/author/generated-locale-ps-AF.t xt/author/generated-locale-ps-PK.t xt/author/generated-locale-ps.t xt/author/generated-locale-pt-AO.t xt/author/generated-locale-pt-BR.t xt/author/generated-locale-pt-CH.t xt/author/generated-locale-pt-CV.t xt/author/generated-locale-pt-GQ.t xt/author/generated-locale-pt-GW.t xt/author/generated-locale-pt-LU.t xt/author/generated-locale-pt-MO.t xt/author/generated-locale-pt-MZ.t xt/author/generated-locale-pt-PT.t xt/author/generated-locale-pt-ST.t xt/author/generated-locale-pt-TL.t xt/author/generated-locale-qu-BO.t xt/author/generated-locale-qu-EC.t xt/author/generated-locale-qu-PE.t xt/author/generated-locale-qu.t xt/author/generated-locale-rm-CH.t xt/author/generated-locale-rm.t xt/author/generated-locale-rn-BI.t xt/author/generated-locale-rn.t xt/author/generated-locale-ro-MD.t xt/author/generated-locale-ro-RO.t xt/author/generated-locale-ro.t xt/author/generated-locale-rof-TZ.t xt/author/generated-locale-rof.t xt/author/generated-locale-root.t xt/author/generated-locale-ru-BY.t xt/author/generated-locale-ru-KG.t xt/author/generated-locale-ru-KZ.t xt/author/generated-locale-ru-MD.t xt/author/generated-locale-ru-RU.t xt/author/generated-locale-ru-UA.t xt/author/generated-locale-ru.t xt/author/generated-locale-rw-RW.t xt/author/generated-locale-rw.t xt/author/generated-locale-rwk-TZ.t xt/author/generated-locale-rwk.t xt/author/generated-locale-sa-IN.t xt/author/generated-locale-sa.t xt/author/generated-locale-sah-RU.t xt/author/generated-locale-sah.t xt/author/generated-locale-saq-KE.t xt/author/generated-locale-saq.t xt/author/generated-locale-sat-Olck-IN.t xt/author/generated-locale-sat-Olck.t xt/author/generated-locale-sat.t xt/author/generated-locale-sbp-TZ.t xt/author/generated-locale-sbp.t xt/author/generated-locale-sd-Arab-PK.t xt/author/generated-locale-sd-Arab.t xt/author/generated-locale-sd-Deva-IN.t xt/author/generated-locale-sd-Deva.t xt/author/generated-locale-sd.t xt/author/generated-locale-se-FI.t xt/author/generated-locale-se-NO.t xt/author/generated-locale-se-SE.t xt/author/generated-locale-se.t xt/author/generated-locale-seh-MZ.t xt/author/generated-locale-seh.t xt/author/generated-locale-ses-ML.t xt/author/generated-locale-ses.t xt/author/generated-locale-sg-CF.t xt/author/generated-locale-sg.t xt/author/generated-locale-shi-Latn-MA.t xt/author/generated-locale-shi-Latn.t xt/author/generated-locale-shi-Tfng-MA.t xt/author/generated-locale-shi-Tfng.t xt/author/generated-locale-shi.t xt/author/generated-locale-si-LK.t xt/author/generated-locale-si.t xt/author/generated-locale-sk-SK.t xt/author/generated-locale-sk.t xt/author/generated-locale-sl-SI.t xt/author/generated-locale-sl.t xt/author/generated-locale-smn-FI.t xt/author/generated-locale-smn.t xt/author/generated-locale-sn-ZW.t xt/author/generated-locale-sn.t xt/author/generated-locale-so-DJ.t xt/author/generated-locale-so-ET.t xt/author/generated-locale-so-KE.t xt/author/generated-locale-so-SO.t xt/author/generated-locale-so.t xt/author/generated-locale-sq-AL.t xt/author/generated-locale-sq-MK.t xt/author/generated-locale-sq-XK.t xt/author/generated-locale-sq.t xt/author/generated-locale-sr-Cyrl-BA.t xt/author/generated-locale-sr-Cyrl-ME.t xt/author/generated-locale-sr-Cyrl-RS.t xt/author/generated-locale-sr-Cyrl-XK.t xt/author/generated-locale-sr-Cyrl.t xt/author/generated-locale-sr-Latn-BA.t xt/author/generated-locale-sr-Latn-ME.t xt/author/generated-locale-sr-Latn-RS.t xt/author/generated-locale-sr-Latn-XK.t xt/author/generated-locale-sr-Latn.t xt/author/generated-locale-sr.t xt/author/generated-locale-su-Latn-ID.t xt/author/generated-locale-su-Latn.t xt/author/generated-locale-su.t xt/author/generated-locale-sv-AX.t xt/author/generated-locale-sv-FI.t xt/author/generated-locale-sv-SE.t xt/author/generated-locale-sv.t xt/author/generated-locale-sw-CD.t xt/author/generated-locale-sw-KE.t xt/author/generated-locale-sw-TZ.t xt/author/generated-locale-sw-UG.t xt/author/generated-locale-sw.t xt/author/generated-locale-ta-IN.t xt/author/generated-locale-ta-LK.t xt/author/generated-locale-ta-MY.t xt/author/generated-locale-ta-SG.t xt/author/generated-locale-ta.t xt/author/generated-locale-te-IN.t xt/author/generated-locale-te.t xt/author/generated-locale-teo-KE.t xt/author/generated-locale-teo-UG.t xt/author/generated-locale-teo.t xt/author/generated-locale-tg-TJ.t xt/author/generated-locale-tg.t xt/author/generated-locale-th-TH.t xt/author/generated-locale-th.t xt/author/generated-locale-ti-ER.t xt/author/generated-locale-ti-ET.t xt/author/generated-locale-ti.t xt/author/generated-locale-tk-TM.t xt/author/generated-locale-tk.t xt/author/generated-locale-to-TO.t xt/author/generated-locale-to.t xt/author/generated-locale-tr-CY.t xt/author/generated-locale-tr-TR.t xt/author/generated-locale-tr.t xt/author/generated-locale-tt-RU.t xt/author/generated-locale-tt.t xt/author/generated-locale-twq-NE.t xt/author/generated-locale-twq.t xt/author/generated-locale-tzm-MA.t xt/author/generated-locale-tzm.t xt/author/generated-locale-ug-CN.t xt/author/generated-locale-ug.t xt/author/generated-locale-uk-UA.t xt/author/generated-locale-uk.t xt/author/generated-locale-ur-IN.t xt/author/generated-locale-ur-PK.t xt/author/generated-locale-ur.t xt/author/generated-locale-uz-Arab-AF.t xt/author/generated-locale-uz-Arab.t xt/author/generated-locale-uz-Cyrl-UZ.t xt/author/generated-locale-uz-Cyrl.t xt/author/generated-locale-uz-Latn-UZ.t xt/author/generated-locale-uz-Latn.t xt/author/generated-locale-uz.t xt/author/generated-locale-vai-Latn-LR.t xt/author/generated-locale-vai-Latn.t xt/author/generated-locale-vai-Vaii-LR.t xt/author/generated-locale-vai-Vaii.t xt/author/generated-locale-vai.t xt/author/generated-locale-vi-VN.t xt/author/generated-locale-vi.t xt/author/generated-locale-vun-TZ.t xt/author/generated-locale-vun.t xt/author/generated-locale-wae-CH.t xt/author/generated-locale-wae.t xt/author/generated-locale-wo-SN.t xt/author/generated-locale-wo.t xt/author/generated-locale-xh-ZA.t xt/author/generated-locale-xh.t xt/author/generated-locale-xog-UG.t xt/author/generated-locale-xog.t xt/author/generated-locale-yav-CM.t xt/author/generated-locale-yav.t xt/author/generated-locale-yi-001.t xt/author/generated-locale-yi.t xt/author/generated-locale-yo-BJ.t xt/author/generated-locale-yo-NG.t xt/author/generated-locale-yo.t xt/author/generated-locale-yue-Hans-CN.t xt/author/generated-locale-yue-Hans.t xt/author/generated-locale-yue-Hant-HK.t xt/author/generated-locale-yue-Hant.t xt/author/generated-locale-yue.t xt/author/generated-locale-zgh-MA.t xt/author/generated-locale-zgh.t xt/author/generated-locale-zh-Hans-CN.t xt/author/generated-locale-zh-Hans-HK.t xt/author/generated-locale-zh-Hans-MO.t xt/author/generated-locale-zh-Hans-SG.t xt/author/generated-locale-zh-Hans.t xt/author/generated-locale-zh-Hant-HK.t xt/author/generated-locale-zh-Hant-MO.t xt/author/generated-locale-zh-Hant-TW.t xt/author/generated-locale-zh-Hant.t xt/author/generated-locale-zu-ZA.t xt/author/generated-locale-zu.t xt/author/mojibake.t xt/author/no-tabs.t xt/author/pod-coverage.t xt/author/pod-spell.t xt/author/pod-syntax.t xt/author/portability.t xt/author/precious.t xt/author/test-all-my-deps.t xt/author/test-version.t xt/release/meta-json.t DateTime-Format-Strptime-1.79/INSTALL0000644000175000017500000000470314043574012017076 0ustar autarchautarchThis is the Perl distribution DateTime-Format-Strptime. Installing DateTime-Format-Strptime is straightforward. ## Installation with cpanm If you have cpanm, you only need one line: % cpanm DateTime::Format::Strptime If it does not have permission to install modules to the current perl, cpanm will automatically set up and install to a local::lib in your home directory. See the local::lib documentation (https://metacpan.org/pod/local::lib) for details on enabling it in your environment. ## Installing with the CPAN shell Alternatively, if your CPAN shell is set up, you should just be able to do: % cpan DateTime::Format::Strptime ## Manual installation As a last resort, you can manually install it. If you have not already downloaded the release tarball, you can find the download link on the module's MetaCPAN page: https://metacpan.org/pod/DateTime::Format::Strptime Untar the tarball, install configure prerequisites (see below), then build it: % perl Makefile.PL % make && make test Then install it: % make install On Windows platforms, you should use `dmake` or `nmake`, instead of `make`. If your perl is system-managed, you can create a local::lib in your home directory to install modules to. For details, see the local::lib documentation: https://metacpan.org/pod/local::lib The prerequisites of this distribution will also have to be installed manually. The prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated by running the manual build process described above. ## Configure Prerequisites This distribution requires other modules to be installed before this distribution's installer can be run. They can be found under the "configure_requires" key of META.yml or the "{prereqs}{configure}{requires}" key of META.json. ## Other Prerequisites This distribution may require additional modules to be installed after running Makefile.PL. Look for prerequisites in the following phases: * to run make, PHASE = build * to use the module code itself, PHASE = runtime * to run tests, PHASE = test They can all be found in the "PHASE_requires" key of MYMETA.yml or the "{prereqs}{PHASE}{requires}" key of MYMETA.json. ## Documentation DateTime-Format-Strptime documentation is available as POD. You can run `perldoc` from a shell to read the documentation: % perldoc DateTime::Format::Strptime For more information on installing Perl modules via CPAN, please see: https://www.cpan.org/modules/INSTALL.html DateTime-Format-Strptime-1.79/dist.ini0000644000175000017500000000161214043574012017505 0ustar autarchautarchname = DateTime-Format-Strptime author = Dave Rolsky author = Rick Measham copyright_year = 2015 copyright_holder = Dave Rolsky ; authordep Dist::Zilla::PluginBundle::DROLSKY = 1.18 [@DROLSKY] dist = DateTime-Format-Strptime coverage_trustme = DateTime::Format::Strptime => qr/^(?:format_duration|parse_duration|local_carp|local_croak)$/ stopwords = Measham stopwords = POSIX stopwords = Rolsky stopwords = STRPTIME stopwords = errmsg stopwords = formatter stopwords = strf stopwords = strp stopwords = strptime use_github_issues = 1 -remove = Test::CleanNamespaces -remove = Test::CPAN::Changes -remove = Test::Pod::No404s -remove = Test::Synopsis [MetaResources] x_MailingList = datetime@perl.org [lib] lib = . [=inc::GenerateLocaleTests] ;authordep DateTime::Locale = 1.30 [Prereqs / DevelopRequires] DateTime::Locale = 1.30 Test::Fatal = 0 Test::More = 0.96 DateTime-Format-Strptime-1.79/precious.toml0000644000175000017500000000251214043574012020567 0ustar autarchautarchexclude = [ ".build/**/*", "DateTime-Format-Strptime-*/**/*", "blib/**/*", "t/00-*", "t/author-*", "t/generated-*.t", "t/release-*", "t/zzz-*", "xt/**/*", "xt/generated-*.t", ] [commands.omegasort-gitignore] type = "both" include = "**/.gitignore" cmd = [ "omegasort", "--sort=path" ] lint_flags = "--check" tidy_flags = "--in-place" ok_exit_codes = 0 lint_failure_exit_codes = 1 expect_stderr = true [commands.perlcritic] type = "lint" include = [ "**/*.{pl,pm,t,psgi}" ] cmd = [ "perlcritic", "--profile=$PRECIOUS_ROOT/perlcriticrc" ] ok_exit_codes = 0 lint_failure_exit_codes = 2 [commands.perltidy] type = "both" include = [ "**/*.{pl,pm,t,psgi}" ] cmd = [ "perltidy", "--profile=$PRECIOUS_ROOT/perltidyrc" ] lint_flags = [ "--assert-tidy", "--no-standard-output", "--outfile=/dev/null" ] tidy_flags = [ "--backup-and-modify-in-place", "--backup-file-extension=/" ] ok_exit_codes = 0 lint_failure_exit_codes = 2 expect_stderr = true [commands.podchecker] type = "lint" include = [ "**/*.{pl,pm,pod}" ] cmd = [ "podchecker", "--warnings", "--warnings" ] ok_exit_codes = [ 0, 2 ] lint_failure_exit_codes = 1 expect_stderr = true [commands.podtidy] type = "tidy" include = [ "**/*.{pl,pm,pod}" ] cmd = [ "podtidy", "--columns", "80", "--inplace", "--nobackup" ] ok_exit_codes = 0 lint_failure_exit_codes = 1 DateTime-Format-Strptime-1.79/azure-pipelines.yml0000644000175000017500000000123414043574012021700 0ustar autarchautarchresources: repositories: - repository: ci-perl-helpers type: github name: houseabsolute/ci-perl-helpers endpoint: houseabsolute stages: - template: templates/helpers/build.yml@ci-perl-helpers parameters: debug: true - template: templates/helpers/linux.yml@ci-perl-helpers parameters: coverage: codecov debug: true test_xt: true use_default_perls: true - template: templates/helpers/macos.yml@ci-perl-helpers parameters: debug: true use_default_perls: true - template: templates/helpers/windows.yml@ci-perl-helpers parameters: debug: true use_default_perls: true DateTime-Format-Strptime-1.79/dev-bin/0000775000175000017500000000000014043574012017367 5ustar autarchautarchDateTime-Format-Strptime-1.79/dev-bin/install-xt-tools.sh0000755000175000017500000000075614043574012023171 0ustar autarchautarch#!/bin/sh set -e TARGET="$HOME/bin" if [ $(id -u) -eq 0 ]; then TARGET="/usr/local/bin" fi echo "Installing dev tools to $TARGET" mkdir -p $TARGET curl --silent --location \ https://raw.githubusercontent.com/houseabsolute/ubi/master/bootstrap/bootstrap-ubi.sh | sh "$TARGET/ubi" --project houseabsolute/precious --in "$TARGET" "$TARGET/ubi" --project houseabsolute/omegasort --in "$TARGET" echo "Add $TARGET to your PATH in order to use precious for linting and tidying"