mirror of
https://github.com/tc39/test262.git
synced 2025-04-08 19:35:28 +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