mirror of https://github.com/tc39/test262.git
Temporal: Update tests to use internal slot in TimeZone and Calendar.id
In https://github.com/tc39/proposal-temporal/pull/2411, to be proposed for consensus in TC39 in December, the .id getter of TimeZone and Calendar should no longer call toString().
This commit is contained in:
parent
7988e3eb65
commit
0fc42035eb
|
@ -3,17 +3,13 @@
|
|||
|
||||
/*---
|
||||
esid: sec-get-temporal.timezone.prototype.id
|
||||
description: Getter calls toString() and returns its value
|
||||
description: Getter does not call toString(), returns the ID from internal slot
|
||||
includes: [compareArray.js, temporalHelpers.js]
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const actual = [];
|
||||
const expected = [
|
||||
"get [Symbol.toPrimitive]",
|
||||
"get toString",
|
||||
"call timeZone.toString",
|
||||
];
|
||||
const expected = [];
|
||||
|
||||
const timeZone = new Temporal.TimeZone("UTC");
|
||||
TemporalHelpers.observeProperty(actual, timeZone, Symbol.toPrimitive, undefined);
|
||||
|
@ -24,4 +20,4 @@ TemporalHelpers.observeProperty(actual, timeZone, "toString", function () {
|
|||
|
||||
const result = timeZone.id;
|
||||
assert.compareArray(actual, expected);
|
||||
assert.sameValue(result, "time zone");
|
||||
assert.sameValue(result, "UTC");
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
// Copyright (C) 2020 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-get-temporal.timezone.prototype.id
|
||||
description: TypeError thrown when toString property not present
|
||||
includes: [compareArray.js]
|
||||
features: [Temporal]
|
||||
---*/
|
||||
|
||||
const actual = [];
|
||||
const expected = [
|
||||
"get timeZone.toString",
|
||||
];
|
||||
|
||||
const timeZone = new Temporal.TimeZone("UTC");
|
||||
Object.defineProperty(timeZone, "toString", {
|
||||
get() {
|
||||
actual.push("get timeZone.toString");
|
||||
return undefined;
|
||||
},
|
||||
});
|
||||
|
||||
assert.throws(TypeError, () => timeZone.id);
|
||||
assert.compareArray(actual, expected);
|
|
@ -11,6 +11,9 @@ class TwoBasedCalendar extends Temporal.Calendar {
|
|||
constructor() {
|
||||
super("iso8601");
|
||||
}
|
||||
get id() {
|
||||
return "two-based";
|
||||
}
|
||||
toString() {
|
||||
return "two-based";
|
||||
}
|
||||
|
|
|
@ -11,6 +11,9 @@ class SubminuteTimeZone extends Temporal.TimeZone {
|
|||
constructor() {
|
||||
super("-00:00:01.111111111");
|
||||
}
|
||||
get id() {
|
||||
return "Custom/Subminute";
|
||||
}
|
||||
toString() {
|
||||
return "Custom/Subminute";
|
||||
}
|
||||
|
|
|
@ -11,6 +11,9 @@ class CustomUTCSubclass extends Temporal.TimeZone {
|
|||
constructor() {
|
||||
super("UTC");
|
||||
}
|
||||
get id() {
|
||||
return "Etc/Custom/UTC_Subclass";
|
||||
}
|
||||
toString() {
|
||||
return "Etc/Custom/UTC_Subclass";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue