blob: 2ed78abbc35c52a961e204d968a54b5524053adc [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-initializenumberformat
description: Checks handling of the unit style.
features: [Intl.NumberFormat-unified]
---*/
assert.throws(TypeError, () => {
new Intl.NumberFormat([], {
style: "unit",
})
});
for (const unit of [undefined, "test", "MILE", "kB"]) {
assert.throws(unit === undefined ? TypeError : RangeError, () => {
new Intl.NumberFormat([], {
style: "unit",
unit,
})
});
for (const style of [undefined, "decimal", "currency"]) {
let called = 0;
const nf = new Intl.NumberFormat([], {
style,
get unit() { ++called; return unit; },
currency: "USD",
});
assert.sameValue(nf.resolvedOptions().unit, undefined);
assert.sameValue(called, 1);
}
}
const nf = new Intl.NumberFormat([], {
style: "percent",
});
assert.sameValue(nf.resolvedOptions().style, "percent");
assert.sameValue(nf.resolvedOptions().unit, undefined);