1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally
2 // Copyright (C) 2023 Igalia, S.L. All rights reserved.
3 // This code is governed by the BSD license found in the LICENSE file.
6 esid: sec-temporal.plainmonthday.prototype.toplaindate
8 Calling the method on an instance constructed with a builtin calendar causes
9 no observable lookups or calls to calendar methods.
10 includes: [temporalHelpers.js]
14 const fieldsOriginal = Object.getOwnPropertyDescriptor(Temporal.Calendar.prototype, "fields");
15 Object.defineProperty(Temporal.Calendar.prototype, "fields", {
19 TemporalHelpers.assertUnreachable("fields should not be looked up");
22 const mergeFieldsOriginal = Object.getOwnPropertyDescriptor(Temporal.Calendar.prototype, "mergeFields");
23 Object.defineProperty(Temporal.Calendar.prototype, "mergeFields", {
27 TemporalHelpers.assertUnreachable("mergeFields should not be looked up");
30 const dateFromFieldsOriginal = Object.getOwnPropertyDescriptor(Temporal.Calendar.prototype, "dateFromFields");
31 Object.defineProperty(Temporal.Calendar.prototype, "dateFromFields", {
35 TemporalHelpers.assertUnreachable("dateFromFields should not be looked up");
39 const instance = new Temporal.PlainMonthDay(5, 2, "iso8601", 1972);
40 instance.toPlainDate({ year: 2002 });
42 Object.defineProperty(Temporal.Calendar.prototype, "fields", fieldsOriginal);
43 Object.defineProperty(Temporal.Calendar.prototype, "mergeFields", mergeFieldsOriginal);
44 Object.defineProperty(Temporal.Calendar.prototype, "dateFromFields", dateFromFieldsOriginal);