mirror of https://github.com/tc39/test262.git
Remove tests for "quarter" option of Intl.DateTimeFormat (#2232)
This commit is contained in:
parent
53d14f56bb
commit
f7e6656c13
|
@ -1,43 +0,0 @@
|
||||||
// Copyright 2019 Googe Inc. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
|
|
||||||
/*---
|
|
||||||
esid: sec-initializedatetimeformat
|
|
||||||
description: Checks the order of getting options of 'quarter' for the DateTimeFormat constructor.
|
|
||||||
info: |
|
|
||||||
ToDateTimeOptions ( options, required, defaults )
|
|
||||||
4. If required is "date" or "any", then
|
|
||||||
a. For each of the property names "weekday", "year", "quarter", "month", "day", do
|
|
||||||
includes: [compareArray.js]
|
|
||||||
features: [Intl.DateTimeFormat-quarter]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
// Just need to ensure quarter are get between year and month.
|
|
||||||
const expected = [
|
|
||||||
// ToDateTimeOptions step 4.
|
|
||||||
"year", "quarter", "month",
|
|
||||||
// InitializeDateTimeFormat step 22.
|
|
||||||
"year",
|
|
||||||
"quarter",
|
|
||||||
"month"
|
|
||||||
];
|
|
||||||
|
|
||||||
const actual = [];
|
|
||||||
|
|
||||||
const options = {
|
|
||||||
get month() {
|
|
||||||
actual.push("month");
|
|
||||||
return "numeric";
|
|
||||||
},
|
|
||||||
get quarter() {
|
|
||||||
actual.push("quarter");
|
|
||||||
return "long";
|
|
||||||
},
|
|
||||||
get year() {
|
|
||||||
actual.push("year");
|
|
||||||
return "numeric";
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
new Intl.DateTimeFormat("en", options);
|
|
||||||
assert.compareArray(actual, expected);
|
|
|
@ -1,29 +0,0 @@
|
||||||
// Copyright 2019 Google Inc. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
|
|
||||||
/*---
|
|
||||||
esid: sec-initializedatetimeformat
|
|
||||||
description: >
|
|
||||||
Checks error cases for the options argument to the DateTimeFormat constructor.
|
|
||||||
info: |
|
|
||||||
[[Quarter]] `"quarter"` `"narrow"`, `"short"`, `"long"`
|
|
||||||
InitializeDateTimeFormat ( dateTimeFormat, locales, options )
|
|
||||||
|
|
||||||
...
|
|
||||||
features: [Intl.DateTimeFormat-quarter]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
|
|
||||||
const invalidOptions = [
|
|
||||||
"",
|
|
||||||
"LONG",
|
|
||||||
" long",
|
|
||||||
"short ",
|
|
||||||
"full",
|
|
||||||
"numeric",
|
|
||||||
];
|
|
||||||
for (const quarter of invalidOptions) {
|
|
||||||
assert.throws(RangeError, function() {
|
|
||||||
new Intl.DateTimeFormat("en", { quarter });
|
|
||||||
}, `new Intl.DateTimeFormat("en", { quarter: "${quarter}" }) throws RangeError`);
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
// Copyright 2019 Google Inc. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
|
|
||||||
/*---
|
|
||||||
esid: sec-initializedatetimeformat
|
|
||||||
description: >
|
|
||||||
Checks handling of the options argument to the DateTimeFormat constructor.
|
|
||||||
info: |
|
|
||||||
[[Quarter]] `"quarter"` `"narrow"`, `"short"`, `"long"`
|
|
||||||
InitializeDateTimeFormat ( dateTimeFormat, locales, options )
|
|
||||||
|
|
||||||
...
|
|
||||||
features: [Intl.DateTimeFormat-quarter]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
|
|
||||||
const validOptions = [
|
|
||||||
[undefined, undefined],
|
|
||||||
["long", "long"],
|
|
||||||
["short", "short"],
|
|
||||||
["narrow", "narrow"],
|
|
||||||
[{ toString() { return "narrow"; } }, "narrow"],
|
|
||||||
[{ valueOf() { return "long"; }, toString: undefined }, "long"],
|
|
||||||
];
|
|
||||||
for (const [quarter, expected] of validOptions) {
|
|
||||||
const dtf = new Intl.DateTimeFormat("en", { quarter });
|
|
||||||
const options = dtf.resolvedOptions();
|
|
||||||
assert.sameValue(options.quarter, expected);
|
|
||||||
const propdesc = Object.getOwnPropertyDescriptor(options, "quarter");
|
|
||||||
if (expected === undefined) {
|
|
||||||
assert.sameValue(propdesc, undefined);
|
|
||||||
} else {
|
|
||||||
assert.sameValue(propdesc.value, expected);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,29 +0,0 @@
|
||||||
// Copyright 2019 Google Inc. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
|
|
||||||
/*---
|
|
||||||
esid: sec-intl.datetimeformat.prototype.resolvedoptions
|
|
||||||
description: Verifies the property order for the object returned by resolvedOptions().
|
|
||||||
includes: [compareArray.js]
|
|
||||||
features: [Intl.DateTimeFormat-quarter]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
const options = new Intl.DateTimeFormat([], {
|
|
||||||
"year": "numeric",
|
|
||||||
"quarter": "short",
|
|
||||||
"month": "numeric",
|
|
||||||
"day": "numeric",
|
|
||||||
}).resolvedOptions();
|
|
||||||
|
|
||||||
const expected = [
|
|
||||||
"locale",
|
|
||||||
"calendar",
|
|
||||||
"numberingSystem",
|
|
||||||
"timeZone",
|
|
||||||
"year",
|
|
||||||
"quarter",
|
|
||||||
"month",
|
|
||||||
"day",
|
|
||||||
];
|
|
||||||
|
|
||||||
assert.compareArray(Object.getOwnPropertyNames(options), expected);
|
|
|
@ -1,15 +0,0 @@
|
||||||
// Copyright 2019 Google Inc. All rights reserved.
|
|
||||||
// This code is governed by the BSD license found in the LICENSE file.
|
|
||||||
|
|
||||||
/*---
|
|
||||||
esid: sec-initializedatetimeformat
|
|
||||||
description: >
|
|
||||||
Tests that the behavior of a Record is not affected by adversarial changes to Object.prototype.
|
|
||||||
includes: [testIntl.js]
|
|
||||||
features: [Intl.DateTimeFormat-quarter]
|
|
||||||
---*/
|
|
||||||
|
|
||||||
taintProperties(["quarter"]);
|
|
||||||
|
|
||||||
var locale = new Intl.DateTimeFormat(undefined, {localeMatcher: "lookup"}).resolvedOptions().locale;
|
|
||||||
assert(isCanonicalizedStructurallyValidLanguageTag(locale), "DateTimeFormat returns invalid locale " + locale + ".");
|
|
Loading…
Reference in New Issue