Merge pull request #1627 from Ms2ger/RelativeTimeFormat-options-proto

Add tests for objects created in the RelativeTimeFormat constructor.
This commit is contained in:
Rick Waldron 2018-07-06 14:47:40 -04:00 committed by GitHub
commit 2e007144ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 88 additions and 0 deletions

View File

@ -0,0 +1,88 @@
// Copyright 2018 Igalia, S.L. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-Intl.RelativeTimeFormat
description: |
Checks that the RelativeTimeFormat constructor does not cause the
NumberFormat and PluralRules constructors to get properties off
Object.prototype through the options objects it creates.
info: |
InitializeRelativeTimeFormat (relativeTimeFormat, locales, options)
20. Let nfOptions be ObjectCreate(null).
25. Let prOptions be ObjectCreate(null).
features: [Intl.RelativeTimeFormat]
---*/
Object.defineProperties(Object.prototype, {
// NumberFormat & PluralRules
"localeMatcher": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: localeMatcher");
},
},
"minimumIntegerDigits": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: minimumIntegerDigits");
},
},
"minimumFractionDigits": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: minimumFractionDigits");
},
},
"maximumFractionDigits": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: maximumFractionDigits");
},
},
"minimumSignificantDigits": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: minimumSignificantDigits");
},
},
"maximumSignificantDigits": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: maximumSignificantDigits");
},
},
// NumberFormat
"style": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: style");
},
},
"currency": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: currency");
},
},
"currencyDisplay": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: currencyDisplay");
},
},
"useGrouping": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: useGrouping");
},
},
// PluralRules
"type": {
"get": function() {
throw new Test262Error("Should not call getter on Object.prototype: type");
},
},
});
new Intl.RelativeTimeFormat();