// Copyright 2018 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-initializedatetimeformat
description: Checks the propagation of exceptions from the options for the DateTimeFormat constructor.
---*/

function CustomError() {}

const options = [
  "weekday", "year", "month", "day",
  "hour", "minute", "second",
  "localeMatcher",
  "hour12",
  "hourCycle",
  "timeZone",
  "era",
  "timeZoneName",
  "formatMatcher",
];

for (const option of options) {
  assert.throws(CustomError, () => {
    new Intl.DateTimeFormat("en", {
      get [option]() {
        throw new CustomError();
      }
    });
  }, `Exception from ${option} getter should be propagated`);
}

reportCompare(0, 0);
