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