blob: afb2c3ad8ab7f6c2bd4f4abb5720556b669a988b [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);
}
var a = [11,22,33,44];
a.x = "a.x";
a.y = "a.y";
a.z = "a.z";
write("Scenario:1 - Adding new array indexes while enumerating expandos")
for( var i in a)
{
if(i == "y")
{
a[5] = 55;
a[6] = 66;
}
write("Index:" + i + " Value:" + a[i]);
}
write("Scenario:2 - Adding new array expandos while enumerating array for second time")
for( var i in a)
{
if(i == "z")
{
a[7] = 77;
a[9] = 99;
}
if(i == "7")
{
a.xx = "a.xx";
a.yy = "a.yy";
}
write("Index:" + i + " Value:" + a[i]);
}
write("Scenario:3 - Adding new array expandos while enumerating Object for second time")
var b = [11,22,33,44];
b.x = "b.x";
b.y = "b.y";
b.z = "b.z";
for( var i in b)
{
if(i == "x")
{
b[5] = 55;
b[7] = 77;
}
if(i == "7")
{
b.xx = "b.xx";
b.yy = "b.yy";
}
if(i == "xx")
{
b[9] = 99;
b[10] = 1010;
}
if(i == "9")
{
b.zz = "b.zz";
}
write("Index:" + i + " Value:" + b[i]);
}
write("Scenario:3 - Adding new array expandos while enumerating Object for second time")
var b = [11,22,33,44];
b.x = "b.x";
b.y = "b.y";
b.z = "b.z";
for( var i in b)
{
if(i == "x")
{
b[5] = 55;
b[7] = 77;
}
if(i == "7")
{
b.xx = "b.xx";
b.yy = "b.yy";
}
if(i == "xx")
{
b[9] = 99;
b[10] = 1010;
}
if(i == "9")
{
b.zz = "b.zz";
}
write("Index:" + i + " Value:" + b[i]);
}
write("Scenario:4 - random additions");
var d = [1];
var counter = 0;
for (var i in d)
{
if(counter == 25)
{
break;
}
if(counter%2 == 1)
{
d[counter*counter] = counter*counter;
}
else
{
d["x"+counter] = "d.x"+counter;
}
write("Index:" + i + " Value:" + d[i]);
counter++;
}