Commit 992a4f61 authored by Sathya Gunasekaran's avatar Sathya Gunasekaran Committed by Commit Bot

[Intl] Convert options arg to Object before processing it

This makes us spec compliant.

Bug: chromium:875643
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I489870495fe1d326991c99f0551fe3329268c984
Reviewed-on: https://chromium-review.googlesource.com/1199910
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55567}
parent e56bf9f4
......@@ -621,6 +621,8 @@ function SetNumberFormatDigitOptions(internalOptions, options,
function CreateNumberFormat(locales, options) {
if (IS_UNDEFINED(options)) {
options = {__proto__: null};
} else {
options = TO_OBJECT(options);
}
var getOption = getGetOption(options, 'numberformat');
......
// Copyright 2018 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.
assertThrows(() => new Intl.NumberFormat('en', null));
assertDoesNotThrow(() => new Intl.NumberFormat('en', undefined));
for (let key of [false, true, "foo", Symbol, 1]) {
assertDoesNotThrow(() => new Intl.NumberFormat('en', key));
}
assertDoesNotThrow(() => new Intl.NumberFormat('en', {}));
assertDoesNotThrow(() => new Intl.NumberFormat('en', new Proxy({}, {})));
// Copyright 2018 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.
new Intl.NumberFormat(undefined, false)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment