| // 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; |
| } |
| } |
| }); |