Skip to content

Commit

Permalink
Temporal: Tests for calendar.dateFromFields options in PYM/PMD.toPlai…
Browse files Browse the repository at this point in the history
…nDate

It was previously not tested what options value a custom calendar's
dateFromFields() method would be called with, when called from the
toPlainDate() method of PlainYearMonth/PlainMonthDay.

See tc39/proposal-temporal#2803
  • Loading branch information
ptomato committed Mar 20, 2024
1 parent 1046b1b commit c88eb48
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.plainmonthday.prototype.toplaindate
description: Calendar.dateFromFields method is called with undefined options
features: [Temporal]
---*/

let count = 0;

const calendar = new class extends Temporal.Calendar {
dateFromFields(fields, options) {
count++;
assert.sameValue(options, undefined, "dateFromFields should be called with undefined options");
return super.dateFromFields(fields, options);
}
}("iso8601");

const instance = new Temporal.PlainMonthDay(5, 2, calendar);
instance.toPlainDate({ year: 2019 });
assert.sameValue(count, 1, "dateFromFields should have been called on the calendar");
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// Copyright (C) 2024 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
esid: sec-temporal.plainyearmonth.prototype.toplaindate
description: Calendar.dateFromFields method is called with undefined options
features: [Temporal]
---*/

let count = 0;

const calendar = new class extends Temporal.Calendar {
dateFromFields(fields, options) {
count++;
assert.sameValue(options, undefined, "dateFromFields should be called with undefined options");
return super.dateFromFields(fields, options);
}
}("iso8601");

const instance = new Temporal.PlainYearMonth(2000, 5, calendar);
instance.toPlainDate({ day: 24 });
assert.sameValue(count, 1, "dateFromFields should have been called on the calendar");

0 comments on commit c88eb48

Please sign in to comment.