mirror of https://github.com/tc39/test262.git
Added tests to verify that use of "long", "short", or "narrow" styles for units following units using "numeric" or "2-digit" styles throws
This commit is contained in:
parent
67a5153cf5
commit
80590ce79a
|
@ -0,0 +1,43 @@
|
|||
// Copyright 2023 Igalia, S.L. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-isvaliddurationrecord
|
||||
description: Checks that the "long", "short", and "narrow" styles can't be used for units following a unit using the "numeric" or "2-digit" style.
|
||||
info: |
|
||||
GetDurationUnitOptions (unit, options, baseStyle, stylesList, digitalBase, prevStyle)
|
||||
(...)
|
||||
6. If prevStyle is "numeric" or "2-digit", then
|
||||
a. If style is not "numeric" or "2-digit", then
|
||||
i. Throw a RangeError exception.
|
||||
features: [Intl.DurationFormat]
|
||||
---*/
|
||||
|
||||
let invalidOptions = {};
|
||||
for (const timeUnit of ["hours", "minutes", "seconds", "milliseconds", "microseconds", "nanoseconds"]){
|
||||
invalidOptions[timeUnit] = "numeric";
|
||||
}
|
||||
|
||||
for (const timeUnit of ["minutes", "seconds", "milliseconds", "microseconds", "nanoseconds"]){
|
||||
for (const invalidStyle of ["long", "short", "narrow"]){
|
||||
invalidOptions[timeUnit] = invalidStyle;
|
||||
assert.throws(RangeError, function() {
|
||||
new Intl.DurationFormat([], invalidOptions);
|
||||
}, `${invalidStyle} is an invalid style option value when following a unit with \"numeric\" style`);
|
||||
}
|
||||
invalidOptions[timeUnit] = "numeric";
|
||||
}
|
||||
|
||||
for (const timeUnit of ["hours", "minutes", "seconds"]){
|
||||
invalidOptions[timeUnit] = "2-digit";
|
||||
}
|
||||
|
||||
for (const timeUnit of ["minutes", "seconds", "milliseconds"]){
|
||||
for (const invalidStyle of ["long", "short", "narrow"]){
|
||||
invalidOptions[timeUnit] = invalidStyle;
|
||||
assert.throws(RangeError, function() {
|
||||
new Intl.DurationFormat([], invalidOptions);
|
||||
}, `${invalidStyle} is an invalid style option value when following a unit with \"2-digit\" style`);
|
||||
}
|
||||
invalidOptions[timeUnit] = "2-digit";
|
||||
}
|
Loading…
Reference in New Issue