protoLookup_native.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  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 write(args)
  6. {
  7. WScript.Echo(args);
  8. }
  9. write("Test case 1");
  10. for(var i =0;i<10;i++)
  11. {
  12. Array.prototype[i] = 43.35 + i * 5.3;
  13. }
  14. var arr= [32, 4.5, 6.3];
  15. var newarr=arr.splice(0,5)
  16. write(arr);
  17. write(arr.length);
  18. write(newarr);
  19. write(newarr.length);
  20. for(var i =0;i<10;i++)
  21. {
  22. delete Array.prototype[i];
  23. }
  24. write("");
  25. write("Test case 2");
  26. for(var i =0;i<10;i++)
  27. {
  28. Array.prototype[i] = 32 + i * 5;
  29. }
  30. var arr= [ 43, 54, 32];
  31. var newarr=arr.splice(0,5)
  32. write(arr);
  33. write(arr.length);
  34. write(newarr);
  35. write(newarr.length);
  36. for(var i =0;i<10;i++)
  37. {
  38. delete Array.prototype[i];
  39. }
  40. write("");
  41. write("Test case 3");
  42. for(var i =0;i<10;i++)
  43. {
  44. i++;
  45. Array.prototype[i] = 3343.232 * i;
  46. }
  47. var arr= [23.5, 32.4];
  48. var newarr=arr.splice(0,8, 5.43, 23.4)
  49. write(arr);
  50. write(arr.length);
  51. write(newarr);
  52. write(newarr.length);
  53. for(var i =0;i<10;i++)
  54. {
  55. delete Array.prototype[i];
  56. }
  57. write("");
  58. write("Test case 4");
  59. for(var k=0;k<10;k++)
  60. {
  61. Array.prototype[k]= 324 * i;
  62. }
  63. var arr=new Array(10);
  64. var newarr=arr.splice(3,5)
  65. write(arr);
  66. write(arr.length);
  67. write(newarr);
  68. write(newarr.length);
  69. for(var k=0;k<10;k++)
  70. {
  71. delete Array.prototype[k];
  72. }
  73. write("");
  74. write("Test case 5");
  75. for(var k=0;k<10;k++)
  76. {
  77. Array.prototype[k]="P"+k;
  78. }
  79. var arr=new Array(10);
  80. var newarr=arr.splice(3,5,"d1","d2","d3")
  81. write(arr);
  82. write(arr.length);
  83. write(newarr);
  84. write(newarr.length);
  85. for(var k=0;k<10;k++)
  86. {
  87. delete Array.prototype[k];
  88. }
  89. write("");
  90. write("Test case 6");
  91. for(var k=0;k<10;k++)
  92. {
  93. Array.prototype[k]=k + 23.4;
  94. }
  95. var arr= [23.4, 34 ];
  96. var newarr=arr.splice(6,4)
  97. write(arr);
  98. write(arr.length);
  99. write(newarr);
  100. write(newarr.length);
  101. for(var k=0;k<10;k++)
  102. {
  103. delete Array.prototype[k];
  104. }
  105. write("");
  106. write("Test case 7");
  107. Object.prototype.shift=Array.prototype.shift;
  108. var obj =new Object();
  109. obj.length=10;
  110. obj[0]=101;
  111. obj[1]="string";
  112. obj[9]="lastelement";
  113. var res=obj.shift()
  114. for(var i in obj)
  115. write("expando:" + i +"=" +obj[i]);
  116. delete Object.prototype.shift;
  117. write("");
  118. write("Test case 8");
  119. Object.prototype[0]=32;
  120. Array.prototype[9]= 232;
  121. var arr =new Array(10);
  122. arr[1]=123;
  123. var res=arr.shift();
  124. write(res);
  125. write(res.length);
  126. write(arr);
  127. write(arr.length);
  128. delete Object.prototype[0];
  129. delete Array.prototype[9];
  130. write("");
  131. write("Test case 9");
  132. var arr1 = new Array(2147483649);
  133. arr1[2147483647]=100.32;
  134. var newarr=arr1.slice(2147483640,2147483648);
  135. write(newarr);
  136. write(newarr.length);
  137. write(arr1.length);
  138. write("");
  139. write("Test case 10");
  140. for(var i = 0; i< 20; i = i+3)
  141. {
  142. Object.prototype[i] = "O"+i;
  143. }
  144. for(var i = 1; i< 20; i = i+3)
  145. {
  146. Array.prototype[i] = 23 * i * 0.5;
  147. }
  148. var arr = [];
  149. for(var i = 1; i< 20; i = i+3)
  150. {
  151. arr[i] = i + 0.5;
  152. }
  153. arr.shift();
  154. write(arr);
  155. write(arr.length);
  156. arr.unshift(10);
  157. write(arr);
  158. write(arr.length);
  159. var newarr = arr.splice(5,2,"a","b");
  160. write(arr);
  161. write(arr.length);
  162. write(newarr);
  163. write(newarr.length);
  164. newarr = arr.splice(7,6,"a","b");
  165. write(arr);
  166. write(arr.length);
  167. write(newarr);
  168. write(newarr.length);
  169. newarr = arr.splice(10,2,"a","b","c","e","f");
  170. write(arr);
  171. write(arr.length);
  172. write(newarr);
  173. write(newarr.length);
  174. write("");
  175. write("Test case 11");
  176. Object.prototype[2] = 10;
  177. var arr = new Array(5);
  178. write(arr);
  179. write(arr.length);
  180. arr.shift();
  181. write(arr);
  182. write(arr.length);
  183. arr.unshift("10","20");
  184. arr.shift();
  185. write(arr);
  186. arr.shift();
  187. write(arr);
  188. arr.unshift(10,40);
  189. write(arr);
  190. arr.unshift(50);
  191. write(arr);
  192. arr.shift(50);
  193. write(arr);
  194. var arr = new Array(5);
  195. write(arr);
  196. write(arr.length);
  197. arr.reverse();
  198. write(arr);
  199. write(arr.length);
  200. var arr = new Array(5);
  201. arr[2] = 2;
  202. arr[3] = 3;
  203. arr[4] = 4;
  204. write(arr);
  205. write(arr.length);
  206. arr.reverse();
  207. write(arr);
  208. write(arr.length);
  209. var a = [1, 2, 3];
  210. var b = [];
  211. b.length = 3;
  212. write(a.concat(b));