//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- // Test case for Blue bug 379253 // Construct a json object string with the given number of properties function GetJSONString(prefix, count) { var buffer = []; for (var i = 0; i < count; i++) { buffer.push('"' + prefix + i + '": true'); } return "{ " + buffer.join(',') + " }"; } var string1 = GetJSONString("prop", 100); var string2 = GetJSONString("drop", 550); // Create a JSON object with a 100 properties var object1 = JSON.parse(string1); // Clear reference to that object to make its properties eligible for collection object1 = null; // Parse a second JSON object, this time with a large number of properties // This parse has a reviver passed in too to cause an enumeration to occur after parse var k = 0; var object2 = JSON.parse(string2, function(key, value) { return k++; }); WScript.Echo("pass");