| This test checks the behavior of Intl.NumberFormat as described in the ECMAScript Internationalization API Specification (ECMA-402 2.0). |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| PASS Intl.NumberFormat is an instance of Function |
| PASS Intl.NumberFormat() is an instance of Intl.NumberFormat |
| PASS Intl.NumberFormat.call({}) is an instance of Intl.NumberFormat |
| PASS new Intl.NumberFormat() is an instance of Intl.NumberFormat |
| PASS class DerivedNumberFormat extends Intl.NumberFormat {};(new DerivedNumberFormat) instanceof DerivedNumberFormat is true |
| PASS class DerivedNumberFormat extends Intl.NumberFormat {};(new DerivedNumberFormat) instanceof Intl.NumberFormat is true |
| PASS class DerivedNumberFormat extends Intl.NumberFormat {};new DerivedNumberFormat('en').format(1) === '1' is true |
| PASS class DerivedNumberFormat extends Intl.NumberFormat {};Object.getPrototypeOf(new DerivedNumberFormat) === DerivedNumberFormat.prototype is true |
| PASS class DerivedNumberFormat extends Intl.NumberFormat {};Object.getPrototypeOf(Object.getPrototypeOf(new DerivedNumberFormat)) === Intl.NumberFormat.prototype is true |
| PASS testNumberFormat(Intl.NumberFormat('en'), [{locale: 'en'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('eN-uS'), [{locale: 'en-US'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat(['en', 'de']), [{locale: 'en'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('de'), [{locale: 'de'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec'), [{locale: 'zh-Hans-CN-u-nu-hanidec', numberingSystem: 'hanidec'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('ZH-hans-cn-U-Nu-Hanidec'), [{locale: 'zh-Hans-CN-u-nu-hanidec', numberingSystem: 'hanidec'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-abcd'), [{locale: 'en'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-arab'), [{locale: 'en-u-nu-arab', numberingSystem: 'arab'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-arabext'), [{locale: 'en-u-nu-arabext', numberingSystem: 'arabext'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-bali'), [{locale: 'en-u-nu-bali', numberingSystem: 'bali'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-beng'), [{locale: 'en-u-nu-beng', numberingSystem: 'beng'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-deva'), [{locale: 'en-u-nu-deva', numberingSystem: 'deva'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-fullwide'), [{locale: 'en-u-nu-fullwide', numberingSystem: 'fullwide'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-gujr'), [{locale: 'en-u-nu-gujr', numberingSystem: 'gujr'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-guru'), [{locale: 'en-u-nu-guru', numberingSystem: 'guru'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-hanidec'), [{locale: 'en-u-nu-hanidec', numberingSystem: 'hanidec'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-khmr'), [{locale: 'en-u-nu-khmr', numberingSystem: 'khmr'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-knda'), [{locale: 'en-u-nu-knda', numberingSystem: 'knda'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-laoo'), [{locale: 'en-u-nu-laoo', numberingSystem: 'laoo'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-latn'), [{locale: 'en-u-nu-latn', numberingSystem: 'latn'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-limb'), [{locale: 'en-u-nu-limb', numberingSystem: 'limb'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-mlym'), [{locale: 'en-u-nu-mlym', numberingSystem: 'mlym'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-mong'), [{locale: 'en-u-nu-mong', numberingSystem: 'mong'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-mymr'), [{locale: 'en-u-nu-mymr', numberingSystem: 'mymr'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-orya'), [{locale: 'en-u-nu-orya', numberingSystem: 'orya'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-tamldec'), [{locale: 'en-u-nu-tamldec', numberingSystem: 'tamldec'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-telu'), [{locale: 'en-u-nu-telu', numberingSystem: 'telu'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-thai'), [{locale: 'en-u-nu-thai', numberingSystem: 'thai'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en-u-nu-tibt'), [{locale: 'en-u-nu-tibt', numberingSystem: 'tibt'}]) is true |
| PASS Intl.NumberFormat('en-u-nu-arab').format(1234567890) is '١٬٢٣٤٬٥٦٧٬٨٩٠' |
| PASS Intl.NumberFormat('en-u-nu-arabext').format(1234567890) is '۱٬۲۳۴٬۵۶۷٬۸۹۰' |
| PASS Intl.NumberFormat('en-u-nu-bali').format(1234567890) is '᭑,᭒᭓᭔,᭕᭖᭗,᭘᭙᭐' |
| PASS Intl.NumberFormat('en-u-nu-beng').format(1234567890) is '১,২৩৪,৫৬৭,৮৯০' |
| PASS Intl.NumberFormat('en-u-nu-deva').format(1234567890) is '१,२३४,५६७,८९०' |
| PASS Intl.NumberFormat('en-u-nu-fullwide').format(1234567890) is '1,234,567,890' |
| PASS Intl.NumberFormat('en-u-nu-gujr').format(1234567890) is '૧,૨૩૪,૫૬૭,૮૯૦' |
| PASS Intl.NumberFormat('en-u-nu-guru').format(1234567890) is '੧,੨੩੪,੫੬੭,੮੯੦' |
| PASS Intl.NumberFormat('en-u-nu-hanidec').format(1234567890) is '一,二三四,五六七,八九〇' |
| PASS Intl.NumberFormat('en-u-nu-khmr').format(1234567890) is '១,២៣៤,៥៦៧,៨៩០' |
| PASS Intl.NumberFormat('en-u-nu-knda').format(1234567890) is '೧,೨೩೪,೫೬೭,೮೯೦' |
| PASS Intl.NumberFormat('en-u-nu-laoo').format(1234567890) is '໑,໒໓໔,໕໖໗,໘໙໐' |
| PASS Intl.NumberFormat('en-u-nu-latn').format(1234567890) is '1,234,567,890' |
| PASS Intl.NumberFormat('en-u-nu-limb').format(1234567890) is '᥇,᥈᥉᥊,᥋᥌᥍,᥎᥏᥆' |
| PASS Intl.NumberFormat('en-u-nu-mlym').format(1234567890) is '൧,൨൩൪,൫൬൭,൮൯൦' |
| PASS Intl.NumberFormat('en-u-nu-mong').format(1234567890) is '᠑,᠒᠓᠔,᠕᠖᠗,᠘᠙᠐' |
| PASS Intl.NumberFormat('en-u-nu-mymr').format(1234567890) is '၁,၂၃၄,၅၆၇,၈၉၀' |
| PASS Intl.NumberFormat('en-u-nu-orya').format(1234567890) is '୧,୨୩୪,୫୬୭,୮୯୦' |
| PASS Intl.NumberFormat('en-u-nu-tamldec').format(1234567890) is '௧,௨௩௪,௫௬௭,௮௯௦' |
| PASS Intl.NumberFormat('en-u-nu-telu').format(1234567890) is '౧,౨౩౪,౫౬౭,౮౯౦' |
| PASS Intl.NumberFormat('en-u-nu-thai').format(1234567890) is '๑,๒๓๔,๕๖๗,๘๙๐' |
| PASS Intl.NumberFormat('en-u-nu-tibt').format(1234567890) is '༡,༢༣༤,༥༦༧,༨༩༠' |
| PASS testNumberFormat(Intl.NumberFormat('zh-Hans-CN-u-aa-aaaa-co-pinyin-nu-hanidec-bb-bbbb'), [{locale: 'zh-Hans-CN-u-nu-hanidec', numberingSystem: 'hanidec'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {localeMatcher: 'lookup'}), [{locale: 'en'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {localeMatcher: 'best fit'}), [{locale: 'en'}]) is true |
| PASS Intl.NumberFormat('en', {localeMatcher: 'LookUp'}) threw exception RangeError: localeMatcher must be either "lookup" or "best fit". |
| PASS Intl.NumberFormat('en', { get localeMatcher() { throw 42; } }) threw exception 42. |
| PASS Intl.NumberFormat('en', {localeMatcher: {toString() { throw 42; }}}) threw exception 42. |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'decimal'}), [{locale: 'en', style: 'decimal'}]) is true |
| PASS Intl.NumberFormat('en', {style: 'currency'}) threw exception TypeError: currency must be a string. |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'percent'}), [{locale: 'en', style: 'percent', maximumFractionDigits: 0}]) is true |
| PASS Intl.NumberFormat('en', {style: 'Decimal'}) threw exception RangeError: style must be either "decimal", "percent", or "currency". |
| PASS Intl.NumberFormat('en', { get style() { throw 42; } }) threw exception 42. |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'USD'}), [{locale: 'en', style: 'currency', currency: 'USD', currencyDisplay: 'symbol', minimumFractionDigits: 2, maximumFractionDigits: 2}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'UsD'}), [{locale: 'en', style: 'currency', currency: 'USD', currencyDisplay: 'symbol', minimumFractionDigits: 2, maximumFractionDigits: 2}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'CLF'}), [{locale: 'en', style: 'currency', currency: 'CLF', currencyDisplay: 'symbol', minimumFractionDigits: 4, maximumFractionDigits: 4}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'cLf'}), [{locale: 'en', style: 'currency', currency: 'CLF', currencyDisplay: 'symbol', minimumFractionDigits: 4, maximumFractionDigits: 4}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'XXX'}), [{locale: 'en', style: 'currency', currency: 'XXX', currencyDisplay: 'symbol', minimumFractionDigits: 2, maximumFractionDigits: 2}]) is true |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'US$'}) threw exception RangeError: currency is not a well-formed currency code. |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'US'}) threw exception RangeError: currency is not a well-formed currency code. |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'US Dollar'}) threw exception RangeError: currency is not a well-formed currency code. |
| PASS Intl.NumberFormat('en', {style: 'currency', get currency() { throw 42; }}) threw exception 42. |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'decimal', currency: 'USD'}), [{locale: 'en', style: 'decimal'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'USD', currencyDisplay: 'code'}), [{locale: 'en', style: 'currency', currency: 'USD', currencyDisplay: 'code', minimumFractionDigits: 2, maximumFractionDigits: 2}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'USD', currencyDisplay: 'symbol'}), [{locale: 'en', style: 'currency', currency: 'USD', currencyDisplay: 'symbol', minimumFractionDigits: 2, maximumFractionDigits: 2}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'currency', currency: 'USD', currencyDisplay: 'name'}), [{locale: 'en', style: 'currency', currency: 'USD', currencyDisplay: 'name', minimumFractionDigits: 2, maximumFractionDigits: 2}]) is true |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD', currencyDisplay: 'Code'}) threw exception RangeError: currencyDisplay must be either "code", "symbol", or "name". |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD', get currencyDisplay() { throw 42; }}) threw exception 42. |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'decimal', currencyDisplay: 'code'}), [{locale: 'en', style: 'decimal'}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumIntegerDigits: 1}), [{locale: 'en', minimumIntegerDigits: 1}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumIntegerDigits: '2'}), [{locale: 'en', minimumIntegerDigits: 2}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumIntegerDigits: {valueOf() { return 3; }}}), [{locale: 'en', minimumIntegerDigits: 3}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumIntegerDigits: 4.9}), [{locale: 'en', minimumIntegerDigits: 4}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumIntegerDigits: 21}), [{locale: 'en', minimumIntegerDigits: 21}]) is true |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: 0}) threw exception RangeError: minimumIntegerDigits is out of range. |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: 22}) threw exception RangeError: minimumIntegerDigits is out of range. |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: 0.9}) threw exception RangeError: minimumIntegerDigits is out of range. |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: 21.1}) threw exception RangeError: minimumIntegerDigits is out of range. |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: NaN}) threw exception RangeError: minimumIntegerDigits is out of range. |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: Infinity}) threw exception RangeError: minimumIntegerDigits is out of range. |
| PASS Intl.NumberFormat('en', { get minimumIntegerDigits() { throw 42; } }) threw exception 42. |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: {valueOf() { throw 42; }}}) threw exception 42. |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumFractionDigits: 0}), [{locale: 'en', minimumFractionDigits: 0, maximumFractionDigits: 3}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {style: 'percent', minimumFractionDigits: 0}), [{locale: 'en', style: 'percent', minimumFractionDigits: 0, maximumFractionDigits: 0}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumFractionDigits: 6}), [{locale: 'en', minimumFractionDigits: 6, maximumFractionDigits: 6}]) is true |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: -1}) threw exception RangeError: minimumFractionDigits is out of range. |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 21}) threw exception RangeError: minimumFractionDigits is out of range. |
| PASS testNumberFormat(Intl.NumberFormat('en', {maximumFractionDigits: 6}), [{locale: 'en', maximumFractionDigits: 6}]) is true |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 7, maximumFractionDigits: 6}) threw exception RangeError: maximumFractionDigits is out of range. |
| PASS Intl.NumberFormat('en', {maximumFractionDigits: -1}) threw exception RangeError: maximumFractionDigits is out of range. |
| PASS Intl.NumberFormat('en', {maximumFractionDigits: 21}) threw exception RangeError: maximumFractionDigits is out of range. |
| PASS testNumberFormat(Intl.NumberFormat('en', {minimumSignificantDigits: 6}), [{locale: 'en', minimumSignificantDigits: 6, maximumSignificantDigits: 21}]) is true |
| PASS Intl.NumberFormat('en', {minimumSignificantDigits: 0}) threw exception RangeError: minimumSignificantDigits is out of range. |
| PASS Intl.NumberFormat('en', {minimumSignificantDigits: 22}) threw exception RangeError: minimumSignificantDigits is out of range. |
| PASS testNumberFormat(Intl.NumberFormat('en', {maximumSignificantDigits: 6}), [{locale: 'en', minimumSignificantDigits: 1, maximumSignificantDigits: 6}]) is true |
| PASS Intl.NumberFormat('en', {minimumSignificantDigits: 7, maximumSignificantDigits: 6}) threw exception RangeError: maximumSignificantDigits is out of range. |
| PASS Intl.NumberFormat('en', {maximumSignificantDigits: 0}) threw exception RangeError: maximumSignificantDigits is out of range. |
| PASS Intl.NumberFormat('en', {maximumSignificantDigits: 22}) threw exception RangeError: maximumSignificantDigits is out of range. |
| PASS testNumberFormat(Intl.NumberFormat('en', {useGrouping: true}), [{locale: 'en', useGrouping: true}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {useGrouping: false}), [{locale: 'en', useGrouping: false}]) is true |
| PASS testNumberFormat(Intl.NumberFormat('en', {useGrouping: 'false'}), [{locale: 'en', useGrouping: true}]) is true |
| PASS Intl.NumberFormat('en', { get useGrouping() { throw 42; } }) threw exception 42. |
| PASS Intl.NumberFormat.length is 0 |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat, 'prototype').writable is false |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat, 'prototype').enumerable is false |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat, 'prototype').configurable is false |
| PASS Intl.NumberFormat.supportedLocalesOf.length is 1 |
| PASS Intl.NumberFormat.supportedLocalesOf() is an instance of Array |
| PASS Intl.NumberFormat.supportedLocalesOf.call(null, 'en') is [ 'en' ] |
| PASS Intl.NumberFormat.supportedLocalesOf.call({}, 'en') is [ 'en' ] |
| PASS Intl.NumberFormat.supportedLocalesOf.call(1, 'en') is [ 'en' ] |
| PASS Intl.NumberFormat.supportedLocalesOf(9) is [] |
| PASS Intl.NumberFormat.supportedLocalesOf('en') is [ 'en' ] |
| PASS Intl.NumberFormat.supportedLocalesOf({ length: 4, 1: 'en', 0: 'es', 3: 'de' }) is [ 'es', 'en', 'de' ] |
| PASS Intl.NumberFormat.supportedLocalesOf([ 'en', 'pt', 'en', 'es' ]) is [ 'en', 'pt', 'es' ] |
| PASS Intl.NumberFormat.supportedLocalesOf('En-laTn-us-variant2-variant1-1abc-U-ko-tRue-A-aa-aaa-x-RESERVED') is [ 'en-Latn-US-variant2-variant1-1abc-a-aa-aaa-u-ko-true-x-reserved' ] |
| PASS Intl.NumberFormat.supportedLocalesOf('no-bok') is [ 'nb' ] |
| PASS Intl.NumberFormat.supportedLocalesOf('x-some-thing') is [] |
| PASS Intl.NumberFormat.supportedLocalesOf(Object.create(null, { length: { get() { throw Error('a') } } })) threw exception Error: a. |
| PASS Intl.NumberFormat.supportedLocalesOf(Object.create(null, { length: { value: 1 }, 0: { get() { throw Error('b') } } })) threw exception Error: b. |
| PASS Intl.NumberFormat.supportedLocalesOf([ { toString() { throw Error('c') } } ]) threw exception Error: c. |
| PASS Intl.NumberFormat.supportedLocalesOf([ 5 ]) threw exception TypeError: locale value must be a string or object. |
| PASS Intl.NumberFormat.supportedLocalesOf('') threw exception RangeError: invalid language tag: . |
| PASS Intl.NumberFormat.supportedLocalesOf('a') threw exception RangeError: invalid language tag: a. |
| PASS Intl.NumberFormat.supportedLocalesOf('abcdefghij') threw exception RangeError: invalid language tag: abcdefghij. |
| PASS Intl.NumberFormat.supportedLocalesOf('#$') threw exception RangeError: invalid language tag: #$. |
| PASS Intl.NumberFormat.supportedLocalesOf('en-@-abc') threw exception RangeError: invalid language tag: en-@-abc. |
| PASS Intl.NumberFormat.supportedLocalesOf('en-u') threw exception RangeError: invalid language tag: en-u. |
| PASS Intl.NumberFormat.supportedLocalesOf('en-u-kn-true-u-ko-true') threw exception RangeError: invalid language tag: en-u-kn-true-u-ko-true. |
| PASS Intl.NumberFormat.supportedLocalesOf('en-x') threw exception RangeError: invalid language tag: en-x. |
| PASS Intl.NumberFormat.supportedLocalesOf('en-*') threw exception RangeError: invalid language tag: en-*. |
| PASS Intl.NumberFormat.supportedLocalesOf('en-') threw exception RangeError: invalid language tag: en-. |
| PASS Intl.NumberFormat.supportedLocalesOf('en--US') threw exception RangeError: invalid language tag: en--US. |
| PASS Intl.NumberFormat.supportedLocalesOf('de') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('de-DE') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('DE-de') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('cmn') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('cmn-Hans') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('CMN-hANS') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('cmn-hans-cn') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('es-419') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('es-419-u-nu-latn-cu-bob') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('i-klingon') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('cmn-hans-cn-t-ca-u-ca-x-t-u') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('enochian-enochian') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('de-gregory-u-ca-gregory') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('aa-a-foo-x-a-foo-bar') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('x-en-US-12345') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('x-12345-12345-en-US') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('x-en-US-12345-12345') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('x-en-u-foo') did not throw exception. |
| PASS Intl.NumberFormat.supportedLocalesOf('x-en-u-foo-u-bar') did not throw exception. |
| PASS Object.getPrototypeOf(Intl.NumberFormat.prototype) is Object.prototype |
| PASS Intl.NumberFormat.prototype.constructor is Intl.NumberFormat |
| PASS Intl.NumberFormat.prototype[Symbol.toStringTag] is 'Object' |
| PASS Object.prototype.toString.call(Intl.NumberFormat.prototype) is '[object Object]' |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, Symbol.toStringTag).writable is false |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, Symbol.toStringTag).enumerable is false |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, Symbol.toStringTag).configurable is true |
| PASS defaultNFormat.format is an instance of Function |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, 'format').get is an instance of Function |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, 'format').set is undefined |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, 'format').enumerable is false |
| PASS Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, 'format').configurable is true |
| PASS defaultNFormat.format.length is 1 |
| PASS Intl.NumberFormat.prototype.format threw exception TypeError: Intl.NumberFormat.prototype.format called on value that's not an object initialized as a NumberFormat. |
| PASS Object.defineProperty({}, 'format', Object.getOwnPropertyDescriptor(Intl.NumberFormat.prototype, 'format')).format threw exception TypeError: Intl.NumberFormat.prototype.format called on value that's not an object initialized as a NumberFormat. |
| PASS new Intl.NumberFormat().format !== new Intl.NumberFormat().format is true |
| PASS defaultNFormat.format({ valueOf() { throw Error('5') } }) threw exception Error: 5. |
| PASS defaultNFormat.format.call(null, 1.2) is Intl.NumberFormat().format(1.2) |
| PASS defaultNFormat.format.call(Intl.DateTimeFormat('ar'), 1.2) is Intl.NumberFormat().format(1.2) |
| PASS defaultNFormat.format.call(5, 1.2) is Intl.NumberFormat().format(1.2) |
| PASS Intl.NumberFormat('en').format(42) is '42' |
| PASS Intl.NumberFormat('en').format('42') is '42' |
| PASS Intl.NumberFormat('en').format({ valueOf() { return 42; } }) is '42' |
| PASS Intl.NumberFormat('en').format('one') is 'NaN' |
| PASS Intl.NumberFormat('en').format(NaN) is 'NaN' |
| PASS Intl.NumberFormat('en').format(Infinity) is '∞' |
| PASS Intl.NumberFormat('en').format(-Infinity) is '-∞' |
| PASS Intl.NumberFormat('en').format(0) is '0' |
| PASS Intl.NumberFormat('en').format(-0) is '-0' |
| PASS Intl.NumberFormat('en').format(Number.MIN_VALUE) is '0' |
| PASS Intl.NumberFormat('en', { maximumSignificantDigits: 15 }).format(Number.MAX_VALUE) is '179,769,313,486,232,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000' |
| PASS Intl.NumberFormat('en').format(1234.567) is '1,234.567' |
| PASS Intl.NumberFormat('es').format(1234.567) is '1.234,567' |
| PASS Intl.NumberFormat('de').format(1234.567) is '1.234,567' |
| PASS Intl.NumberFormat('en-u-nu-latn').format(1234.567) is '1,234.567' |
| PASS Intl.NumberFormat('en-u-nu-fullwide').format(1234.567) is '1,234.567' |
| PASS Intl.NumberFormat('th-u-nu-thai').format(1234.567) is '๑,๒๓๔.๕๖๗' |
| PASS Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec').format(1234.567) is '一,二三四.五六七' |
| PASS Intl.NumberFormat('en', {style: 'decimal'}).format(4.2) is '4.2' |
| PASS Intl.NumberFormat('en', {style: 'percent'}).format(4.2) is '420%' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD'}).format(4.2) is '$4.20' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD'}).format(4) is '$4.00' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD'}).format(4.2) is '$4.20' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD'}).format(-4.2) is '-$4.20' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD'}).format(NaN).includes('NaN') is true |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD'}).format(Infinity) is '$∞' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'JPY'}).format(4.2) is '¥4' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'xXx', currencyDisplay: 'code'}).format(4.2).includes('XXX') is true |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD', currencyDisplay: 'code'}).format(4).includes('USD') is true |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD', currencyDisplay: 'symbol'}).format(4) is '$4.00' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'USD', currencyDisplay: 'name'}).format(4) is '4.00 US dollars' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'JPY', currencyDisplay: 'code'}).format(-4.2).includes('JPY') is true |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'JPY', currencyDisplay: 'symbol'}).format(-4.2) is '-¥4' |
| PASS Intl.NumberFormat('en', {style: 'currency', currency: 'JPY', currencyDisplay: 'name'}).format(-4.2) is '-4 Japanese yen' |
| PASS Intl.NumberFormat('fr', {style: 'currency', currency: 'USD', currencyDisplay: 'name'}).format(4) is '4,00 dollars des États-Unis' |
| PASS Intl.NumberFormat('fr', {style: 'currency', currency: 'JPY', currencyDisplay: 'name'}).format(4) is '4 yens japonais' |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: 4}).format(12) is '0,012' |
| PASS Intl.NumberFormat('en', {minimumIntegerDigits: 4}).format(12345) is '12,345' |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 3}).format(1) is '1.000' |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 3}).format(1.2) is '1.200' |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 3}).format(1.2345) is '1.235' |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 3, maximumFractionDigits: 4}).format(1.2345) is '1.2345' |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 3, maximumFractionDigits: 4}).format(1.23454) is '1.2345' |
| PASS Intl.NumberFormat('en', {minimumFractionDigits: 3, maximumFractionDigits: 4}).format(1.23455) is '1.2346' |
| PASS Intl.NumberFormat('en', {maximumFractionDigits: 0}).format(0.5) is '1' |
| PASS Intl.NumberFormat('en', {maximumFractionDigits: 0}).format(0.4) is '0' |
| PASS Intl.NumberFormat('en', {maximumFractionDigits: 0}).format(-0.4) is '-0' |
| PASS Intl.NumberFormat('en', {maximumFractionDigits: 0}).format(-0.5) is '-1' |
| PASS Intl.NumberFormat('en', {minimumSignificantDigits: 4}).format(0.12) is '0.1200' |
| PASS Intl.NumberFormat('en', {minimumSignificantDigits: 4}).format(1.2) is '1.200' |
| PASS Intl.NumberFormat('en', {minimumSignificantDigits: 4}).format(12) is '12.00' |
| PASS Intl.NumberFormat('en', {minimumSignificantDigits: 4}).format(123456) is '123,456' |
| PASS Intl.NumberFormat('en', {maximumSignificantDigits: 4}).format(0.1) is '0.1' |
| PASS Intl.NumberFormat('en', {maximumSignificantDigits: 4}).format(0.1234567) is '0.1235' |
| PASS Intl.NumberFormat('en', {maximumSignificantDigits: 4}).format(1234567) is '1,235,000' |
| PASS Intl.NumberFormat('en', {useGrouping: true}).format(1234567.123) is '1,234,567.123' |
| PASS Intl.NumberFormat('es', {useGrouping: true}).format(1234567.123) is '1.234.567,123' |
| PASS Intl.NumberFormat('de', {useGrouping: true}).format(1234567.123) is '1.234.567,123' |
| PASS Intl.NumberFormat('en', {useGrouping: false}).format(1234567.123) is '1234567.123' |
| PASS Intl.NumberFormat('es', {useGrouping: false}).format(1234567.123) is '1234567,123' |
| PASS Intl.NumberFormat('de', {useGrouping: false}).format(1234567.123) is '1234567,123' |
| PASS Intl.NumberFormat.prototype.resolvedOptions.length is 0 |
| PASS defaultNFormat.resolvedOptions() is an instance of Object |
| PASS defaultNFormat.resolvedOptions() === defaultNFormat.resolvedOptions() is false |
| PASS Intl.NumberFormat.prototype.resolvedOptions() threw exception TypeError: Intl.NumberFormat.prototype.resolvedOptions called on value that's not an object initialized as a NumberFormat. |
| PASS Intl.NumberFormat.prototype.resolvedOptions.call(5) threw exception TypeError: Intl.NumberFormat.prototype.resolvedOptions called on value that's not an object initialized as a NumberFormat. |
| PASS var options = defaultNFormat.resolvedOptions(); delete options['locale']; JSON.stringify(options) is '{"numberingSystem":"latn","style":"decimal","minimumIntegerDigits":1,"minimumFractionDigits":0,"maximumFractionDigits":3,"useGrouping":true}' |
| PASS var legacy = Object.create(Intl.NumberFormat.prototype);Intl.NumberFormat.apply(legacy) is legacy |
| PASS var legacy = Object.create(Intl.NumberFormat.prototype);Intl.NumberFormat.call(legacy, 'en-u-nu-arab').format(1.2345) is '١٫٢٣٥' |
| PASS var incompat = {};Intl.NumberFormat.apply(incompat) is not incompat |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |