Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Temporal.Duration normalization tests, part 2 of 3 #3961

Merged
merged 5 commits into from
Jan 31, 2024

Conversation

ptomato
Copy link
Contributor

@ptomato ptomato commented Nov 16, 2023

(stacked on top of #3957, will rebase as appropriate)

This PR contains tests that cover a Temporal normative change that reached consensus in July 2023.
Normative PR: tc39/proposal-temporal#2727

@ptomato ptomato requested review from a team as code owners November 16, 2023 01:22
@ptomato ptomato force-pushed the duration-normalize-part-2 branch from c9ccbc4 to 2448b3f Compare November 16, 2023 19:10
@ptomato ptomato force-pushed the duration-normalize-part-2 branch from cbf4da8 to 7e6df92 Compare November 28, 2023 19:47
@ptomato
Copy link
Contributor Author

ptomato commented Nov 29, 2023

Added extra tests for the cases that @anba identified, in a fixup commit so it's easy to see what changed. I will squash it before merging.

@ptomato ptomato force-pushed the duration-normalize-part-2 branch from 7e6df92 to 9bbab02 Compare November 29, 2023 00:14
anba added a commit to anba/test262 that referenced this pull request Jan 2, 2024
….hoursInDay

The existing tests didn't cover some edge cases where implementations
have to compute the exact result of `numerator / denominator`, where at
least one of `numerator` and `denominator` can't be exactly represented
by an IEEE-754 double precision floating point value.

"precision-exact-mathematical-values-5.js" gets added in tc39#3961, so the
new tests from this commit start at "precision-exact-mathematical-values-6.js".
anba added a commit to anba/test262 that referenced this pull request Jan 9, 2024
….hoursInDay

The existing tests didn't cover some edge cases where implementations
have to compute the exact result of `numerator / denominator`, where at
least one of `numerator` and `denominator` can't be exactly represented
by an IEEE-754 double precision floating point value.

"precision-exact-mathematical-values-5.js" gets added in tc39#3961, so the
new tests from this commit start at "precision-exact-mathematical-values-6.js".
@ptomato ptomato force-pushed the duration-normalize-part-2 branch from 9bbab02 to f444710 Compare January 16, 2024 01:46
ptomato pushed a commit to ptomato/test262 that referenced this pull request Jan 17, 2024
….hoursInDay

The existing tests didn't cover some edge cases where implementations
have to compute the exact result of `numerator / denominator`, where at
least one of `numerator` and `denominator` can't be exactly represented
by an IEEE-754 double precision floating point value.

"precision-exact-mathematical-values-5.js" gets added in tc39#3961, so the
new tests from this commit start at "precision-exact-mathematical-values-6.js".
ptomato pushed a commit to ptomato/test262 that referenced this pull request Jan 22, 2024
….hoursInDay

The existing tests didn't cover some edge cases where implementations
have to compute the exact result of `numerator / denominator`, where at
least one of `numerator` and `denominator` can't be exactly represented
by an IEEE-754 double precision floating point value.

"precision-exact-mathematical-values-5.js" gets added in tc39#3961, so the
new tests from this commit start at "precision-exact-mathematical-values-6.js".
@ptomato ptomato force-pushed the duration-normalize-part-2 branch from 9fb7763 to 60538bc Compare January 22, 2024 23:34
ptomato pushed a commit to ptomato/test262 that referenced this pull request Jan 31, 2024
….hoursInDay

The existing tests didn't cover some edge cases where implementations
have to compute the exact result of `numerator / denominator`, where at
least one of `numerator` and `denominator` can't be exactly represented
by an IEEE-754 double precision floating point value.

"precision-exact-mathematical-values-5.js" gets added in tc39#3961, so the
new tests from this commit start at "precision-exact-mathematical-values-6.js".
@ptomato ptomato force-pushed the duration-normalize-part-2 branch from 60538bc to 04e26c6 Compare January 31, 2024 00:31
@ptomato
Copy link
Contributor Author

ptomato commented Jan 31, 2024

Thanks for the review. Since yesterday I added some tests from @nicolo-ribaudo as well as some tests from @anba, which I've reviewed. So I think this is ready. I'll merge it at the same time as the proposal-temporal PR.

ptomato and others added 5 commits January 30, 2024 17:11
Adapts or removes tests that relied on creating durations that are now out
of range. Adds new tests for maximum in-range and minimum out-of-range
durations.
NormalizedTimeDurationToDays can no longer loop indefinitely, because at
a certain point we will hit the upper bound of MAX_SAFE_INTEGER, so rename
the test to reflect that it can loop an arbitrary but limited number of
times.

Add a test for the RangeError condition in NormalizedTimeDurationToDays
when the time zone calculates a day length that is not a safe integer
number of nanoseconds.

While editing these tests, rename them to match the current name of the AO
and make sure the step numbers are up to date. (Normally I wouldn't care
so much about that, but these tests can be pretty confusing so it's good
to be able to refer to the spec text.)
….hoursInDay

The existing tests didn't cover some edge cases where implementations
have to compute the exact result of `numerator / denominator`, where at
least one of `numerator` and `denominator` can't be exactly represented
by an IEEE-754 double precision floating point value.

"precision-exact-mathematical-values-5.js" gets added in tc39#3961, so the
new tests from this commit start at "precision-exact-mathematical-values-6.js".
@ptomato ptomato force-pushed the duration-normalize-part-2 branch from 04e26c6 to 701339e Compare January 31, 2024 01:11
@ptomato ptomato merged commit 584048e into tc39:main Jan 31, 2024
9 checks passed
ptomato pushed a commit that referenced this pull request Jan 31, 2024
….hoursInDay

The existing tests didn't cover some edge cases where implementations
have to compute the exact result of `numerator / denominator`, where at
least one of `numerator` and `denominator` can't be exactly represented
by an IEEE-754 double precision floating point value.

"precision-exact-mathematical-values-5.js" gets added in #3961, so the
new tests from this commit start at "precision-exact-mathematical-values-6.js".
@ptomato ptomato deleted the duration-normalize-part-2 branch January 31, 2024 16:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants