diff options
Diffstat (limited to 'js/src/tests/test262/intl402/DateTimeFormat/constructor-options-order-timedate-style.js')
-rw-r--r-- | js/src/tests/test262/intl402/DateTimeFormat/constructor-options-order-timedate-style.js | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/js/src/tests/test262/intl402/DateTimeFormat/constructor-options-order-timedate-style.js b/js/src/tests/test262/intl402/DateTimeFormat/constructor-options-order-timedate-style.js new file mode 100644 index 0000000000..34e92ff711 --- /dev/null +++ b/js/src/tests/test262/intl402/DateTimeFormat/constructor-options-order-timedate-style.js @@ -0,0 +1,127 @@ +// Copyright 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-createdatetimeformat +description: Checks the order of getting options for the DateTimeFormat constructor. +includes: [compareArray.js] +features: [Intl.DateTimeFormat-datetimestyle] +---*/ + +// To be merged into constructor-options-order.js when the feature is removed. + +const expected = [ + // CreateDateTimeFormat step 4. + "localeMatcher", + // CreateDateTimeFormat step 12. + "hour12", + // CreateDateTimeFormat step 13. + "hourCycle", + // CreateDateTimeFormat step 29. + "timeZone", + // CreateDateTimeFormat step 36. + "weekday", + "era", + "year", + "month", + "day", + "hour", + "minute", + "second", + "timeZoneName", + "formatMatcher", + // CreateDateTimeFormat step 38. + "dateStyle", + // CreateDateTimeFormat step 40. + "timeStyle", +]; + +const actual = []; + +const options = { + get dateStyle() { + actual.push("dateStyle"); + return undefined; + }, + + get day() { + actual.push("day"); + return "numeric"; + }, + + get era() { + actual.push("era"); + return "long"; + }, + + get formatMatcher() { + actual.push("formatMatcher"); + return "best fit"; + }, + + get hour() { + actual.push("hour"); + return "numeric"; + }, + + get hour12() { + actual.push("hour12"); + return true; + }, + + get hourCycle() { + actual.push("hourCycle"); + return "h24"; + }, + + get localeMatcher() { + actual.push("localeMatcher"); + return "best fit"; + }, + + get minute() { + actual.push("minute"); + return "numeric"; + }, + + get month() { + actual.push("month"); + return "numeric"; + }, + + get second() { + actual.push("second"); + return "numeric"; + }, + + get timeStyle() { + actual.push("timeStyle"); + return undefined; + }, + + get timeZone() { + actual.push("timeZone"); + return "UTC"; + }, + + get timeZoneName() { + actual.push("timeZoneName"); + return "long"; + }, + + get weekday() { + actual.push("weekday"); + return "long"; + }, + + get year() { + actual.push("year"); + return "numeric"; + }, +}; + +new Intl.DateTimeFormat("en", options); + +assert.compareArray(actual, expected); + +reportCompare(0, 0); |