text: // Copyright (C) 2021 Igalia, S.L. All rights reserved.
  // This code is governed by the BSD license found in the LICENSE file.
  
  /*---
  esid: sec-get-temporal.zoneddatetime.prototype.monthcode
  description: TypeError thrown if timeZone.getOffsetNanosecondsFor is not callable
  features: [BigInt, Symbol, Temporal, arrow-function]
  ---*/
  
  [undefined, null, true, Math.PI, 'string', Symbol('sym'), 42n, {}].forEach((notCallable) => {
    const timeZone = new Temporal.TimeZone("UTC");
    const datetime = new Temporal.ZonedDateTime(1_000_000_000_987_654_321n, timeZone);
    timeZone.getOffsetNanosecondsFor = notCallable;
    assert.throws(
      TypeError,
      () => datetime.monthCode,
      `Uncallable ${typeof notCallable} ${notCallable} getOffsetNanosecondsFor should throw TypeError`
    );
  });
  