v8/test/intl/plural-rules/check-to-number.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

22 lines
661 B
JavaScript
Raw Normal View History

// 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))