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}
22 lines
702 B
JavaScript
22 lines
702 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
|
|
|
|
// Well-formed but invalid calendar should not throw RangeError.
|
|
var calendar = "abc";
|
|
var len = 3;
|
|
var expected = new Intl.DateTimeFormat("en").resolvedOptions().calendar;
|
|
var df;
|
|
|
|
for (var i = 3; i < 20; i++, len++, calendar += "a") {
|
|
assertDoesNotThrow(() => df = new Intl.DateTimeFormat("en", {calendar}),
|
|
"Well-formed calendar should not throw");
|
|
assertEquals(expected, df.resolvedOptions().calendar);
|
|
if (len == 8) {
|
|
calendar += "-ab";
|
|
len = 2;
|
|
}
|
|
}
|