// Copyright 2018 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.


let invalid_ca = [
  "invalid",
  "abce",
];

// https://www.unicode.org/repos/cldr/tags/latest/common/bcp47/calendar.xml
let valid_ca= [
  "buddhist",
  "chinese",
  "coptic",
  "dangi",
  "ethioaa",
  "ethiopic",
  "gregory",
  "hebrew",
  "indian",
  "islamic",
  "islamic-umalqura",
  "islamic-tbla",
  "islamic-civil",
  "islamic-rgsa",
  "iso8601",
  "japanese",
  "persian",
  "roc",
];

let locales = [
  "en",
  "ar",
];

invalid_ca.forEach(function(ca) {
  let df = new Intl.DateTimeFormat(["en-u-ca-" + ca + "-fo-obar"]);
  assertEquals("en", df.resolvedOptions().locale);
}
);

valid_ca.forEach(function(ca) {
  locales.forEach(function(base) {
    let l = base + "-u-ca-" + ca;
    let df = new Intl.DateTimeFormat([l + "-fo-obar"]);
    assertEquals(l, df.resolvedOptions().locale);
  });
}
);