246d985cb7
* Throws RangeError only when the calendar and numberingSystem is ill-formed. * Set the calendar and numberingSystem to the locale only if the values are valid. * Fix the order of GetOption of "localeMatcher". * Add more unit tests. See https://github.com/tc39/ecma402/pull/175 for details. Bug: v8:9786, v8:9787, v8:9788 Change-Id: Ic0f918ad7d9afb0b7c8df39caa0f44ef07ca10c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1830345 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#64070}
36 lines
787 B
JavaScript
36 lines
787 B
JavaScript
// Copyright 2019 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.
|
|
|
|
// Flags: --harmony-intl-add-calendar-numbering-system
|
|
const actual = [];
|
|
|
|
const options = {
|
|
get localeMatcher() {
|
|
actual.push("localeMatcher");
|
|
return undefined;
|
|
},
|
|
get calendar() {
|
|
actual.push("calendar");
|
|
return undefined;
|
|
},
|
|
get numberingSystem() {
|
|
actual.push("numberingSystem");
|
|
return undefined;
|
|
},
|
|
get hour12() {
|
|
actual.push("hour12");
|
|
return undefined;
|
|
},
|
|
};
|
|
|
|
const expected = [
|
|
"localeMatcher",
|
|
"calendar",
|
|
"numberingSystem",
|
|
"hour12"
|
|
];
|
|
|
|
let df = new Intl.DateTimeFormat(undefined, options);
|
|
assertEquals(actual.join(":"), expected.join(":"));
|