browser.js |
|
0 |
builtin.js |
---
es5id: 11.1_L15
description: >
Tests that Intl.NumberFormat meets the requirements for built-in
objects defined by the introduction of chapter 17 of the
ECMAScript Language Specification.
author: Norbert Lindenberg
--- |
769 |
casing-numbering-system-options.js |
---
esid: sec-initializenumberformat
description: >
Tests that the options numberingSystem are mapped to lower case.
author: Caio Lima
features: [Array.prototype.includes]
--- |
1087 |
constructor-compactDisplay-compact.js |
---
esid: sec-initializenumberformat
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
19. Let compactDisplay be ? GetOption(options, "compactDisplay", "string", « "short", "long" », "short").
20. If notation is "compact", then
a. Set numberFormat.[[CompactDisplay]] to compactDisplay.
includes: [compareArray.js]
features: [Intl.NumberFormat-unified]
--- |
1263 |
constructor-compactDisplay-no-compact.js |
---
esid: sec-initializenumberformat
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
19. Let compactDisplay be ? GetOption(options, "compactDisplay", "string", « "short", "long" », "short").
20. If notation is "compact", then
a. Set numberFormat.[[CompactDisplay]] to compactDisplay.
includes: [compareArray.js]
features: [Intl.NumberFormat-unified]
--- |
1426 |
constructor-default-value.js |
---
esid: sec-initializenumberformat
description: >
Tests that the constructor for Intl.NumberFormat uses appropriate default
values for its arguments (locales and options).
--- |
945 |
constructor-locales-arraylike.js |
---
esid: sec-initializenumberformat
description: >
Tests that the Intl.NumberFormat constructor accepts Array-like values for the
locales argument and treats them well.
--- |
948 |
constructor-locales-get-tostring.js |
---
esid: sec-initializenumberformat
description: >
Tests that Get(O, P) and ToString(arg) are properly called within the
constructor for Intl.NumberFormat
info: |
9.2.1 CanonicalizeLocaleList ( locales )
5. Let len be ? ToLength(? Get(O, "length")).
7.a. Let Pk be ToString(k).
7.c.i. Let kValue be ? Get(O, Pk).
--- |
948 |
constructor-locales-hasproperty.js |
---
esid: sec-initializenumberformat
description: >
Tests that HasProperty(O, Pk) is properly called within the constructor for
Intl.NumberFormat
info: |
9.2.1 CanonicalizeLocaleList ( locales )
7.b. Let kPresent be ? HasProperty(O, Pk).
--- |
890 |
constructor-locales-string.js |
---
esid: sec-initializenumberformat
description: >
Tests that passing a string value to the Intl.NumberFormat constructor is
equivalent to passing an Array containing the same string value.
info: |
9.2.1 CanonicalizeLocaleList ( locales )
3 .If Type(locales) is String, then
a. Let O be CreateArrayFromList(« locales »).
--- |
1089 |
constructor-locales-toobject.js |
---
esid: sec-initializenumberformat
description: >
Tests that Intl.NumberFormat contructor converts the locales argument
to an object using `ToObject` (7.1.13).
info: |
9.2.1 CanonicalizeLocaleList
4.a. Let O be ? ToObject(locales).
--- |
1440 |
constructor-no-instanceof.js |
---
esid: sec-intl-numberformat-constructor
description: >
Tests that the Intl.NumberFormat constructor calls
OrdinaryHasInstance instead of the instanceof operator which includes a
Symbol.hasInstance lookup and call among other things.
info: >
ChainNumberFormat ( numberFormat, newTarget, this )
1. If newTarget is undefined and ? OrdinaryHasInstance(%NumberFormat%, this) is true, then
a. Perform ? DefinePropertyOrThrow(this, %Intl%.[[FallbackSymbol]], PropertyDescriptor{
[[Value]]: numberFormat, [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: false }).
b. Return this.
--- |
923 |
constructor-notation.js |
---
esid: sec-initializenumberformat
description: Checks handling of the notation option to the NumberFormat constructor.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
16. Let notation be ? GetOption(options, "notation", "string", « "standard", "scientific", "engineering", "compact" », "standard").
17. Set numberFormat.[[Notation]] to notation.
features: [Intl.NumberFormat-unified]
--- |
973 |
constructor-numberingSystem-order.js |
---
esid: sec-initializenumberformat
description: >
Checks the order of getting "numberingSystem" option in the
NumberFormat is between "localeMatcher" and "style" options.
info: |
InitializeNumberFormat ( _numberFormat_, _locales_, _options_ )
5. Let _matcher_ be ? GetOption(_options_, `"localeMatcher"`, `"string"`, « `"lookup"`, `"best fit"` », `"best fit"`).
...
7. Let _numberingSystem_ be ? GetOption(_options_, `"numberingSystem"`, `"string"`, *undefined*, *undefined*).
...
17. Let _style_ be ? GetOption(_options_, `"style"`, `"string"`, « `"decimal"`, `"percent"`, `"currency"` », `"decimal"`).
includes: [compareArray.js]
--- |
1277 |
constructor-option-read-order.js |
---
esid: sec-initializenumberformat
description: Checks the order of option read.
features: [Intl.NumberFormat-v3]
includes: [compareArray.js]
--- |
1609 |
constructor-options-numberingSystem-invalid.js |
---
esid: sec-initializenumberformat
description: >
Checks error cases for the options argument to the NumberFormat constructor.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
...
8. If numberingSystem is not undefined, then
a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal, throw a RangeError exception.
--- |
1147 |
constructor-options-roundingMode-invalid.js |
---
esid: sec-initializenumberformat
description: Abrupt completion from invalid values for `roundingMode`
features: [Intl.NumberFormat-v3]
--- |
1109 |
constructor-options-throwing-getters-rounding-increment.js |
---
esid: sec-initializenumberformat
description: >
Exception from accessing the "roundingIncrement" option for the NumberFormat
constructor should be propagated to the caller
features: [Intl.NumberFormat-v3]
--- |
529 |
constructor-options-throwing-getters-rounding-mode.js |
---
esid: sec-initializenumberformat
description: >
Exception from accessing the "roundingMode" option for the NumberFormat
constructor should be propagated to the caller
features: [Intl.NumberFormat-v3]
--- |
519 |
constructor-options-throwing-getters-rounding-priority.js |
---
esid: sec-initializenumberformat
description: >
Exception from accessing the "roundingPriority" option for the NumberFormat
constructor should be propagated to the caller
features: [Intl.NumberFormat-v3]
--- |
527 |
constructor-options-throwing-getters-trailing-zero-display.js |
---
esid: sec-initializenumberformat
description: >
Exception from accessing the "trailingZeroDisplay" option for the
NumberFormat constructor should be propagated to the caller
features: [Intl.NumberFormat-v3]
--- |
533 |
constructor-options-throwing-getters.js |
---
esid: sec-initializenumberformat
description: Checks the propagation of exceptions from the options for the NumberFormat constructor.
--- |
824 |
constructor-options-toobject.js |
---
esid: sec-initializenumberformat
description: >
Tests that Intl.NumberFormat contructor converts the options argument
to an object using `ToObject` (7.1.13).
info: |
11.1.2 InitializeNumberFormat
3.a. Let options be ? ToObject(options).
--- |
1511 |
constructor-order.js |
---
esid: sec-initializenumberformat
description: Checks handling of the unit option with the currency style.
info: |
SetNumberFormatUnitOptions ( intlObj, options )
5. Let currency be ? GetOption(options, "currency", "string", undefined, undefined).
6. If currency is not undefined, then
a. If the result of IsWellFormedCurrencyCode(currency) is false, throw a RangeError exception.
7. If style is "currency" and currency is undefined, throw a TypeError exception.
...
10. Let unit be ? GetOption(options, "unit", "string", undefined, undefined).
11. If unit is not undefined, then
a. If the result of IsWellFormedUnitIdentifier(unit) is false, throw a RangeError exception.
12. If style is "unit" and unit is undefined, throw a TypeError exception.
features: [Intl.NumberFormat-unified]
--- |
1199 |
constructor-roundingIncrement-invalid.js |
---
esid: sec-initializenumberformat
description: Rejects invalid values for roundingIncrement option.
features: [Intl.NumberFormat-v3]
--- |
1603 |
constructor-roundingIncrement.js |
---
esid: sec-initializenumberformat
description: Checks handling of the roundingIncrement option to the NumberFormat constructor.
includes: [compareArray.js]
features: [Intl.NumberFormat-v3]
--- |
1262 |
constructor-signDisplay-negative.js |
---
esid: sec-initializenumberformat
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
32. Let signDisplay be ? GetOption(options, "signDisplay", "string", « "auto", "never", "always", "exceptZero", "negative" », "auto").
33. Set numberFormat.[[SignDisplay]] to signDisplay.
includes: [propertyHelper.js]
features: [Intl.NumberFormat-v3]
--- |
869 |
constructor-signDisplay.js |
---
esid: sec-initializenumberformat
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
23. Let signDisplay be ? GetOption(options, "signDisplay", "string", « "auto", "never", "always", "exceptZero" », "auto").
24. Set numberFormat.[[SignDisplay]] to signDisplay.
features: [Intl.NumberFormat-unified]
--- |
970 |
constructor-trailingZeroDisplay-invalid.js |
---
esid: sec-initializenumberformat
description: Rejects invalid values for trailingZeroDisplay option.
features: [Intl.NumberFormat-v3]
--- |
1069 |
constructor-trailingZeroDisplay.js |
---
esid: sec-initializenumberformat
description: Checks handling of the trailingZeroDisplay option to the NumberFormat constructor.
includes: [compareArray.js]
features: [Intl.NumberFormat-v3]
--- |
1135 |
constructor-unit.js |
---
esid: sec-initializenumberformat
description: Checks handling of the unit style.
includes: [testIntl.js]
features: [Intl.NumberFormat-unified]
--- |
1794 |
constructor-unitDisplay.js |
---
esid: sec-initializenumberformat
description: Checks handling of the compactDisplay option to the NumberFormat constructor.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
23. Let signDisplay be ? GetOption(options, "signDisplay", "string", « "auto", "never", "always", "exceptZero" », "auto").
24. Set numberFormat.[[SignDisplay]] to signDisplay.
features: [Intl.NumberFormat-unified]
--- |
1822 |
currency-code-invalid.js |
---
es5id: 6.3.1_b
description: Tests that invalid currency codes are not accepted.
author: Norbert Lindenberg
--- |
720 |
currency-code-well-formed.js |
---
es5id: 6.3.1_a
description: Tests that well-formed currency codes are accepted.
author: Norbert Lindenberg
--- |
741 |
currency-digits-nonstandard-notation.js |
---
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.
--- |
1375 |
currency-digits.js |
---
esid: sec-intl.numberformat
description: >
Tests that data for the number of fractional digits when formatting currency is used.
info: |
15.1.1 Intl.NumberFormat ([ locales [ , options ]])
19. If style is "currency" and "notation" is "standard", then
a. Let currency be numberFormat.[[Currency]].
b. Let cDigits be CurrencyDigits(currency).
c. Let mnfdDefault be cDigits.
d. Let mxfdDefault be cDigits.
author: Ben Allen
--- |
913 |
currencyDisplay-unit.js |
---
esid: sec-setnumberformatunitoptions
description: Checks handling of valid values for the numeric option to the NumberFormat constructor.
info: |
SetNumberFormatUnitOptions ( intlObj, options )
6. Let currencyDisplay be ? GetOption(options, "currencyDisplay", "string", « "code", "symbol", "narrowSymbol", "name" », "symbol").
11. If style is "currency", then
f. Set intlObj.[[CurrencyDisplay]] to currencyDisplay.
features: [Intl.NumberFormat-unified]
--- |
1351 |
default-minimum-singificant-digits.js |
---
description: Tests that the default value of minimumSignificantDigits is 1.
esid: sec-setnfdigitoptions
--- |
1080 |
default-options-object-prototype.js |
---
esid: sec-initializenumberformat
description: >
Monkey-patching Object.prototype does not change the default
options for NumberFormat as a null prototype is used.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
1. If _options_ is *undefined*, then
1. Let _options_ be ObjectCreate(*null*).
--- |
807 |
dft-currency-mnfd-range-check-mxfd.js |
---
esid: sec-setnfdigitoptions
description: >
When a currency is used in Intl.NumberFormat and minimumFractionDigits is
not provided, maximumFractionDigits should be set as provided.
--- |
745 |
fraction-digit-options-read-once.js |
---
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
--- |
790 |
ignore-invalid-unicode-ext-values.js |
---
es5id: 11.2.3_b
description: >
Tests that Intl.NumberFormat does not accept Unicode locale
extension keys and values that are not allowed.
author: Norbert Lindenberg
--- |
1706 |
instance-proto-and-extensible.js |
---
es5id: 11.1.3
description: >
Tests that objects constructed by Intl.NumberFormat have the
specified internal properties.
author: Norbert Lindenberg
--- |
662 |
intl-legacy-constructed-symbol-on-unwrap.js |
---
esid: sec-unwrapnumberformat
description: >
Tests that [[FallbackSymbol]]'s [[Description]] is "IntlLegacyConstructedSymbol" if normative optional is implemented.
author: Yusuke Suzuki
features: [intl-normative-optional]
--- |
1022 |
intl-legacy-constructed-symbol.js |
---
esid: sec-intl.numberformat
description: >
Tests that [[FallbackSymbol]]'s [[Description]] is "IntlLegacyConstructedSymbol" if normative optional is implemented.
author: Yusuke Suzuki
features: [intl-normative-optional]
--- |
670 |
legacy-regexp-statics-not-modified.js |
---
es5id: 11.1.1_a
description: >
Tests that constructing a NumberFormat doesn't create or modify
unwanted properties on the RegExp constructor.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
593 |
length.js |
---
esid: sec-intl.numberformat
description: >
Intl.NumberFormat.length is 0.
info: |
Intl.NumberFormat ( [ locales [ , options ] ] )
17 ECMAScript Standard Built-in Objects:
Every built-in function object, including constructors, has a length
property whose value is an integer. Unless otherwise specified, this
value is equal to the largest number of named arguments shown in the
subclause headings for the function description. Optional parameters
(which are indicated with brackets: [ ]) or rest parameters (which
are shown using the form «...name») are not included in the default
argument count.
Unless otherwise specified, the length property of a built-in function
object has the attributes { [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
1185 |
name.js |
---
esid: sec-Intl.NumberFormat
description: >
Intl.NumberFormat.name is "NumberFormat".
info: |
11.2.1 Intl.NumberFormat ([ locales [ , options ]])
17 ECMAScript Standard Built-in Objects:
Every built-in Function object, including constructors, that is not
identified as an anonymous function has a name property whose value
is a String.
Unless otherwise specified, the name property of a built-in Function
object, if it exists, has the attributes { [[Writable]]: false,
[[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- |
879 |
numbering-system-options.js |
---
esid: sec-initializenumberformat
description: >
Tests that the options numberingSystem and calendar can be set through
either the locale or the options.
author: Norbert Lindenberg, Daniel Ehrenberg
--- |
2509 |
prop-desc.js |
---
esid: sec-intl.numberformat-intro
description: >
"NumberFormat" property of Intl.
info: |
Intl.NumberFormat (...)
7 Requirements for Standard Built-in ECMAScript Objects
Unless specified otherwise in this document, the objects, functions, and constructors
described in this standard are subject to the generic requirements and restrictions
specified for standard built-in ECMAScript objects in the ECMAScript 2018 Language
Specification, 9th edition, clause 17, or successor.
17 ECMAScript Standard Built-in Objects:
Every other data property described in clauses 18 through 26 and in Annex B.2 has the
attributes { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
unless otherwise specified.
includes: [propertyHelper.js]
--- |
1052 |
proto-from-ctor-realm.js |
---
esid: sec-intl.numberformat
description: Default [[Prototype]] value derived from realm of the NewTarget.
info: |
Intl.NumberFormat ( [ locales [ , options ] ] )
1. If NewTarget is undefined, let newTarget be the active function object, else let newTarget be NewTarget.
2. Let numberFormat be ? OrdinaryCreateFromConstructor(newTarget, "%NumberFormatPrototype%", « ... »).
...
6. Return numberFormat.
OrdinaryCreateFromConstructor ( constructor, intrinsicDefaultProto [ , internalSlotsList ] )
...
2. Let proto be ? GetPrototypeFromConstructor(constructor, intrinsicDefaultProto).
3. Return ObjectCreate(proto, internalSlotsList).
GetPrototypeFromConstructor ( constructor, intrinsicDefaultProto )
...
3. Let proto be ? Get(constructor, 'prototype').
4. If Type(proto) is not Object, then
a. Let realm be ? GetFunctionRealm(constructor).
b. Set proto to realm's intrinsic object named intrinsicDefaultProto.
5. Return proto.
features: [cross-realm, Reflect, Symbol]
--- |
2477 |
prototype |
|
|
shell.js |
|
0 |
significant-digits-options-get-sequence.js |
---
es5id: 11.1.1_32
description: >
Tests that the options minimumSignificantDigits and
maximumSignificantDigits are read in the right sequence.
author: Norbert Lindenberg
--- |
1484 |
style-unit.js |
---
esid: sec-setnumberformatunitoptions
description: Checks handling of valid values for the numeric option to the RelativeTimeFormat constructor.
info: |
SetNumberFormatUnitOptions ( intlObj, options )
3. Let style be ? GetOption(options, "style", "string", « "decimal", "percent", "currency", "unit" », "decimal").
4. Set intlObj.[[Style]] to style.
features: [Intl.NumberFormat-unified]
--- |
922 |
subclassing.js |
---
es5id: 11.1.2
description: Tests that Intl.NumberFormat can be subclassed.
author: Norbert Lindenberg
includes: [compareArray.js]
--- |
1009 |
supportedLocalesOf |
|
|
taint-Object-prototype.js |
---
es5id: 11.1.1_6
description: >
Tests that the behavior of a Record is not affected by
adversarial changes to Object.prototype.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
606 |
test-option-currency.js |
---
es5id: 11.1.1_17
description: Tests that the option currency is processed correctly.
author: Norbert Lindenberg
--- |
2774 |
test-option-currencyDisplay.js |
---
es5id: 11.1.1_21
description: Tests that the option currencyDisplay is processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
587 |
test-option-localeMatcher.js |
---
es5id: 11.1.1_7
description: Tests that the option localeMatcher is processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
419 |
test-option-roundingPriority-mixed-options.js |
---
esid: sec-intl.numberformat.prototype.format
description: Tests that the digits are determined correctly when specifying at same time «"minimumFractionDigits", "maximumFractionDigits", "minimumSignificantDigits", "maximumSignificantDigits"»
features: [Intl.NumberFormat-v3]
includes: [testIntl.js]
--- |
7852 |
test-option-roundingPriority.js |
---
esid: sec-intl.numberformat
description: Tests that the option roundingPriority is processed correctly.
features: [Intl.NumberFormat-v3]
includes: [testIntl.js]
--- |
455 |
test-option-style.js |
---
es5id: 11.1.1_15
description: Tests that the option style is processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
447 |
test-option-useGrouping-extended.js |
---
esid: sec-initializenumberformat
description: Tests that the option useGrouping is processed correctly.
info: |
The "Intl.NumberFormat v3" proposal contradicts the behavior required by the
latest revision of ECMA402.
features: [Intl.NumberFormat-v3]
--- |
2096 |
test-option-useGrouping.js |
---
es5id: 11.1.1_34
description: Tests that the option useGrouping is processed correctly.
info: |
The "Intl.NumberFormat v3" proposal contradicts the behavior required by the
latest revision of ECMA402.
author: Norbert Lindenberg
features: [Intl.NumberFormat-v3]
--- |
1450 |
this-value-ignored.js |
---
esid: sec-intl-numberformat-constructor
description: >
Tests that the this-value is ignored in NumberFormat, if the this-value
isn't a NumberFormat instance.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
1231 |
throws-for-currency-style-without-currency-option.js |
---
es5id: 11.1.1_19
description: >
Tests that the currency style can not be used without a specified
currency.
author: Norbert Lindenberg
--- |
813 |
throws-for-maximumFractionDigits-over-limit.js |
---
esid: sec-initializenumberformat
description: >
Tests that the options maximumFractionDigits limit to the range 0 - 100.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
25.a.ii. Set mxfd to ? DefaultNumberOption(mxfd, 0, 100, undefined).
DefaultNumberOption ( value, minimum, maximum, fallback )
3. If value is NaN or less than minimum or greater than maximum, throw a RangeError exception.
--- |
860 |
throws-for-maximumFractionDigits-under-limit.js |
---
esid: sec-initializenumberformat
description: >
Tests that the options maximumFractionDigits limit to the range 0 - 100.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
25.a.ii. Set mxfd to ? DefaultNumberOption(mxfd, 0, 100, undefined).
DefaultNumberOption ( value, minimum, maximum, fallback )
3. If value is NaN or less than minimum or greater than maximum, throw a RangeError exception.
--- |
855 |
throws-for-minimumFractionDigits-over-limit.js |
---
esid: sec-initializenumberformat
description: >
Tests that the options minimumFractionDigits limit to the range 0 - 100.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
25.a.ii. Set mxfd to ? DefaultNumberOption(mxfd, 0, 100, undefined).
DefaultNumberOption ( value, minimum, maximum, fallback )
3. If value is NaN or less than minimum or greater than maximum, throw a RangeError exception.
--- |
860 |
throws-for-minimumFractionDigits-under-limit.js |
---
esid: sec-initializenumberformat
description: >
Tests that the options minimumFractionDigits limit to the range 0 - 100.
info: |
InitializeNumberFormat ( numberFormat, locales, options )
25.a.ii. Set mxfd to ? DefaultNumberOption(mxfd, 0, 100, undefined).
DefaultNumberOption ( value, minimum, maximum, fallback )
3. If value is NaN or less than minimum or greater than maximum, throw a RangeError exception.
--- |
855 |