| //------------------------------------------------------------------------------------------------------- | |
| // Copyright (C) Microsoft. All rights reserved. | |
| // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. | |
| //------------------------------------------------------------------------------------------------------- | |
| function foo(arg1, arg2, arg3, arg4) { | |
| var y = 1; | |
| if (arg3) { | |
| Object.defineProperty(arg1, arg4, getProp); | |
| } | |
| y = arg1[arg4]; | |
| if (arg3) | |
| y = arg1[arg4]; | |
| return y; | |
| } | |
| o1 = { "prop4": 4 }; | |
| var count = 0; | |
| for (var i = 0; i < 200; i++) { | |
| foo(o1, "text", false, "prop4"); | |
| } | |
| var getProp = { get: function () { return count++; } }; | |
| if (foo(o1, "text", true, "prop4") != 1) | |
| WScript.Echo("FAILED"); | |
| else | |
| WScript.Echo("Passed"); | |