mirror of https://github.com/tc39/test262.git
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
This commit is contained in:
parent
333fa10c63
commit
a9d9ab1a51
|
@ -0,0 +1,21 @@
|
||||||
|
// 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');
|
|
@ -0,0 +1,18 @@
|
||||||
|
// 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');
|
Loading…
Reference in New Issue