[webkit-changes] [WebKit/WebKit] 55784d: [JSC] `Intl.DurationFormat` should format seconds ...
SUZUKI Sosuke
noreply at github.com
Wed Aug 7 13:36:29 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 55784d54785e187216c433d10b4e0c504a722e98
https://github.com/WebKit/WebKit/commit/55784d54785e187216c433d10b4e0c504a722e98
Author: Sosuke Suzuki <aosukeke at gmail.com>
Date: 2024-08-07 (Wed, 07 Aug 2024)
Changed paths:
M JSTests/stress/intl-durationformat-format-to-parts.js
A JSTests/stress/intl-durationformat-roundingMode.js
M JSTests/test262/expectations.yaml
M Source/JavaScriptCore/runtime/IntlDurationFormat.cpp
Log Message:
-----------
[JSC] `Intl.DurationFormat` should format seconds with `roundingMode` is `trunc`
https://bugs.webkit.org/show_bug.cgi?id=275745
Reviewed by Yusuke Suzuki.
According to the specifications [1][2], `Intl.DurationFormat` should use `trunc` as the
`roundingMode` when formatting seconds, milliseconds, or microseconds.
However, the current JSC is formatting with the default `roundingMode` of `Intl.NumberFormat`,
which is `halfExpand` (in practice, it uses the corresponding ICU rounding mode[3][4]
`rounding-mode-half-up`).
This patch changes the formatting of seconds, milliseconds, or microseconds to use the ICU rounding
mode `rounding-mode-down`, which corresponds to `trunc` as the `roundingMode`.
[1]: https://tc39.es/proposal-intl-duration-format/#sec-partitiondurationformatpattern
[2]: https://tc39.es/proposal-intl-duration-format/#sec-formatnumericseconds
[3]: https://github.com/unicode-org/icu/blob/main/docs/userguide/format_parse/numbers/rounding-modes.md
[4]: https://github.com/unicode-org/icu/blob/main/docs/userguide/format_parse/numbers/skeletons.md#rounding-mode
* JSTests/stress/intl-durationformat-format-to-parts.js:
(Intl.DurationFormat.shouldBeOneOf):
* JSTests/stress/intl-durationformat-roundingMode.js: Added.
(sameValue):
* JSTests/test262/expectations.yaml:
* Source/JavaScriptCore/runtime/IntlDurationFormat.cpp:
(JSC::collectElements):
Canonical link: https://commits.webkit.org/281955@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list