2022-05-03 17:19:32 +02:00
|
|
|
// Copyright 2022 Igalia, S.L. All rights reserved.
|
|
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
|
|
|
|
/*---
|
|
|
|
esid: sec-Intl.DurationFormat
|
|
|
|
description: Checks handling of valid options for the DurationFormat constructor.
|
|
|
|
info: |
|
|
|
|
Intl.DurationFormat ( [ locales [ , options ] ] )
|
|
|
|
(...)
|
|
|
|
17. For each row in Table 1, except the header row, in table order, do
|
|
|
|
a. Let styleSlot be the Style Slot value.
|
|
|
|
b. Let displaySlot be the Display Slot value.
|
|
|
|
c. Let unit be the Unit value.
|
|
|
|
d. Let valueList be the Values value.
|
|
|
|
e. Let digitalBase be the Digital Default value.
|
|
|
|
f. Let unitOptions be ? GetUnitOptions(unit, options, style, valueList, digitalBase, prevStyle).
|
|
|
|
g. Set durationFormat.[[<styleSlot>]] to unitOptions.[[Style]].
|
|
|
|
h. Set durationFormat.[[<displaySlot>]] to unitOptions.[[Display]].
|
|
|
|
features: [Intl.DurationFormat]
|
|
|
|
includes: [testIntl.js]
|
|
|
|
---*/
|
|
|
|
|
Fix DurationFormat default tests (#3640)
1. add the test for "seconds"
2. since the default value for "style" is "long", baseStyle for GetDurationUnitOptions is "long" and therefore the
last argument in testOption should be "long"
3. the valid values for "days" does not contains "numeric", and "2-digit". remove them.
4. the valid values for "milliseconds", "microseconds" and "nanoseconds" does not contains "2-digit". remove it.
See https://tc39.es/proposal-intl-duration-format/#table-duration-components about the valid value
notice the last colum is for "Digital Default" while the baseStyle is "digital" but the set up does not set it that way, the default value for "style" is "long" as in
```
13. Let style be ? GetOption(options, "style", "string", « "long", "short", "narrow", "digital" », "long").
```
of https://tc39.es/proposal-intl-duration-format/#sec-Intl.DurationFormat
* Sync to PR 121
Change default from "long" to "short"
2022-09-14 21:51:40 +02:00
|
|
|
testOption( Intl.DurationFormat, "years", "string", ["long", "short", "narrow"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "months", "string", ["long", "short", "narrow"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "weeks", "string", ["long", "short", "narrow"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "days", "string", ["long", "short", "narrow"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "hours", "string", ["long", "short", "narrow", "numeric", "2-digit"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "minutes", "string", ["long", "short", "narrow", "numeric", "2-digit"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "seconds", "string", ["long", "short", "narrow", "numeric", "2-digit"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "milliseconds", "string", ["long", "short", "narrow", "numeric"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "microseconds", "string", ["long", "short", "narrow", "numeric"], "short");
|
|
|
|
testOption( Intl.DurationFormat, "nanoseconds", "string", ["long", "short", "narrow", "numeric"], "short");
|
2022-05-03 17:19:32 +02:00
|
|
|
|