summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/JSON/stringify/space-string.js
blob: 05551ce368f5f0aa0329e9ecc811e5042c24d4fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// Copyright (C) 2012 Ecma International. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-json.stringify
description: >
  String space is used as gap.
info: |
  JSON.stringify ( value [ , replacer [ , space ] ] )

  [...]
  7. Else if Type(space) is String, then
    a. If the length of space is 10 or less, let gap be space; otherwise
    let gap be the String value consisting of the first 10 code units of space.
---*/

var obj = {
  a1: {
    b1: [1, 2, 3, 4],
    b2: {
      c1: 1,
      c2: 2,
    },
  },
  a2: 'a2',
};

assert.sameValue(JSON.stringify(obj, null, ''), JSON.stringify(obj));
assert.sameValue(JSON.stringify(obj, null, '  '), [
  '{'
, '  "a1": {'
, '    "b1": ['
, '      1,'
, '      2,'
, '      3,'
, '      4'
, '    ],'
, '    "b2": {'
, '      "c1": 1,'
, '      "c2": 2'
, '    }'
, '  },'
, '  "a2": "a2"'
, '}'
].join('\n'));

reportCompare(0, 0);