// Copyright (C) 2021 Rick Waldron. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-map.prototype.set description: > Observing the expected behavior of keys when a BigInt and Number have the same value. info: | Map.prototype.set ( key , value ) ... Let p be the Record {[[key]]: key, [[value]]: value}. Append p as the last element of entries. ... features: [BigInt] ---*/ const number = 9007199254740991; const bigint = 9007199254740991n; const m = new Map([ [number, number], [bigint, bigint], ]); assert.sameValue(m.size, 2); assert.sameValue(m.has(number), true); assert.sameValue(m.has(bigint), true); assert.sameValue(m.get(number), number); assert.sameValue(m.get(bigint), bigint); m.delete(number); assert.sameValue(m.size, 1); assert.sameValue(m.has(number), false); m.delete(bigint); assert.sameValue(m.size, 0); assert.sameValue(m.has(bigint), false); m.set(number, number); assert.sameValue(m.size, 1); m.set(bigint, bigint); assert.sameValue(m.size, 2); reportCompare(0, 0);