fieldcopyprop_assign.js 829 B

12345678910111213141516171819202122232425262728293031
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. // Make sure assign to the object kill it's field's value for field copy prop.
  6. function f(o)
  7. {
  8. var v = 0;
  9. for (var i = 0; i < 10; i++)
  10. {
  11. var a = o.x;
  12. o = o.y;
  13. var b = o.x;
  14. v += a + b;
  15. }
  16. return v;
  17. }
  18. var o = new Object();
  19. o.x = -1;
  20. var a = o;
  21. for (var i = 0; i < 10; i++)
  22. {
  23. o.y = new Object();
  24. o = o.y;
  25. o.x = i;
  26. }
  27. o.y = a;
  28. WScript.Echo(f(a) == 80? "PASS" : "FAIL");