Name Description Size
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.js --- es5id: 11.1.1_20_c description: > Tests that the number of fractional digits is determined correctly for currencies. author: Norbert Lindenberg --- 3022
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