| // 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. |
| |
| // Test to check "algorithmic" numbering systems stated in UTS35 but not |
| // mandated by ECMA402 won't crash. |
| // The entries which type is "algorithmic" in |
| // https://github.com/unicode-org/cldr/blob/master/common/supplemental/numberingSystems.xml |
| // These are numbering systems which is not supported in ECMA402 but we should |
| // not crash. |
| let algorithmicNumberingSystems = [ |
| "armn", |
| "armnlow", |
| "cyrl", |
| "ethi", |
| "geor", |
| "grek", |
| "greklow", |
| "hanidays", |
| "hans", |
| "hansfin", |
| "hant", |
| "hantfin", |
| "hebr", |
| "jpan", |
| "jpanfin", |
| "jpanyear", |
| "roman", |
| "romanlow", |
| "taml", |
| ]; |
| |
| for (numberingSystem of algorithmicNumberingSystems) { |
| let baseLocale = "en"; |
| let locale = baseLocale + "-u-nu-" + numberingSystem; |
| |
| // Ensure the creation won't crash |
| let rtf = new Intl.RelativeTimeFormat(locale); |
| let rtf2 = new Intl.RelativeTimeFormat(baseLocale, {numberingSystem}); |
| |
| let dtf = new Intl.DateTimeFormat(locale); |
| let dtf2 = new Intl.DateTimeFormat(baseLocale, {numberingSystem}); |
| |
| let nf = new Intl.NumberFormat(locale); |
| let nf2 = new Intl.NumberFormat(baseLocale, {numberingSystem}); |
| } |