// Copyright (c) 2007 International Business Machines
// Corporation and others. All Rights Reserved.
format:table(nofallback) {
    Info {
        Description { "These are the data driven format tests" }
        LongDescription {   "Data for data driven format tests." }
    }
    TestData {
        TestDateFormatBasic {
            Info {
                Description { "Test data for format and parse :" }
            }
            Settings {
                // options: 'format', or 'parse'.  One can be omitted if this is a 1 way test.
                {
                    Type { "date_format" }
                },
                {
                    Type { "date_parse" }
                },
            }
            Headers { "locale","spec", "date", "str"}
            // locale: locale including calendar type
            // spec:   either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG'
            // date:   either 'MILLIS=####' where #### is an unsigned long (millis), or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale
            // str:   the expected unicode string
            Cases { 
               {
                    "en_US@calendar=gregorian",         
                    "DATE=SHORT,TIME=SHORT",
                    "ERA=1,YEAR=2007,MONTH=AUGUST,DATE=8,HOUR_OF_DAY=18,MINUTE=54,SECOND=0",
                    "8/8/07 6:54 PM"
               },
               {
                    "zh_TW@calendar=taiwan",
                    "DATE=LONG",
                    "ERA=1,YEAR=98,MONTH=0,DATE=24",
                    "民國98年1月24日",
               },
               {
                    //民國前2年1月24日 -> 1910-1-24 
                    "zh_TW@calendar=taiwan",
                    "DATE=LONG",
                    "ERA=0,YEAR=2,MONTH=0,DATE=24",
                    "民國前2年1月24日",
               },
            }
        }
        TestFormatRelative {
            Info {
                Description { "relative format :" }
            }
            Settings {
                {
                    Type { "date_format" }
                },
            }
            Headers { "locale","spec", "date", "str"}
            Cases { 
               {
                    "en_US@calendar=gregorian",         
                    "DATE=RELATIVE_SHORT",
                    "RELATIVE_MILLIS=86410000", // one day from now
                    "Tomorrow"
               },
               {
                    "en_US@calendar=gregorian",         
                    "DATE=RELATIVE_SHORT",
                    "RELATIVE_MILLIS=0", // one day before now
                    "Today"
               },
               {
                    "en_US@calendar=gregorian",         
                    "DATE=RELATIVE_SHORT",
                    "RELATIVE_MILLIS=-86410000", // one day before now
                    "Yesterday"
               },
               {
                    "mt_MT@calendar=gregorian",         
                    "DATE=RELATIVE_SHORT",
                    "RELATIVE_MILLIS=86410000", // one day from now
                    "Għada"
               },
               {
                    "mt_MT@calendar=gregorian",         
                    "DATE=RELATIVE_SHORT",
                    "RELATIVE_MILLIS=0", // one day before now
                    "Illum"
               },
               {
                    "mt_MT@calendar=gregorian",         
                    "DATE=RELATIVE_SHORT",
                    "RELATIVE_MILLIS=-86410000", // one day before now
                    "Lbieraħ"
               },
               {
                    "ru",
                    "DATE=RELATIVE_SHORT",
                    "RELATIVE_MILLIS=-172810000", // 2 days ago
                    "Позавчера"
               },
            }
        }
    }
}
