8bc2cfb749
Add GetOptionsObject/CoerceOptionsToObject for ECMA402 2021 Change Intl.ListFormat / Intl.DisplayNames and Intl.Segmenter to use GetOptionsObject and keep old API under CoerceOptionsToObject based on https://github.com/tc39/ecma402/pull/538/files Test262 tests need to be changed per https://github.com/tc39/test262/issues/2950 Bug: v8:11466 Change-Id: I5cb9b7aba0556effc76b4005e95c90db1e59d41f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2705696 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#73082}
21 lines
625 B
JavaScript
21 lines
625 B
JavaScript
// Copyright 2021 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// Test Intl.Segmenter call GetOptionsObject instead of ToObject
|
|
// https://tc39.es/ecma402/#sec-getoptionsobject
|
|
// https://tc39.es/ecma262/#sec-toobject
|
|
let testCases = [
|
|
null, // Null
|
|
true, // Boolean
|
|
false, // Boolean
|
|
1234, // Number
|
|
"string", // String
|
|
Symbol('foo'), // Symbol
|
|
9007199254740991n // BigInt
|
|
];
|
|
|
|
testCases.forEach(function (testCase) {
|
|
assertThrows(() => new Intl.Segmenter("en", testCase), TypeError);
|
|
});
|