summaryrefslogtreecommitdiff
path: root/test/built-ins/JSON/stringify/bigint-tojson.js
blob: bf4f531f2a5a8aa3ec33dad202e2d19efd9eccf9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Copyright (C) 2017 Robin Templeton. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
description: BigInt toJSON method
esid: sec-serializejsonproperty
info: |
  Runtime Semantics: SerializeJSONProperty ( key, holder )

  2. If Type(value) is Object or BigInt, then
    a. Let toJSON be ? GetGetV(value, "toJSON").
    b. If IsCallable(toJSON) is true, then
      i. Set value to ? Call(toJSON, value, « key »).
features: [BigInt]
---*/

BigInt.prototype.toJSON = function () { return this.toString(); };
assert.sameValue(JSON.stringify(0n), '"0"');