// Copyright (C) 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Copyright (c) 2008-2013 International Business Machines
// Corporation and others. All Rights Reserved.
calendar:table(nofallback) {
Info {
Description { "These are the data driven calendar tests" }
LongDescription { "Data for data driven calendar tests." }
}
TestData {
TestCalendarConversion {
Headers { "locale","from","to" }
Info {
Description { "Test data for calendar conversion :" }
}
Settings {
{
ToCalendar { "en_US@calendar=gregorian" }
Type { "convert_fwd" }
},
{
ToCalendar { "en_US@calendar=gregorian" }
Type { "convert_rev" }
},
}
Cases {
// taiwanese calendar
// "0/1/1912/june/4 == gregorian year=1912, ERA=AD, same month, same day
{
"en_US@calendar=roc",
"ERA=1,YEAR=1,MONTH=JUNE,DATE=4", // tw
"ERA=1,YEAR=1912,MONTH=,DATE=" // greg
},
{
"en_US@calendar=roc",
"ERA=1,YEAR=3,MONTH=FEBRUARY,DATE=12", // tw
"ERA=1,YEAR=1914,MONTH=,DATE=" // greg
},
{
"en_US@calendar=roc",
"ERA=1,YEAR=96,MONTH=FEBRUARY,DATE=12", // tw
"ERA=1,YEAR=2007,MONTH=,DATE=" // greg
},
// before 1912:
// [before minguo]2 1[month] 24[day] -> 1910-1-24
{
"en_US@calendar=roc",
"ERA=0,YEAR=2,MONTH=JANUARY,DATE=24", // tw
"ERA=1,YEAR=1910,MONTH=JANUARY,DATE=24", // greg
},
// chinese calendar
// (0-based months)
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4601,MONTH=6,DATE=28,IS_LEAP_MONTH=0", // ch
"YEAR=1964,MONTH=8,DATE=4", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4601,MONTH=6,DATE=29,IS_LEAP_MONTH=0", // ch
"YEAR=1964,MONTH=8,DATE=5", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4601,MONTH=7,DATE=1,IS_LEAP_MONTH=0", // ch
"YEAR=1964,MONTH=8,DATE=6", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4601,MONTH=7,DATE=2,IS_LEAP_MONTH=0", // ch
"YEAR=1964,MONTH=8,DATE=7", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4598,MONTH=10,DATE=18,IS_LEAP_MONTH=0", // ch
"YEAR=1961,MONTH=11,DATE=25", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4636,MONTH=3,DATE=21,IS_LEAP_MONTH=0", // ch
"YEAR=1999,MONTH=5,DATE=4", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4627,MONTH=3,DATE=29,IS_LEAP_MONTH=0", // ch
"YEAR=1990,MONTH=4,DATE=23", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4627,MONTH=4,DATE=1,IS_LEAP_MONTH=0", // ch
"YEAR=1990,MONTH=4,DATE=24", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4627,MONTH=4,DATE=30,IS_LEAP_MONTH=0", // ch
"YEAR=1990,MONTH=5,DATE=22", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4627,MONTH=4,DATE=1,IS_LEAP_MONTH=1", // ch
"YEAR=1990,MONTH=5,DATE=23", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4627,MONTH=4,DATE=28,IS_LEAP_MONTH=1", // ch
"YEAR=1990,MONTH=6,DATE=20", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4627,MONTH=4,DATE=29,IS_LEAP_MONTH=1", // ch
"YEAR=1990,MONTH=6,DATE=21", // greg
},
{
"en_US@calendar=chinese",
"EXTENDED_YEAR=4627,MONTH=5,DATE=1,IS_LEAP_MONTH=0", // ch
"YEAR=1990,MONTH=6,DATE=22", // greg
},
// dangi calendar
// (0-based months)
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4297,MONTH=6,DATE=29,IS_LEAP_MONTH=0", // dangi
"YEAR=1964,MONTH=8,DATE=5", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4297,MONTH=7,DATE=1,IS_LEAP_MONTH=0", // dangi
"YEAR=1964,MONTH=8,DATE=6", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4294,MONTH=10,DATE=18,IS_LEAP_MONTH=0", // dangi
"YEAR=1961,MONTH=11,DATE=25", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4323,MONTH=4,DATE=30,IS_LEAP_MONTH=0", // dangi
"YEAR=1990,MONTH=5,DATE=22", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4323,MONTH=4,DATE=1,IS_LEAP_MONTH=1", // dangi
"YEAR=1990,MONTH=5,DATE=23", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4323,MONTH=4,DATE=29,IS_LEAP_MONTH=1", // dangi
"YEAR=1990,MONTH=6,DATE=21", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4323,MONTH=5,DATE=1,IS_LEAP_MONTH=0", // dangi
"YEAR=1990,MONTH=6,DATE=22", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4213,MONTH=9,DATE=1,IS_LEAP_MONTH=0", // dangi
"YEAR=1880,MONTH=10,DATE=3", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4215,MONTH=10,DATE=1,IS_LEAP_MONTH=0", // dangi
"YEAR=1882,MONTH=11,DATE=10", // greg
},
{
"en_US@calendar=dangi",
"EXTENDED_YEAR=4230,MONTH=6,DATE=1,IS_LEAP_MONTH=0", // dangi
"YEAR=1897,MONTH=6,DATE=29", // greg
},
}
}
TestCalendarOperations {
Headers { "locale","from","operation","params","to" }
Info {
Description { "Test data for calendar operation :" }
}
Settings {
{
Type { "ops" }
},
}
Cases {
//roc
{
"en_US@calendar=roc",
"ERA=1,YEAR=1,MONTH=JUNE,DATE=4", // tw
"roll",
"DATE=1", // date + 1
"ERA=1,YEAR=1,MONTH=JUNE,DATE=5", // tw
},
{
"en_US@calendar=roc",
"ERA=1,YEAR=1,MONTH=JUNE,DATE=4", // tw
"add",
"DATE=1", // date + 1
"ERA=1,YEAR=1,MONTH=JUNE,DATE=5", // tw
},
{
"en_US@calendar=roc",
"ERA=1,YEAR=1,MONTH=JUNE,DATE=4", // tw
"roll",
"YEAR=1", // date + 1
"ERA=1,YEAR=2,MONTH=JUNE,DATE=4", // tw
},
{
"en_US@calendar=roc",
"ERA=1,YEAR=1,MONTH=JUNE,DATE=4", // tw
"add",
"YEAR=1", // date + 1
"ERA=1,YEAR=2,MONTH=JUNE,DATE=4", // tw
},
//chinese add tests
{ // normal
"en_US@calendar=chinese",
"EXTENDED_YEAR=4642,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=3", // month + 3
"EXTENDED_YEAR=4642,MONTH=5,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // across year
"en_US@calendar=chinese",
"EXTENDED_YEAR=4639,MONTH=11,DATE=15,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4640,MONTH=0,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // across year
"en_US@calendar=chinese",
"EXTENDED_YEAR=4640,MONTH=0,DATE=15,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=-1", // month - 1
"EXTENDED_YEAR=4639,MONTH=11,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=3", // month + 3
"EXTENDED_YEAR=4638,MONTH=4,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=2", // month + 2
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
"add",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4638,MONTH=4,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // dom should pin
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=30,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4638,MONTH=3,DATE=29,IS_LEAP_MONTH=1", // ch
},
{ // dom should pin
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=30,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=2", // month + 2
"EXTENDED_YEAR=4638,MONTH=4,DATE=30,IS_LEAP_MONTH=0", // ch
},
{ // dom should pin
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=30,IS_LEAP_MONTH=0", // ch
"add",
"MONTH=3", // month + 3
"EXTENDED_YEAR=4638,MONTH=5,DATE=29,IS_LEAP_MONTH=0", // ch
},
// chinese roll tests
{ // normal
"en_US@calendar=chinese",
"EXTENDED_YEAR=4642,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=3", // month + 3
"EXTENDED_YEAR=4642,MONTH=5,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // normal
"en_US@calendar=chinese",
"EXTENDED_YEAR=4642,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=11", // month + 11
"EXTENDED_YEAR=4642,MONTH=1,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // across year
"en_US@calendar=chinese",
"EXTENDED_YEAR=4639,MONTH=11,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4639,MONTH=0,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // across year
"en_US@calendar=chinese",
"EXTENDED_YEAR=4640,MONTH=0,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=-1", // month - 1
"EXTENDED_YEAR=4640,MONTH=11,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=3", // month + 3
"EXTENDED_YEAR=4638,MONTH=4,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=16", // month + 16
"EXTENDED_YEAR=4638,MONTH=4,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=2", // month + 2
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=28", // month + 28
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=-12", // month - 12
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
"roll",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4638,MONTH=4,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // month=3 is a leap month
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // ch
"roll",
"MONTH=-25", // month - 25
"EXTENDED_YEAR=4638,MONTH=4,DATE=15,IS_LEAP_MONTH=0", // ch
},
{ // dom should pin
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=30,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4638,MONTH=3,DATE=29,IS_LEAP_MONTH=1", // ch
},
{ // dom should pin
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=30,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=14", // month + 14
"EXTENDED_YEAR=4638,MONTH=3,DATE=29,IS_LEAP_MONTH=1", // ch
},
{ // no dom pin
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=30,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=15", // month + 15
"EXTENDED_YEAR=4638,MONTH=4,DATE=30,IS_LEAP_MONTH=0", // ch
},
{ // dom should pin
"en_US@calendar=chinese",
"EXTENDED_YEAR=4638,MONTH=3,DATE=30,IS_LEAP_MONTH=0", // ch
"roll",
"MONTH=-10", // month - 10
"EXTENDED_YEAR=4638,MONTH=5,DATE=29,IS_LEAP_MONTH=0", // ch
},
//dangi add tests
{ // normal
"en_US@calendar=dangi",
"EXTENDED_YEAR=4338,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // dangi
"add",
"MONTH=3", // month + 3
"EXTENDED_YEAR=4338,MONTH=5,DATE=15,IS_LEAP_MONTH=0", // dangi
},
{ // across year
"en_US@calendar=dangi",
"EXTENDED_YEAR=4335,MONTH=11,DATE=15,IS_LEAP_MONTH=0", // dangi
"add",
"MONTH=1", // month + 1
"EXTENDED_YEAR=4336,MONTH=0,DATE=15,IS_LEAP_MONTH=0", // dangi
},
{ // 4 = leap
"en_US@calendar=dangi",
"EXTENDED_YEAR=4334,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // dangi
"add",
"MONTH=3", // month + 3
"EXTENDED_YEAR=4334,MONTH=4,DATE=15,IS_LEAP_MONTH=0", // dangi
},
{ // 4 = leap
"en_US@calendar=dangi",
"EXTENDED_YEAR=4334,MONTH=2,DATE=15,IS_LEAP_MONTH=0", // dangi
"add",
"MONTH=2", // month + 2
"EXTENDED_YEAR=4334,MONTH=3,DATE=15,IS_LEAP_MONTH=1", // dangi
},
{ // dom should pin
"en_US@calendar=dangi",
"EXTENDED_YEAR=4334,MONTH=2,DATE=30,IS_LEAP_MONTH=0", // dangi
"add",
"MONTH=2", // month + 2
"EXTENDED_YEAR=4334,MONTH=3,DATE=29,IS_LEAP_MONTH=1", // dangi
},
{
"en_US@calendar=hebrew",
"MILLIS=-180799750799999",
"add",
"YEAR=100000", // year + 100000
"MILLIS=2974930006022001",
},
}
}
}
}