Skip to content

Commit

Permalink
Intl.NumberFormat Add tests for Intl.NumberFormat when using "curre…
Browse files Browse the repository at this point in the history
…ncy" style and "compact", "engineering", and "scientific" notations.

Related PR: tc39/ecma402#925
  • Loading branch information
ben-allen committed Oct 21, 2024
1 parent 0add42b commit 7cf698a
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions test/intl402/NumberFormat/currency-digits-nonstandard-notation.js
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 + ".");
}
}


0 comments on commit 7cf698a

Please sign in to comment.