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

Commits on Jan 31, 2024

  1. Temporal: Adapt tests to upper bound on time portion of durations

    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.
    ptomato committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    cd6260b View commit details
    Browse the repository at this point in the history
  2. Temporal: Limit day length calculations to safe integers

    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.)
    ptomato committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    246da2e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f8e84c2 View commit details
    Browse the repository at this point in the history
  4. Add tests for precise results in Duration.p.total and ZonedDateTime.p…

    ….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 authored and ptomato committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    236f37a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    701339e View commit details
    Browse the repository at this point in the history