v8/test/intl/regress-10836.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

// Copyright 2020 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Verify the order of resolvedOptions()
let df = new Intl.DateTimeFormat("en", {
weekday: "narrow",
era: "narrow",
year: "2-digit",
month: "2-digit",
day: "2-digit",
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
fractionalSecondDigits: 2,
timeZoneName: "short"});
let resolvedOptionsKeys = Object.keys(df.resolvedOptions()).join(":");
assertEquals(
"locale:calendar:numberingSystem:timeZone:hourCycle:hour12:weekday:era:" +
"year:month:day:hour:minute:second:fractionalSecondDigits:timeZoneName",
resolvedOptionsKeys);
// Verify the order of reading the options.
let read = [];
let options = {
get second() {
read.push("second");
return undefined;
},
get fractionalSecondDigits() {
read.push("fractionalSecondDigits");
return undefined;
},
get timeZoneName() {
read.push("timeZoneName");
return undefined;
}
};
df = new Intl.DateTimeFormat("en", options);
assertEquals(
"second:fractionalSecondDigits:second:fractionalSecondDigits:timeZoneName",
read.join(":"));