browser.js |
|
0 |
builtin.js |
---
es5id: 12.1_L15
description: >
Tests that Intl.DateTimeFormat meets the requirements for
built-in objects defined by the introduction of chapter 17 of the
ECMAScript Language Specification.
author: Norbert Lindenberg
--- |
777 |
canonicalize-calendar.js |
---
esid: sec-intl.datetimeformat
description: Calendar IDs are canonicalized
locale: [en, en-u-ca-islamic-civil]
--- |
958 |
casing-numbering-system-calendar-options.js |
---
esid: sec-createdatetimeformat
description: >
Tests that the options numberingSystem and calendar are mapped
to lower case properly.
author: Caio Lima
features: [Array.prototype.includes]
--- |
1783 |
constructor-calendar-numberingSystem-order.js |
---
esid: sec-createdatetimeformat
description: >
Checks the order of getting "calendar" and "numberingSystem" options in the
DateTimeFormat is between "localeMatcher" and "hour12" options.
info: |
5. Let _matcher_ be ? GetOption(_options_, `"localeMatcher"`, ~string~, « `"lookup"`, `"best fit"` », `"best fit"`).
...
7. Let _calendar_ be ? GetOption(_options_, `"calendar"`, ~string~ , ~empty~, *undefined*).
...
10. Let _numberingSystem_ be ? GetOption(_options_, `"numberingSystem"`, ~string~, ~empty~, *undefined*).
...
13. Let _hour12_ be ? GetOption(_options_, `"hour12"`, ~boolean~, ~empty~, *undefined*).
includes: [compareArray.js]
--- |
1370 |
constructor-default-value.js |
---
esid: sec-createdatetimeformat
description: >
Tests that the constructor for Intl.DateTimeFormat uses appropriate default
values for its arguments (locales and options).
--- |
855 |
constructor-invalid-offset-timezone.js |
---
esid: sec-createdatetimeformat
description: Tests that invalid offset time zones are rejected.
--- |
783 |
constructor-no-instanceof.js |
---
esid: sec-intl-datetimeformat-constructor
description: >
Tests that the Intl.DateTimeFormat constructor calls
OrdinaryHasInstance instead of the instanceof operator which includes a
Symbol.hasInstance lookup and call among other things.
info: >
ChainDateTimeFormat ( dateTimeFormat, newTarget, this )
1. If newTarget is undefined and ? OrdinaryHasInstance(%DateTimeFormat%, this) is true, then
a. Perform ? DefinePropertyOrThrow(this, %Intl%.[[FallbackSymbol]], PropertyDescriptor{
[[Value]]: dateTimeFormat, [[Writable]]: false, [[Enumerable]]: false,
[[Configurable]]: false }).
b. Return this.
--- |
939 |
constructor-options-calendar-invalid.js |
---
esid: sec-createdatetimeformat
description: >
Checks error cases for the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
8. If calendar is not undefined, then
a. If calendar does not match the Unicode Locale Identifier type nonterminal, throw a RangeError exception.
--- |
1136 |
constructor-options-dateStyle-invalid.js |
---
esid: sec-createdatetimeformat
description: >
Checks error cases for the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
39. Let dateStyle be ? GetOption(options, "dateStyle", "string", « "full", "long", "medium", "short" », undefined).
features: [Intl.DateTimeFormat-datetimestyle]
--- |
871 |
constructor-options-dateStyle-valid.js |
---
esid: sec-createdatetimeformat
description: >
Checks handling of the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
39. Let dateStyle be ? GetOption(options, "dateStyle", "string", « "full", "long", "medium", "short" », undefined).
40. If dateStyle is not undefined, set dateTimeFormat.[[DateStyle]] to dateStyle.
features: [Intl.DateTimeFormat-datetimestyle]
--- |
1306 |
constructor-options-dayPeriod-invalid.js |
---
esid: sec-createdatetimeformat
description: >
Checks error cases for the options argument to the DateTimeFormat constructor.
info: |
[[DayPeriod]] `"dayPeriod"` `"narrow"`, `"short"`, `"long"`
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
features: [Intl.DateTimeFormat-dayPeriod]
--- |
803 |
constructor-options-dayPeriod-valid.js |
---
esid: sec-createdatetimeformat
description: >
Checks handling of the options argument to the DateTimeFormat constructor.
info: |
[[DayPeriod]] `"dayPeriod"` `"narrow"`, `"short"`, `"long"`
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
features: [Intl.DateTimeFormat-dayPeriod]
--- |
1138 |
constructor-options-fractionalSecondDigits-invalid.js |
---
esid: sec-createdatetimeformat
description: >
Checks error cases for the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
37. For each row of Table 7, except the header row, in table order, do
a. Let prop be the name given in the Property column of the row.
b. If prop is "fractionalSecondDigits", then
i. Let value be ? GetNumberOption(options, "fractionalSecondDigits", 1, 3, undefined).
features: [Intl.DateTimeFormat-fractionalSecondDigits]
--- |
1146 |
constructor-options-fractionalSecondDigits-valid.js |
---
esid: sec-createdatetimeformat
description: >
Checks handling of the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
37. For each row of Table 7, except the header row, in table order, do
a. Let prop be the name given in the Property column of the row.
b. If prop is "fractionalSecondDigits", then
i. Let value be ? GetNumberOption(options, "fractionalSecondDigits", 1, 3, undefined).
features: [Intl.DateTimeFormat-fractionalSecondDigits]
--- |
1396 |
constructor-options-invalid-explicit-components.js |
---
esid: sec-createdatetimeformat
description: >
Verifies that constructor throws when dateStyle is combined with explicit format components.
info: |
CreateDateTimeFormat ( newTarget, locales, options, required, defaults )
...
39. Let dateStyle be ? GetOption(options, "dateStyle", string, « "full", "long", "medium", "short" », undefined).
40. Set dateTimeFormat.[[DateStyle]] to dateStyle.
41. Let timeStyle be ? GetOption(options, "timeStyle", string, « "full", "long", "medium", "short" », undefined).
42. Set dateTimeFormat.[[TimeStyle]] to timeStyle.
43. If dateStyle is not undefined or timeStyle is not undefined, then
a. If hasExplicitFormatComponents is true, then
i. Throw a TypeError exception.
--- |
2726 |
constructor-options-numberingSystem-invalid.js |
---
esid: sec-createdatetimeformat
description: >
Checks error cases for the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
27. If numberingSystem is not undefined, then
a. If numberingSystem does not match the Unicode Locale Identifier type nonterminal, throw a RangeError exception.
--- |
1171 |
constructor-options-order-dayPeriod.js |
---
esid: sec-createdatetimeformat
description: Checks the order of getting options of 'dayPeriod' for the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( newTarget, locales, options, required, defaults )
...
36. For each row of Table 7, except the header row, in table order, do
a. Let prop be the name given in the Property column of the row.
b. If prop is "fractionalSecondDigits", then
i. Let value be ? GetNumberOption(options, "fractionalSecondDigits", 1, 3, undefined).
c. Else,
i. Let values be a List whose elements are the strings given in the Values column of the row.
ii. Let value be ? GetOption(options, prop, string, values, undefined).
d. Set formatOptions.[[<prop>]] to value.
...
includes: [compareArray.js]
features: [Intl.DateTimeFormat-dayPeriod]
--- |
1458 |
constructor-options-order-fractionalSecondDigits.js |
---
esid: sec-createdatetimeformat
description: Checks the order of getting options of 'fractionalSecondDigits' for the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( newTarget, locales, options, required, defaults )
...
4. Let matcher be ? GetOption(options, "localeMatcher", "string", « "lookup", "best fit" », "best fit").
...
36. For each row of Table 7, except the header row, in table order, do
a. Let prop be the name given in the Property column of the row.
b. If prop is "fractionalSecondDigits", then
i. Let value be ? GetNumberOption(options, "fractionalSecondDigits", 1, 3, undefined).
c. Else,
i. Let values be a List whose elements are the strings given in the Values column of the row.
ii. Let value be ? GetOption(options, prop, string, values, undefined).
d. Set formatOptions.[[<prop>]] to value.
37. Let matcher be ? GetOption(options, "formatMatcher", "string", « "basic", "best fit" », "best fit").
...
includes: [compareArray.js]
features: [Intl.DateTimeFormat-fractionalSecondDigits]
--- |
2143 |
constructor-options-order-timedate-style.js |
---
esid: sec-createdatetimeformat
description: Checks the order of getting options for the DateTimeFormat constructor.
includes: [compareArray.js]
features: [Intl.DateTimeFormat-datetimestyle]
--- |
2204 |
constructor-options-order.js |
---
esid: sec-createdatetimeformat
description: Checks the order of getting options for the DateTimeFormat constructor.
includes: [compareArray.js]
--- |
1857 |
constructor-options-style-conflict.js |
---
esid: sec-createdatetimeformat
description: >
Conflicting properties of dateStyle/timeStyle must be rejected with a TypeError for the options argument to the DateTimeFormat constructor.
info: |
InitializeDateTimeFormat ( dateTimeFormat, locales, options )
...
43. If dateStyle is not undefined or timeStyle is not undefined, then
a. If hasExplicitFormatComponents is true, then
i. Throw a TypeError exception.
b. If required is date and timeStyle is not undefined, then
i. Throw a TypeError exception.
c. If required is time and dateStyle is not undefined, then
i. Throw a TypeError exception.
--- |
1698 |
constructor-options-throwing-getters-dayPeriod.js |
---
esid: sec-createdatetimeformat
description: Checks the propagation of exceptions from the options for the DateTimeFormat constructor.
features: [Intl.DateTimeFormat-dayPeriod]
--- |
639 |
constructor-options-throwing-getters-fractionalSecondDigits.js |
---
esid: sec-createdatetimeformat
description: Checks the propagation of exceptions from the options for the DateTimeFormat constructor.
features: [Intl.DateTimeFormat-fractionalSecondDigits]
--- |
665 |
constructor-options-throwing-getters-timedate-style.js |
---
esid: sec-createdatetimeformat
description: Checks the propagation of exceptions from the options for the DateTimeFormat constructor.
features: [Intl.DateTimeFormat-datetimestyle]
--- |
820 |
constructor-options-throwing-getters.js |
---
esid: sec-createdatetimeformat
description: Checks the propagation of exceptions from the options for the DateTimeFormat constructor.
--- |
756 |
constructor-options-timeStyle-invalid.js |
---
esid: sec-createdatetimeformat
description: >
Checks error cases for the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, defaults )
...
41. Let timeStyle be ? GetOption(options, "timeStyle", "string", « "full", "long", "medium", "short" », undefined).
features: [Intl.DateTimeFormat-datetimestyle]
--- |
871 |
constructor-options-timeStyle-valid.js |
---
esid: sec-createdatetimeformat
description: >
Checks handling of the options argument to the DateTimeFormat constructor.
info: |
CreateDateTimeFormat ( dateTimeFormat, locales, options, required, default )
...
41. Let timeStyle be ? GetOption(options, "timeStyle", string, « "full", "long", "medium", "short" », undefined).
42. Set dateTimeFormat.[[TimeStyle]] to timeStyle.
features: [Intl.DateTimeFormat-datetimestyle]
--- |
1271 |
constructor-options-timeZoneName-invalid.js |
---
esid: sec-createdatetimeformat
description: >
Invalid values for the `timeZoneName` option of the DateTimeFormat constructor
features: [Intl.DateTimeFormat-extend-timezonename]
--- |
935 |
constructor-options-timeZoneName-valid.js |
---
esid: sec-createdatetimeformat
description: >
Valid values for the `timeZoneName` option of the DateTimeFormat constructor
features: [Intl.DateTimeFormat-extend-timezonename]
--- |
1169 |
constructor-options-toobject.js |
---
esid: sec-createdatetimeformat
description: >
Tests that Intl.DateTimeFormat contructor converts the options argument
to an object using `ToObject` (7.1.13).
--- |
1335 |
date-time-options.js |
---
es5id: 12.1.1_TDTO
description: >
Tests that the set of options for the date and time components is
processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
5007 |
default-options-object-prototype.js |
---
esid: sec-todatetimeoptions
description: >
Monkey-patching Object.prototype does not change the default
options for DateTimeFormat as a null prototype is used.
info: |
ToDateTimeOptions ( options, required, defaults )
1. If options is undefined, let options be null; otherwise let options be ? ToObject(options).
1. Let options be ObjectCreate(options).
--- |
753 |
ignore-invalid-unicode-ext-values.js |
---
es5id: 12.2.3_b
description: >
Tests that Intl.DateTimeFormat does not accept Unicode locale
extension keys and values that are not allowed.
author: Norbert Lindenberg
--- |
1892 |
instance-proto-and-extensible.js |
---
es5id: 12.1.3
description: >
Tests that objects constructed by Intl.DateTimeFormat have the
specified internal properties.
author: Norbert Lindenberg
--- |
674 |
intl-legacy-constructed-symbol-on-unwrap.js |
---
esid: sec-unwrapdatetimeformat
description: >
Tests that [[FallbackSymbol]]'s [[Description]] is "IntlLegacyConstructedSymbol" if normative optional is implemented.
author: Yusuke Suzuki
features: [intl-normative-optional]
--- |
1030 |
intl-legacy-constructed-symbol.js |
---
esid: sec-intl.datetimeformat
description: >
Tests that [[FallbackSymbol]]'s [[Description]] is "IntlLegacyConstructedSymbol" if normative optional is implemented.
author: Yusuke Suzuki
features: [intl-normative-optional]
--- |
676 |
legacy-regexp-statics-not-modified.js |
---
es5id: 12.1.1_a
description: >
Tests that constructing a DateTimeFormat doesn't create or modify
unwanted properties on the RegExp constructor.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
586 |
length.js |
---
esid: sec-intl.datetimeformat
description: >
Intl.DateTimeFormat.length is 0.
info: |
Intl.DateTimeFormat ( [ 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]
--- |
1146 |
name.js |
---
esid: sec-Intl.DateTimeFormat
description: >
Intl.DateTimeFormat.name is "DateTimeFormat".
info: |
12.2.1 Intl.DateTimeFormat ([ 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]
--- |
892 |
numbering-system-calendar-options.js |
---
esid: sec-createdatetimeformat
description: >
Tests that the options numberingSystem and calendar can be set through
either the locale or the options.
author: Norbert Lindenberg, Daniel Ehrenberg
--- |
2773 |
offset-timezone-no-unicode-minus-sign.js |
---
esid: sec-createdatetimeformat
description: >
A valid offset time zone identifier may not include U+2212 MINUS SIGN
--- |
530 |
prop-desc.js |
---
esid: sec-intl.datetimeformat-intro
description: >
"DateTimeFormat" property of Intl.
info: |
Intl.DateTimeFormat (...)
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]
--- |
1061 |
proto-from-ctor-realm.js |
---
esid: sec-intl.datetimeformat
description: Default [[Prototype]] value derived from realm of the NewTarget.
info: |
Intl.DateTimeFormat ( [ locales [ , options ] ] )
1. If NewTarget is undefined, let newTarget be the active function object, else let newTarget be NewTarget.
2. Let dateTimeFormat be ? OrdinaryCreateFromConstructor(newTarget, "%DateTimeFormatPrototype%", « ... »).
...
6. Return dateTimeFormat.
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]
--- |
2525 |
prototype |
|
|
required-date-time-formats.js |
---
es5id: 12.2.3_c
description: >
Tests that Intl.DateTimeFormat provides the required date-time
format component subsets.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
2109 |
shell.js |
|
0 |
subclassing.js |
---
es5id: 12.1.2
description: Tests that Intl.DateTimeFormat can be subclassed.
author: Norbert Lindenberg
includes: [compareArray.js]
--- |
1060 |
supportedLocalesOf |
|
|
taint-Object-prototype-date-time-components.js |
---
es5id: 12.1.1_22
description: >
Tests that the behavior of a Record is not affected by
adversarial changes to Object.prototype.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
676 |
taint-Object-prototype-dayPeriod.js |
---
esid: sec-createdatetimeformat
description: >
Tests that the behavior of a Record is not affected by
adversarial changes to Object.prototype.
includes: [testIntl.js]
features: [Intl.DateTimeFormat-dayPeriod]
--- |
626 |
taint-Object-prototype-fractionalSecondDigits.js |
---
esid: sec-createdatetimeformat
description: >
Tests that the behavior of a Record is not affected by
adversarial changes to Object.prototype.
includes: [testIntl.js]
features: [Intl.DateTimeFormat-fractionalSecondDigits]
--- |
653 |
taint-Object-prototype.js |
---
es5id: 12.1.1_5
description: >
Tests that the behavior of a Record is not affected by
adversarial changes to Object.prototype.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
610 |
test-option-date-time-components.js |
---
es5id: 12.1.1_23
description: >
Tests that the options for the date and time components are
processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
521 |
test-option-formatMatcher.js |
---
es5id: 12.1.1_25
description: Tests that the option formatMatcher is processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
421 |
test-option-hour12.js |
---
es5id: 12.1.1_18
description: Tests that the option hour12 is processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
533 |
test-option-localeMatcher.js |
---
es5id: 12.1.1_6
description: Tests that the option localeMatcher is processed correctly.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
421 |
this-value-ignored.js |
---
esid: sec-intl-datetimeformat-constructor
description: >
Tests that the this-value is ignored in DateTimeFormat, if the this-value
isn't a DateTimeFormat instance.
author: Norbert Lindenberg
includes: [testIntl.js]
--- |
1247 |
timezone-case-insensitive.js |
---
esid: sec-initializedatetimeformat
description: Time zone identifiers are case-normalized
--- |
13606 |
timezone-invalid.js |
---
es5id: 6.4_b
description: Tests that invalid time zone names are not accepted.
author: Norbert Lindenberg
--- |
892 |
timezone-legacy-non-iana.js |
---
esid: sec-initializedatetimeformat
description: Only IANA time zone identifiers are allowed.
--- |
806 |
timezone-not-canonicalized.js |
---
esid: sec-initializedatetimeformat
description: Time zone identifiers are not canonicalized before storing in internal slots
--- |
916 |
timezone-utc.js |
---
es5id: 6.4_a
description: Tests that valid time zone names are accepted.
author: Norbert Lindenberg
--- |
682 |