// Copyright (C) 2019 Alexey Shvayka. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- esid: sec-json.parse description: > Primitive values are coerced to strings and parsed. info: | JSON.parse ( text [ , reviver ] ) 1. Let JText be ? ToString(text). 2. Parse JText interpreted as UTF-16 encoded Unicode points (6.1.4) as a JSON text as specified in ECMA-404. Throw a SyntaxError exception if JText is not a valid JSON text as defined in that specification. features: [Symbol] ---*/ assert.throws(SyntaxError, function() { JSON.parse(); }); assert.throws(SyntaxError, function() { JSON.parse(undefined); }); assert.sameValue(JSON.parse(null), null); assert.sameValue(JSON.parse(false), false); assert.sameValue(JSON.parse(true), true); assert.sameValue(JSON.parse(0), 0); assert.sameValue(JSON.parse(3.14), 3.14); var sym = Symbol('desc'); assert.throws(TypeError, function() { JSON.parse(sym); }); reportCompare(0, 0);