6020cd5b54
Bug: v8:5751 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Change-Id: I7c8aab3f0420e5a7e64aa78c642320bec4142d03 Reviewed-on: https://chromium-review.googlesource.com/1208653 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#55842}
22 lines
661 B
JavaScript
22 lines
661 B
JavaScript
// 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.
|
|
|
|
const pr = new Intl.PluralRules();
|
|
const inputs = [undefined, null, true, false, 1, '', 'test', {}, { a: 1 }];
|
|
|
|
inputs.forEach(input => {
|
|
const number = Number(input);
|
|
const expected = pr.select(number);
|
|
const actual = pr.select(input);
|
|
assertEquals(actual, expected);
|
|
});
|
|
|
|
let count = 0;
|
|
const dummyObject = {};
|
|
dummyObject[Symbol.toPrimitive] = () => ++count;
|
|
assertEquals(pr.select(dummyObject), pr.select(count));
|
|
assertEquals(count, 1);
|
|
|
|
assertEquals(pr.select(0), pr.select(-0))
|