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