Skip to content
Snippets Groups Projects
Unverified Commit a9d9ab1a authored by Daniel Ehrenberg's avatar Daniel Ehrenberg Committed by Leonardo Balter
Browse files

Add tests for some NumberFormat options edge cases

Closes #888

These tests are regression tests for V8 failures at top of tree,
https://bugs.chromium.org/p/v8/issues/detail?id=6015
https://bugs.chromium.org/p/v8/issues/detail?id=6016

Neither issue is present in JSC or SpiderMonkey. They are fixed
by the V8 patch
https://codereview.chromium.org/2717613005
parent 333fa10c
No related branches found
No related tags found
No related merge requests found
// Copyright 2017 the V8 project authors. All rights reserved.
// This code is governed by the license found in the LICENSE file.
/*---
esid: sec-setnfdigitoptions
description: >
When a currency is used in Intl.NumberFormat and minimumFractionDigits is
not provided, maximumFractionDigits should be range-checked against it.
---*/
assert.throws(RangeError, () => new Intl.NumberFormat('en', {
style: 'currency',
currency: 'USD',
maximumFractionDigits: 1
}), 'CurrencyDigits(USD) == 1');
assert.throws(RangeError, () => new Intl.NumberFormat('en', {
style: 'currency',
currency: 'CLF',
maximumFractionDigits: 4
}), 'CurrencyDigits(CLF) == 4');
// Copyright 2017 the V8 project authors. All rights reserved.
// This code is governed by the license found in the LICENSE file.
/*---
esid: sec-setnfdigitoptions
description: >
The maximum and minimum fraction digits properties should be read from
the options bag exactly once from the NumberFormat constructor.
info: Regression test for https://bugs.chromium.org/p/v8/issues/detail?id=6015
---*/
var calls = [];
new Intl.NumberFormat("en", { get minimumFractionDigits() { calls.push('minimumFractionDigits') },
get maximumFractionDigits() { calls.push('maximumFractionDigits') } });
assert.sameValue(calls.length, 2);
assert.sameValue(calls[0], 'minimumFractionDigits');
assert.sameValue(calls[1], 'maximumFractionDigits');
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment