bug0.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. if (this.WScript && this.WScript.LoadScriptFile) { // Check for running in ch
  6. this.WScript.LoadScriptFile("..\\UnitTestFramework\\UnitTestFramework.js");
  7. }
  8. var tests = [
  9. {
  10. name: "test0",
  11. body: function () {
  12. function bar()
  13. {
  14. o = {x:2};
  15. }
  16. o = {x:1}
  17. function test0()
  18. {
  19. var b;
  20. for(var i=0;i<2;i++)
  21. {
  22. b = o.x <<= bar();
  23. }
  24. assert.areEqual(2, b);
  25. }
  26. test0();
  27. test0();
  28. o = {x:1};
  29. test0();
  30. }
  31. },
  32. {
  33. name: "test1",
  34. body: function () {
  35. var obj2 = {};
  36. var i32 = new Int32Array();
  37. var func0 = function () {
  38. return obj2;
  39. };
  40. Object.prototype.prop5 = 1;
  41. var a;
  42. for (var __loopvar0 = 4; __loopvar0 > 0; __loopvar0--)
  43. {
  44. function func7(arg1) {
  45. this.prop2 = arg1;
  46. }
  47. obj2 = new func7(obj2.prop5--);
  48. }
  49. assert.areEqual(1, obj2.prop2);
  50. }
  51. },
  52. {
  53. name: "test2",
  54. body: function (){
  55. function makeArrayLength(x) {
  56. if (!isNaN(x)) {
  57. return Math.floor(x) & 65535;
  58. }
  59. }
  60. var obj0 = {};
  61. var c = 1;
  62. obj0.length = makeArrayLength(4294967295);
  63. for (; obj0.length--; c++)
  64. {
  65. obj0 = {
  66. method1: function () {
  67. return function v1() {
  68. ({ nd0: { method1: obj0 } } );
  69. };
  70. }
  71. };
  72. }
  73. assert.areEqual(2, c);
  74. }
  75. }
  76. ];
  77. testRunner.runTests(tests, { verbose: WScript.Arguments[0] != "summary" });