OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // http://ecma-international.org/ecma-262/6.0/#sec-json.stringify | 5 // http://ecma-international.org/ecma-262/6.0/#sec-json.stringify |
6 // Step 4.b.iii.5.f.i | 6 // Step 4.b.iii.5.f.i |
7 | 7 |
8 var log = []; | 8 var log = []; |
9 | 9 |
10 var replacer = Object.defineProperty([], 0, { | 10 var replacer = Object.defineProperty([], 0, { |
11 get() { | 11 get() { |
12 log.push('get 0'); | 12 log.push('get 0'); |
13 } | 13 } |
14 }); | 14 }); |
15 var space = Object.defineProperty(new String, 'toString', { | 15 var space = Object.defineProperty(new String, 'toString', { |
16 value() { | 16 value() { |
17 log.push('toString'); | 17 log.push('toString'); |
18 return ''; | 18 return ''; |
19 } | 19 } |
20 }); | 20 }); |
21 | 21 |
22 JSON.stringify('', replacer, space); | 22 JSON.stringify('', replacer, space); |
23 | |
24 assertEquals(2, log.length); | 23 assertEquals(2, log.length); |
25 assertEquals('get 0', log[0]); | 24 assertEquals('get 0', log[0]); |
26 assertEquals('toString', log[1]); | 25 assertEquals('toString', log[1]); |
OLD | NEW |