mirror of
https://github.com/tc39/test262.git
synced 2025-07-23 22:15:24 +02:00
Temporal: Add test for custom fields in PlainDate.from.
This commit is contained in:
parent
caaeb2bc90
commit
b8d4c12698
@ -0,0 +1,44 @@
|
|||||||
|
// Copyright (C) 2022 Igalia, S.L. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
esid: sec-temporal.plaindate.from
|
||||||
|
description: Verify the result of calendar.fields() is treated correctly.
|
||||||
|
includes: [compareArray.js, temporalHelpers.js]
|
||||||
|
features: [Temporal]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
class CustomCalendar extends Temporal.Calendar {
|
||||||
|
constructor() {
|
||||||
|
super("iso8601");
|
||||||
|
}
|
||||||
|
dateFromFields(fields) {
|
||||||
|
assert.compareArray(Object.keys(fields), ["b", "a"]);
|
||||||
|
return new Temporal.PlainDate(2020, 7, 4);
|
||||||
|
}
|
||||||
|
fields(fields) {
|
||||||
|
assert.compareArray(fields, ["day", "month", "monthCode", "year"]);
|
||||||
|
return ["b", "a"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const calendar = new CustomCalendar();
|
||||||
|
const actual = [];
|
||||||
|
const item = new Proxy({ calendar }, {
|
||||||
|
has(target, property) {
|
||||||
|
actual.push(`has item.${property}`);
|
||||||
|
return property in target;
|
||||||
|
},
|
||||||
|
get(target, property) {
|
||||||
|
actual.push(`get item.${property}`);
|
||||||
|
return target[property];
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const plainDate = Temporal.PlainDate.from(item);
|
||||||
|
TemporalHelpers.assertPlainDate(plainDate, 2020, 7, "M07", 4);
|
||||||
|
assert.compareArray(actual, [
|
||||||
|
"get item.calendar",
|
||||||
|
"get item.b",
|
||||||
|
"get item.a",
|
||||||
|
]);
|
Loading…
x
Reference in New Issue
Block a user