negativeZero_bugs.js 969 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. function test0(addOrSub) {
  6. function makeArrayLength() {
  7. }
  8. var obj0 = {};
  9. var obj1 = {};
  10. var protoObj1 = {};
  11. var arrObj0 = {};
  12. var func4 = function () {
  13. return arrObj0 * (f > obj1.prop1 ? h++ : Function());
  14. };
  15. var f = 1;
  16. var h = 0;
  17. obj1.prop1 = -1;
  18. switch(addOrSub)
  19. {
  20. case 1:
  21. f /= ((1 - 1) * -1) - -(func4.call(arrObj0) << (typeof arrObj0.length == null));
  22. break;
  23. case 2:
  24. f /= ((1 - 1) * -1) + -(func4.call(arrObj0) << (typeof arrObj0.length == null));
  25. break;
  26. }
  27. func4();
  28. print(h);
  29. }
  30. test0(1);
  31. test0(2);
  32. test0(1);
  33. test0(2);