// Copyright 2019 Igalia, S.L. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. // Test case written by André Bargull. /*--- esid: sec-serializejsonproperty description: toJSON method called with BigInt as receiver features: [BigInt] ---*/ assert.throws(TypeError, () => JSON.stringify(1n), "toString throws for BigInt object"); // The BigInt proposal changes the SerializeJSONProperty algorithm to // specifically allow passing BigInt objects as receivers for the toJSON // method. Object.defineProperty(BigInt.prototype, "toJSON", { get() { "use strict"; return () => typeof this; } }); assert.sameValue(JSON.stringify(1n), "\"bigint\"", "BigInt toJSON method called with value as receiver"); reportCompare(0, 0);