76f789c334
1. Fix formatToParts show "plusSign" for -0 by using signbit instead of < 0 2. Fix crash bug of formatToParts while notation is either "engineering" or "scientific". Bug: v8:9513 Change-Id: I36b0b995c157dc642b9c201694d0ac0bb0396988 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1710148 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#62856}
29 lines
685 B
JavaScript
29 lines
685 B
JavaScript
// Copyright 2019 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.
|
|
|
|
// Flags: --harmony-intl-numberformat-unified
|
|
// Test Infinity, -Infinity, NaN won't crash with any notation in formatToParts.
|
|
|
|
let validNotations = [
|
|
"standard",
|
|
"compact",
|
|
"engineering",
|
|
"scientific",
|
|
];
|
|
|
|
let tests = [
|
|
123,
|
|
Infinity,
|
|
-Infinity,
|
|
NaN
|
|
];
|
|
|
|
for (const notation of validNotations) {
|
|
let nf = new Intl.NumberFormat("en", {notation});
|
|
for (const test of tests) {
|
|
assertDoesNotThrow(() => nf.format(test));
|
|
assertDoesNotThrow(() => nf.formatToParts(test));
|
|
}
|
|
}
|