blob: 6556db507f22be32efb29a5599391e5ed535977a [file] [log] [blame]
// Copyright 2019 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-intl.numberformat.prototype.format
description: Checks handling of the signDisplay option to the NumberFormat constructor.
locale: [de-DE]
features: [Intl.NumberFormat-unified]
---*/
const tests = [
[
"auto",
"-987,00 $",
"-0,00 $",
"-0,00 $",
"0,00 $",
"0,00 $",
"987,00 $",
],
[
"always",
"-987,00 $",
"-0,00 $",
"-0,00 $",
"+0,00 $",
"+0,00 $",
"+987,00 $",
],
[
"never",
"987,00 $",
"0,00 $",
"0,00 $",
"0,00 $",
"0,00 $",
"987,00 $",
],
[
"exceptZero",
"-987,00 $",
"0,00 $",
"0,00 $",
"0,00 $",
"0,00 $",
"+987,00 $",
],
];
for (const [signDisplay, negative, negativeNearZero, negativeZero, zero, positiveNearZero, positive] of tests) {
const nf = new Intl.NumberFormat("de-DE", { style: "currency", currency: "USD", currencySign: "accounting", signDisplay });
assert.sameValue(nf.format(-987), negative);
assert.sameValue(nf.format(-0.0001), negativeNearZero);
assert.sameValue(nf.format(-0), negativeZero);
assert.sameValue(nf.format(0), zero);
assert.sameValue(nf.format(0.0001), positiveNearZero);
assert.sameValue(nf.format(987), positive);
}