mirror of
https://github.com/tc39/test262.git
synced 2025-07-24 06:25:30 +02:00
Split addition-across-lunisolar-leap-months across calendars
Also remove unnecessary check for out-dated Chinese calendar data.
This commit is contained in:
parent
c12ea5c2d9
commit
ce7e72d210
@ -0,0 +1,49 @@
|
|||||||
|
// Copyright (C) 2018 Bloomberg LP. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
esid: sec-temporal-intl
|
||||||
|
description: Addition across lunisolar leap months
|
||||||
|
features: [Temporal]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
const chineseYearOffset = new Temporal.PlainDate(1, 1, 1, "chinese").year;
|
||||||
|
|
||||||
|
// Adding years across Chinese leap month
|
||||||
|
var date = Temporal.PlainDate.from({
|
||||||
|
year: 2000 + chineseYearOffset,
|
||||||
|
monthCode: "M08",
|
||||||
|
day: 2,
|
||||||
|
calendar: "chinese"
|
||||||
|
});
|
||||||
|
var added = date.add({ years: 1 });
|
||||||
|
assert.sameValue(added.day, date.day);
|
||||||
|
assert.sameValue(added.monthCode, date.monthCode);
|
||||||
|
assert.sameValue(added.year, date.year + 1);
|
||||||
|
|
||||||
|
// Adding months across Chinese leap month
|
||||||
|
var date = Temporal.PlainDate.from({
|
||||||
|
year: 2000 + chineseYearOffset,
|
||||||
|
monthCode: "M08",
|
||||||
|
day: 2,
|
||||||
|
calendar: "chinese"
|
||||||
|
});
|
||||||
|
var added = date.add({ months: 13 });
|
||||||
|
assert.sameValue(added.day, date.day);
|
||||||
|
assert.sameValue(added.monthCode, date.monthCode);
|
||||||
|
assert.sameValue(added.year, date.year + 1);
|
||||||
|
|
||||||
|
// Adding months and years across Chinese leap month
|
||||||
|
var date = Temporal.PlainDate.from({
|
||||||
|
year: 2001 + chineseYearOffset,
|
||||||
|
monthCode: "M08",
|
||||||
|
day: 2,
|
||||||
|
calendar: "chinese"
|
||||||
|
});
|
||||||
|
var added = date.add({
|
||||||
|
years: 1,
|
||||||
|
months: 12
|
||||||
|
});
|
||||||
|
assert.sameValue(added.day, date.day);
|
||||||
|
assert.sameValue(added.monthCode, date.monthCode);
|
||||||
|
assert.sameValue(added.year, date.year + 2);
|
@ -0,0 +1,47 @@
|
|||||||
|
// Copyright (C) 2018 Bloomberg LP. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
esid: sec-temporal-intl
|
||||||
|
description: Addition across lunisolar leap months
|
||||||
|
features: [Temporal]
|
||||||
|
---*/
|
||||||
|
|
||||||
|
// Adding years across Hebrew leap month
|
||||||
|
var date = Temporal.PlainDate.from({
|
||||||
|
year: 5783,
|
||||||
|
monthCode: "M08",
|
||||||
|
day: 2,
|
||||||
|
calendar: "hebrew"
|
||||||
|
});
|
||||||
|
var added = date.add({ years: 1 });
|
||||||
|
assert.sameValue(added.day, date.day);
|
||||||
|
assert.sameValue(added.monthCode, date.monthCode);
|
||||||
|
assert.sameValue(added.year, date.year + 1);
|
||||||
|
|
||||||
|
// Adding months across Hebrew leap month
|
||||||
|
var date = Temporal.PlainDate.from({
|
||||||
|
year: 5783,
|
||||||
|
monthCode: "M08",
|
||||||
|
day: 2,
|
||||||
|
calendar: "hebrew"
|
||||||
|
});
|
||||||
|
var added = date.add({ months: 13 });
|
||||||
|
assert.sameValue(added.day, date.day);
|
||||||
|
assert.sameValue(added.monthCode, date.monthCode);
|
||||||
|
assert.sameValue(added.year, date.year + 1);
|
||||||
|
|
||||||
|
// Adding months and years across Hebrew leap month
|
||||||
|
var date = Temporal.PlainDate.from({
|
||||||
|
year: 5783,
|
||||||
|
monthCode: "M08",
|
||||||
|
day: 2,
|
||||||
|
calendar: "hebrew"
|
||||||
|
});
|
||||||
|
var added = date.add({
|
||||||
|
years: 1,
|
||||||
|
months: 12
|
||||||
|
});
|
||||||
|
assert.sameValue(added.day, date.day);
|
||||||
|
assert.sameValue(added.monthCode, date.monthCode);
|
||||||
|
assert.sameValue(added.year, date.year + 2);
|
@ -1,93 +0,0 @@
|
|||||||
// Copyright (C) 2018 Bloomberg LP. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
|
|
||||||
/*---
|
|
||||||
esid: sec-temporal-intl
|
|
||||||
description: Addition across lunisolar leap months
|
|
||||||
features: [Temporal]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
// Adding years across Hebrew leap month
|
|
||||||
var date = Temporal.PlainDate.from({
|
|
||||||
year: 5783,
|
|
||||||
monthCode: "M08",
|
|
||||||
day: 2,
|
|
||||||
calendar: "hebrew"
|
|
||||||
});
|
|
||||||
var added = date.add({ years: 1 });
|
|
||||||
assert.sameValue(added.monthCode, date.monthCode);
|
|
||||||
assert.sameValue(added.year, date.year + 1);
|
|
||||||
|
|
||||||
// Adding months across Hebrew leap month
|
|
||||||
var date = Temporal.PlainDate.from({
|
|
||||||
year: 5783,
|
|
||||||
monthCode: "M08",
|
|
||||||
day: 2,
|
|
||||||
calendar: "hebrew"
|
|
||||||
});
|
|
||||||
var added = date.add({ months: 13 });
|
|
||||||
assert.sameValue(added.monthCode, date.monthCode);
|
|
||||||
assert.sameValue(added.year, date.year + 1);
|
|
||||||
|
|
||||||
// Adding months and years across Hebrew leap month
|
|
||||||
var date = Temporal.PlainDate.from({
|
|
||||||
year: 5783,
|
|
||||||
monthCode: "M08",
|
|
||||||
day: 2,
|
|
||||||
calendar: "hebrew"
|
|
||||||
});
|
|
||||||
var added = date.add({
|
|
||||||
years: 1,
|
|
||||||
months: 12
|
|
||||||
});
|
|
||||||
assert.sameValue(added.monthCode, date.monthCode);
|
|
||||||
assert.sameValue(added.year, date.year + 2);
|
|
||||||
var testChineseData = new Date("2001-02-01T00:00Z").toLocaleString("en-US-u-ca-chinese", {
|
|
||||||
day: "numeric",
|
|
||||||
month: "numeric",
|
|
||||||
year: "numeric",
|
|
||||||
era: "short",
|
|
||||||
timeZone: "UTC"
|
|
||||||
});
|
|
||||||
var hasOutdatedChineseIcuData = !testChineseData.endsWith("2001");
|
|
||||||
|
|
||||||
// Adding years across Chinese leap month"
|
|
||||||
if(hasOutdatedChineseIcuData) {
|
|
||||||
var date = Temporal.PlainDate.from({
|
|
||||||
year: 2000,
|
|
||||||
monthCode: "M08",
|
|
||||||
day: 2,
|
|
||||||
calendar: "chinese"
|
|
||||||
});
|
|
||||||
var added = date.add({ years: 1 });
|
|
||||||
assert.sameValue(added.monthCode, date.monthCode);
|
|
||||||
assert.sameValue(added.year, date.year + 1);
|
|
||||||
}
|
|
||||||
// Adding months across Chinese leap month
|
|
||||||
if(hasOutdatedChineseIcuData) {
|
|
||||||
var date = Temporal.PlainDate.from({
|
|
||||||
year: 2000,
|
|
||||||
monthCode: "M08",
|
|
||||||
day: 2,
|
|
||||||
calendar: "chinese"
|
|
||||||
});
|
|
||||||
var added = date.add({ months: 13 });
|
|
||||||
assert.sameValue(added.monthCode, date.monthCode);
|
|
||||||
assert.sameValue(added.year, date.year + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Adding months and years across Chinese leap month
|
|
||||||
if(hasOutdatedChineseIcuData) {
|
|
||||||
var date = Temporal.PlainDate.from({
|
|
||||||
year: 2001,
|
|
||||||
monthCode: "M08",
|
|
||||||
day: 2,
|
|
||||||
calendar: "chinese"
|
|
||||||
});
|
|
||||||
var added = date.add({
|
|
||||||
years: 1,
|
|
||||||
months: 12
|
|
||||||
});
|
|
||||||
assert.sameValue(added.monthCode, date.monthCode);
|
|
||||||
assert.sameValue(added.year, date.year + 2);
|
|
||||||
};
|
|
Loading…
x
Reference in New Issue
Block a user