| // 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. |
| |
| const locales = [ |
| "cs", |
| "cs-CZ", |
| "en-001", |
| "en-150", |
| "en-TV", |
| "es-419", |
| "es-AR", |
| "fil", |
| "fr-CA", |
| "id", |
| "in", |
| "lt", |
| "nl", |
| "pl", |
| "pt-PT", |
| "sr-ME", |
| "sv", |
| "uk", |
| "vi", |
| ]; |
| |
| const calendars = [ |
| // Calendars we know have issues |
| "islamic", |
| "islamic-civil", |
| "islamic-tbla", |
| "islamic-umalqura", |
| "ethiopic-amete-alem", |
| "islamicc", |
| "ethioaa", |
| "islamic-rgsa", |
| |
| // Other calendars |
| "gregory", |
| "japanese", |
| "buddhist", |
| "roc", |
| "persian", |
| "islamic", |
| "hebrew", |
| "chinese", |
| "indian", |
| "coptic", |
| "ethiopic", |
| "iso8601", |
| "dangi", |
| "chinese", |
| ]; |
| |
| let d1 = new Date(2019, 3, 4); |
| let d2 = new Date(2019, 5, 6); |
| |
| calendars.forEach(function(calendar) { |
| locales.forEach(function(baseLocale) { |
| let locale = `${baseLocale}-u-ca-${calendar}`; |
| assertDoesNotThrow( |
| () => (new Intl.DateTimeFormat(locale)).formatRange(d1, d2), |
| `Using Intl.DateFormat formatRange with ${locale} should not throw`); |
| }) |
| }) |