Commit 08d214e
committed
Support Node 20 and work around ICU calendar bug
Node 20 (ICU 73.1, actually) introduced a bug that broke some tests.
This PR ensures that our tests will continue to run after other users
update their CI to Node 20. See
https://bugs.chromium.org/p/chromium/issues/detail?id=1451943 for
the bug. https://bugs.chromium.org/p/chromium/issues/detail?id=1173158
is the root cause issue that was made worse in ICU 73.1.
The fix was to avoid using Intl.DateTimeFormat in the polyfill
for Gregorian-based calendars. A nice side effect of this is that
these calendars now run tests faster and no longer fail for dates
before 1582-10-15.1 parent 8b94fd6 commit 08d214e
File tree
5 files changed
+52
-59
lines changed- .github/workflows
- polyfill
- lib
5 files changed
+52
-59
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
544 | 544 | | |
545 | 545 | | |
546 | 546 | | |
547 | | - | |
| 547 | + | |
548 | 548 | | |
549 | 549 | | |
550 | 550 | | |
| |||
763 | 763 | | |
764 | 764 | | |
765 | 765 | | |
766 | | - | |
767 | | - | |
| 766 | + | |
| 767 | + | |
768 | 768 | | |
769 | | - | |
770 | | - | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
771 | 772 | | |
772 | 773 | | |
773 | 774 | | |
| |||
981 | 982 | | |
982 | 983 | | |
983 | 984 | | |
984 | | - | |
985 | | - | |
986 | | - | |
987 | | - | |
988 | | - | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
989 | 990 | | |
990 | 991 | | |
991 | 992 | | |
| |||
1043 | 1044 | | |
1044 | 1045 | | |
1045 | 1046 | | |
1046 | | - | |
1047 | | - | |
1048 | | - | |
1049 | 1047 | | |
1050 | 1048 | | |
1051 | 1049 | | |
| |||
1575 | 1573 | | |
1576 | 1574 | | |
1577 | 1575 | | |
1578 | | - | |
1579 | | - | |
1580 | | - | |
1581 | | - | |
1582 | | - | |
1583 | | - | |
1584 | | - | |
1585 | | - | |
1586 | | - | |
1587 | | - | |
1588 | | - | |
1589 | | - | |
1590 | | - | |
1591 | | - | |
1592 | | - | |
1593 | | - | |
1594 | | - | |
1595 | | - | |
| 1576 | + | |
| 1577 | + | |
| 1578 | + | |
| 1579 | + | |
| 1580 | + | |
| 1581 | + | |
| 1582 | + | |
| 1583 | + | |
| 1584 | + | |
| 1585 | + | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
| 1592 | + | |
| 1593 | + | |
| 1594 | + | |
| 1595 | + | |
| 1596 | + | |
1596 | 1597 | | |
1597 | 1598 | | |
1598 | 1599 | | |
| |||
1648 | 1649 | | |
1649 | 1650 | | |
1650 | 1651 | | |
1651 | | - | |
| 1652 | + | |
1652 | 1653 | | |
1653 | 1654 | | |
1654 | | - | |
1655 | | - | |
1656 | | - | |
1657 | | - | |
| 1655 | + | |
1658 | 1656 | | |
1659 | 1657 | | |
1660 | 1658 | | |
1661 | 1659 | | |
1662 | | - | |
1663 | | - | |
1664 | | - | |
1665 | | - | |
| 1660 | + | |
| 1661 | + | |
| 1662 | + | |
1666 | 1663 | | |
1667 | 1664 | | |
1668 | 1665 | | |
1669 | 1666 | | |
1670 | | - | |
| 1667 | + | |
1671 | 1668 | | |
1672 | 1669 | | |
1673 | 1670 | | |
| |||
1716 | 1713 | | |
1717 | 1714 | | |
1718 | 1715 | | |
1719 | | - | |
| 1716 | + | |
1720 | 1717 | | |
1721 | 1718 | | |
1722 | 1719 | | |
| |||
1728 | 1725 | | |
1729 | 1726 | | |
1730 | 1727 | | |
1731 | | - | |
1732 | | - | |
1733 | | - | |
1734 | 1728 | | |
1735 | | - | |
1736 | 1729 | | |
1737 | 1730 | | |
1738 | 1731 | | |
| |||
- features.txt+1-1
- harness/temporalHelpers.js+2-2
- test/built-ins/Array/prototype/group/array-like.js-32
- test/built-ins/Array/prototype/group/callback-arg.js-35
- test/built-ins/Array/prototype/group/callback-throws.js-24
- test/built-ins/Array/prototype/group/emptyList.js-28
- test/built-ins/Array/prototype/group/evenOdd.js-30
- test/built-ins/Array/prototype/group/get-throws.js-31
- test/built-ins/Array/prototype/group/invalid-callback.js-29
- test/built-ins/Array/prototype/group/invalid-object.js-28
- test/built-ins/Array/prototype/group/invalid-property-key.js-28
- test/built-ins/Array/prototype/group/length-throw.js-36
- test/built-ins/Array/prototype/group/length.js-26
- test/built-ins/Array/prototype/group/name.js-25
- test/built-ins/Array/prototype/group/null-prototype.js-27
- test/built-ins/Array/prototype/group/sparse-array.js-36
- test/built-ins/Array/prototype/group/this-arg-strict.js-57
- test/built-ins/Array/prototype/group/this-arg.js-60
- test/built-ins/Array/prototype/group/toPropertyKey.js-37
- test/built-ins/Array/prototype/groupToMap/array-like.js-35
- test/built-ins/Array/prototype/groupToMap/callback-arg.js-33
- test/built-ins/Array/prototype/groupToMap/callback-throws.js-24
- test/built-ins/Array/prototype/groupToMap/emptyList.js-28
- test/built-ins/Array/prototype/groupToMap/evenOdd.js-30
- test/built-ins/Array/prototype/groupToMap/get-throws.js-31
- test/built-ins/Array/prototype/groupToMap/groupLength.js-28
- test/built-ins/Array/prototype/groupToMap/invalid-callback.js-29
- test/built-ins/Array/prototype/groupToMap/invalid-object.js-28
- test/built-ins/Array/prototype/groupToMap/invalid-property-key.js-31
- test/built-ins/Array/prototype/groupToMap/length-throw.js-36
- test/built-ins/Array/prototype/groupToMap/length.js-26
- test/built-ins/Array/prototype/groupToMap/map-instance.js-26
- test/built-ins/Array/prototype/groupToMap/name.js-25
- test/built-ins/Array/prototype/groupToMap/negativeZero.js-25
- test/built-ins/Array/prototype/groupToMap/sparse-array.js-37
- test/built-ins/Array/prototype/groupToMap/this-arg-strict.js-57
- test/built-ins/Array/prototype/groupToMap/this-arg.js-60
- test/built-ins/Array/prototype/groupToMap/toPropertyKey.js-39
- test/built-ins/Map/groupBy/callback-arg.js+32
- test/built-ins/Map/groupBy/callback-throws.js+25
- test/built-ins/Map/groupBy/emptyList.js+27
- test/built-ins/Map/groupBy/evenOdd.js+22
- test/built-ins/Map/groupBy/groupLength.js+21
- test/built-ins/Map/groupBy/invalid-callback.js+29
- test/built-ins/Map/groupBy/invalid-iterable.js+34
- test/built-ins/Map/groupBy/iterator-next-throws.js+34
- test/built-ins/Map/groupBy/length.js+25
- test/built-ins/Map/groupBy/map-instance.js+26
- test/built-ins/Map/groupBy/name.js+25
- test/built-ins/Map/groupBy/negativeZero.js+30
- test/built-ins/Map/groupBy/toPropertyKey.js+29
- test/built-ins/Object/groupBy/callback-arg.js+32
- test/built-ins/Object/groupBy/callback-throws.js+25
- test/built-ins/Object/groupBy/emptyList.js+27
- test/built-ins/Object/groupBy/evenOdd.js+22
- test/built-ins/Object/groupBy/groupLength.js+8-9
- test/built-ins/Object/groupBy/invalid-callback.js+29
- test/built-ins/Object/groupBy/invalid-iterable.js+34
- test/built-ins/Object/groupBy/invalid-property-key.js+31
- test/built-ins/Object/groupBy/iterator-next-throws.js+34
- test/built-ins/Object/groupBy/length.js+25
- test/built-ins/Object/groupBy/name.js+25
- test/built-ins/Object/groupBy/null-prototype.js+27
- test/built-ins/Object/groupBy/toPropertyKey.js+36
- test/built-ins/Temporal/Duration/prototype/round/zero-day-length-1.js+40
- test/built-ins/Temporal/Duration/prototype/round/zero-day-length-2.js+53
- test/built-ins/Temporal/Duration/prototype/total/zero-day-length-1.js+40
- test/built-ins/Temporal/Duration/prototype/total/zero-day-length-2.js+53
- test/intl402/Locale/constructor-non-iana-canon.js+1
- test/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js+2-2
- test/language/module-code/instn-iee-err-ambiguous-as.js+3-1
- test/language/module-code/instn-iee-err-ambiguous.js+3-1
- test/language/module-code/instn-iee-err-circular-as.js+3-1
- test/language/module-code/instn-iee-err-circular.js+3-1
- test/language/module-code/instn-iee-err-dflt-thru-star-as.js+3-1
- test/language/module-code/instn-iee-err-dflt-thru-star.js+3-1
- test/language/module-code/instn-iee-err-not-found-as.js+3-1
- test/language/module-code/instn-iee-err-not-found.js+3-1
- test/language/module-code/instn-named-err-ambiguous-as.js+3-1
- test/language/module-code/instn-named-err-ambiguous.js+3-1
- test/language/module-code/instn-named-err-dflt-thru-star-as.js+3-1
- test/language/module-code/instn-named-err-dflt-thru-star-dflt.js+3-1
- test/language/module-code/instn-named-err-not-found-as.js+3-1
- test/language/module-code/instn-named-err-not-found-dflt.js+3-1
- test/language/module-code/instn-named-err-not-found.js+3-1
- test/language/module-code/instn-star-err-not-found.js+3-1
- test/staging/Intl402/Temporal/old/japanese-era.js+21-2
- test/staging/Intl402/Temporal/old/non-iso-calendars.js+33-1
0 commit comments