v8/test/intl/regress-9788.js

28 lines
837 B
JavaScript
Raw Normal View History

// 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.
// Well-formed but invalid numberingSystem should not throw RangeError.
var numberingSystem = "abc";
var len = 3;
const intlClasses = [
Intl.DateTimeFormat,
Intl.NumberFormat,
Intl.RelativeTimeFormat
];
intlClasses.forEach(function(cls) {
var expected = new cls("en").resolvedOptions().numberingSystem;
var obj;
for (var i = 3; i < 20; i++, len++, numberingSystem += "a") {
assertDoesNotThrow(() => obj = new cls("en", {numberingSystem}),
"Well-formed numberingSystem should not throw");
assertEquals(expected, obj.resolvedOptions().numberingSystem);
if (len == 8) {
numberingSystem += "-ab";
len = 2;
}
}
});