fixedfieldmonocheck3.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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 __counter = 0;
  6. function test0() {
  7. __counter++;
  8. var obj0 = {};
  9. var protoObj0 = {};
  10. var obj1 = {};
  11. var arrObj0 = {};
  12. var func0 = function () {
  13. };
  14. var func1 = function () {
  15. this.prop1 = 10;
  16. for (var v0 = 0; v0 < 4; ++v0) {
  17. i = this.prop1;
  18. prop1 = 30;
  19. }
  20. return Error(), this.prop1;
  21. };
  22. var func2 = function (argMath0) {
  23. return typeof {
  24. prop0: test0.caller,
  25. prop1: arguments[10] * (f64[1073741823] + i8[9 & 255]),
  26. prop2: i8[9 & 255] * ((false ? (f = {
  27. valueOf: function () {
  28. WScript.Echo('f valueOf');
  29. return 3;
  30. }
  31. }, test0.caller) : test0.caller) + test0.caller),
  32. prop3: ~((false ? (a = {
  33. valueOf: function () {
  34. WScript.Echo('a valueOf');
  35. return 3;
  36. }
  37. }, Object.prototype.length) : Object.prototype.length) * g++ - (-773191191 === 467528665)),
  38. prop4: false ? func1() : func1(),
  39. prop5: /a/ instanceof (typeof Error == 'function' ? Error : Object),
  40. prop6: arrObj0[false ? arrObj0[8] = 'x' : undefined, 8],
  41. prop7: (0 && 1886309404 ? d < 7989750482363150000 && obj1.prop1 !== argMath0 : arrObj0.length != argMath0) && arrObj0.prop2
  42. };
  43. };
  44. var func4 = function () {
  45. return { prop5: func2() };
  46. };
  47. obj0.method1 = func2;
  48. obj1.method0 = func0;
  49. obj1.method1 = func1;
  50. Object.prototype.method1 = obj1.method0;
  51. var i8 = new Int8Array();
  52. var f64 = new Float64Array();
  53. var g = -2128076251;
  54. func4();
  55. var uniqobj5 = [
  56. protoObj0,
  57. obj0
  58. ];
  59. uniqobj5[__counter % uniqobj5.length].method1(obj1.method1());
  60. func2();
  61. if (i !== 30) {
  62. WScript.Echo('i === ' + i);
  63. }
  64. }
  65. test0();
  66. test0();
  67. WScript.Echo('pass');