set.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. var x = new Set();
  6. var y = x;
  7. y.baz = 5;
  8. var z = new Set();
  9. z.add(5);
  10. WScript.SetTimeout(testFunction, 50);
  11. /////////////////
  12. function testFunction()
  13. {
  14. telemetryLog(`x === y: ${x === y}`, true); //true
  15. telemetryLog(`x.baz: ${x.baz}`, true); //5
  16. telemetryLog(`z.size: ${z.size}`, true); //1
  17. telemetryLog(`z.has(5): ${z.has(5)}`, true); //true
  18. ////
  19. x.add(3);
  20. z.delete(3);
  21. z.delete(5);
  22. ////
  23. telemetryLog(`post update 1 -- y.has(3): ${y.has(3)}`, true); //true
  24. telemetryLog(`post update 1 -- z.size: ${z.size}`, true); //0
  25. telemetryLog(`post update 1 -- z.has(5): ${z.has(5)}`, true); //false
  26. ////
  27. y.add(3);
  28. y.add(5);
  29. ////
  30. telemetryLog(`post update 2 -- x.has(5): ${x.has(5)}`, true); //true
  31. telemetryLog(`post update 2 -- x.size: ${x.size}`, true); //2
  32. }