-
Notifications
You must be signed in to change notification settings - Fork 472
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Intl.NumberFormat Add tests for
Intl.NumberFormat
when using "curre…
…ncy" style and "compact", "engineering", and "scientific" notations. Related PR: tc39/ecma402#925
- Loading branch information
Showing
1 changed file
with
34 additions
and
0 deletions.
There are no files selected for viewing
34 changes: 34 additions & 0 deletions
34
test/intl402/NumberFormat/currency-digits-nonstandard-notation.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
// Copyright 2024 Igalia S.L. All rights reserved. | ||
// This code is governed by the BSD license found in the LICENSE file. | ||
|
||
/*--- | ||
esid: sec-intl.numberformat | ||
description: > | ||
Checks that the special handling for number of fractional digits when formatting currency values in "standard" notation is ignored when using "compact", "engineering", or "scientific" notation. | ||
info: | | ||
Intl.DateTimeFormat ( [ locales [ , options ] ] ) | ||
... | ||
19. If style is "currency" and "notation" is "standard", then | ||
... | ||
20. Else, | ||
a. mnfdDefault be 0. | ||
b. If style is "percent", then | ||
i. Let mxfdDefault be 0. | ||
c. Else, | ||
i. Let mxfdDefault be 3. | ||
---*/ | ||
|
||
for (const notation of ["compact", "engineering", "scientific"]) { | ||
for (const currency of ["JPY", "KWD", "USD"]) { | ||
let nf = new Intl.NumberFormat('en-US', {style: "currency", currency, notation}); | ||
const resolvedOptions = nf.resolvedOptions(); | ||
const minimumFractionDigits = resolvedOptions.minimumFractionDigits; | ||
const maximumFractionDigits = resolvedOptions.maximumFractionDigits; | ||
|
||
assert.sameValue(minimumFractionDigits, 0, "Didn't get correct minimumFractionDigits for currency " + currency + "."); | ||
assert.sameValue(maximumFractionDigits, 3, "Didn't get correct maximumFractionDigits for currency " + currency + "."); | ||
} | ||
} | ||
|
||
|