// 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_hc = [
  "invalid",
  "abce",
  "h10",
  "h13",
  "h22",
  "h25",
];

// https://www.unicode.org/repos/cldr/tags/latest/common/bcp47/calendar.xml
let valid_hc= [
  "h11",
  "h12",
  "h23",
  "h24",
];

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

invalid_hc.forEach(function(hc) {
  let df = new Intl.DateTimeFormat(
      ["en-u-hc-" + hc + "-fo-obar"], {hour: "2-digit"});
  assertEquals("en", df.resolvedOptions().locale);
}
);

valid_hc.forEach(function(hc) {
  locales.forEach(function(base) {
    let l = base + "-u-hc-" + hc;
    let df = new Intl.DateTimeFormat(
        [l + "-fo-obar"], {hour: "2-digit"});
    assertEquals(l, df.resolvedOptions().locale);
  });
}
);