blob: 1ce7245d6f39ed219b931a173505529df51f1499 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function write(args)
{
if(typeof(WScript) == "undefined")
print(args);
else
WScript.Echo(args);
}
write("Scenario 1: Adding properties on the fly");
var x = { a: 1, b: 2};
for(var i in x)
{
if(x[i] == 2)
{
x.c = 3;
x.d = 4;
}
write(x[i]);
}
write("Scenario 2: Large number of properties in forin");
var largeObj = {};
for(var k=0; k < 25; k++)
{
largeObj["p"+k] = k + 0.3;
}
for(var i in largeObj)
{
write(largeObj[i]);
}
write("Sceanrio 3: Nested Forin");
var outerObj = { a: 3, b: 4, c: 5 };
var innerObj = { a: 3, b: 4, c: 5 };
for(var i in outerObj)
{
write(i);
for(var j in innerObj)
{
write(j);
}
}
write("Scenario 4: Properties and numerical indices in object");
var objWithNumber= { a: 12, b: 13, c:23 };
objWithNumber[13] = "Number13";
objWithNumber[15] = "Number15";
for(var i in objWithNumber)
{
write(objWithNumber[i]);
}
var undef;
for(var i in undef)
{
write("FAILED: Entering enumeration of undefined");
}
var nullValue = null;
for(var i in nullValue)
{
write("FAILED: Entering enumeration of null value");
}
var integer = 3;
for(var i in integer)
{
write("FAILED: Entering enumeration of integer");
}
var double = 3.4;
for(var i in double)
{
write("FAILED: Entering enumeration of double");
}