use strict;
use warnings;
use Test::More tests => 6;
use Date::Parse qw(strptime);
# RT#106105: Date::Parse inconsistent year handling for years before 1901
# strptime() must return year as offset from 1900 consistently, regardless of
# whether the year is before or after 1900. Previously, years <= 1900 were
# returned as the full 4-digit year rather than (year - 1900).
{
# 1901: already worked — year=1, century=19
my @t1901 = strptime('1 Jan 1901 12:00');
is($t1901[5], 1, "RT#106105: strptime year field is 1 for 1901 (offset from 1900)");
is($t1901[7], 19, "RT#106105: strptime century field is 19 for 1901");
# 1900: boundary — year=0, century=19
my @t1900 = strptime('1 Jan 1900 12:00');
is($t1900[5], 0, "RT#106105: strptime year field is 0 for 1900 (offset from 1900)");
is($t1900[7], 19, "RT#106105: strptime century field is 19 for 1900");
# 1899: previously broken — returned 1899 instead of -1
my @t1899 = strptime('1 Jan 1899 12:00');
is($t1899[5], -1, "RT#106105: strptime year field is -1 for 1899 (offset from 1900)");
is($t1899[7], 18, "RT#106105: strptime century field is 18 for 1899");
}