| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- function write(args)
- {
- WScript.Echo(args);
- }
- write("Test case 1");
- for(var i =0;i<10;i++)
- {
- Object.defineProperty(Array.prototype, i, { get: function (i) { return function () { return "p"+i; } }(i), set : function(a) {}, configurable: true, enumerable: true });
- }
- var arr=new Array(10);
- var newarr=arr.splice(0,5,"d1","d2","d3","d4")
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- for(var i =0;i<10;i++)
- {
- delete Array.prototype[i];
- }
- write("");
- write("Test case 2");
- for(var i =0;i<10;i++)
- {
- Object.defineProperty(Array.prototype, i, { get: function (i) { return function () { return "p"+i; } }(i), set : function(a) {}, configurable: true, enumerable: true });
- }
- var arr=new Array(10);
- var newarr=arr.splice(0,5,"d1","d2","d3","d4","d5","d6","d7")
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- for(var i =0;i<10;i++)
- {
- delete Array.prototype[i];
- }
- write("");
- write("Test case 3");
- for(var i =0;i<10;i++)
- {
- i++;
- Object.defineProperty(Array.prototype, i, { get: function (i) { return function () { return "p"+i; } }(i), set : function(a) {}, configurable: true, enumerable: true });
- }
- var arr=new Array(10);
- var newarr=arr.splice(0,5,"d1","d2","d3","d4","d5","d6","d7")
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- for(var i =0;i<10;i++)
- {
- delete Array.prototype[i];
- }
- write("");
- write("Test case 4");
- for(var k=0;k<10;k++)
- {
- Object.defineProperty(Array.prototype, k, { get: function (k) { return function () { return "P"+k; } }(k), set : function(a) {}, configurable: true, enumerable: true });
- }
- var arr=new Array(10);
- var newarr=arr.splice(3,5,"d1","d2","d3")
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- for(var k=0;k<10;k++)
- {
- delete Array.prototype[k];
- }
- write("");
- write("Test case 5");
- for(var k=0;k<10;k++)
- {
- Object.defineProperty(Array.prototype, k, { get: function (k) { return function () { return "P"+k; } }(k), set : function(a) {}, configurable: true, enumerable: true });
- }
- var arr=new Array(10);
- var newarr=arr.splice(3,5,"d1","d2","d3")
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- for(var k=0;k<10;k++)
- {
- delete Array.prototype[k];
- }
- write("");
- write("Test case 6");
- for(var k=0;k<10;k++)
- {
- Object.defineProperty(Array.prototype, k, { get: function (k) { return function () { return "P"+k; } }(k), set : function(a) {}, configurable: true, enumerable: true });
- }
- var arr=new Array(10);
- var newarr=arr.splice(3,1,"d1","d2","d3")
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- for(var k=0;k<10;k++)
- {
- delete Array.prototype[k];
- }
- write("");
- write("Test case 7");
- Object.prototype.shift=Array.prototype.shift;
- var obj =new Object();
- obj.length=10;
- obj[0]=101;
- obj[1]="string";
- obj[9]="lastelement";
- var res=obj.shift()
- for(var i in obj)
- write("expando:" + i +"=" +obj[i]);
- delete Object.prototype.shift;
- write("");
- write("Test case 8");
- Object.defineProperty(Object.prototype, 0, { get: function () { return "hello world"; }, configurable: true, enumerable: true });
- Object.defineProperty(Array.prototype, 9, { get: function () { return "p9"; }, configurable: true, enumerable: true });
- var arr =new Array(10);
- arr[1]=123;
- var res=arr.shift();
- write(res);
- write(res.length);
- write(arr);
- write(arr.length);
- delete Object.prototype[0];
- delete Array.prototype[9];
- write("");
- write("Test case 9");
- var arr1 = new Array(2147483649);
- arr1[2147483647]=100;
- var newarr=arr1.slice(2147483640,2147483648);
- write(newarr);
- write(newarr.length);
- write(arr1.length);
- var test11arr = new Array(5);
- test11arr[2] = 2;
- test11arr[3] = 3;
- test11arr[4] = 4;
- write("");
- write("Test case 10");
- var arr = [];
- for(var i = 1; i< 20; i = i+3)
- {
- arr[i] = i;
- }
- for(var i = 0; i< 20; i = i+3)
- {
- Object.defineProperty(Object.prototype, i, { get: function (i) { return function () { return "O"+i; } }(i), set : function(ab) {}, configurable: true, enumerable: true });
- }
- for(var i = 1; i< 20; i = i+3)
- {
- Object.defineProperty(Array.prototype, i, { get: function (i) { return function () { return "a"+i; } }(i), set : function(ab) {}, configurable: true, enumerable: true });
- }
- arr.shift();
- write(arr);
- write(arr.length);
- arr.unshift(10);
- write(arr);
- write(arr.length);
- var newarr = arr.splice(5,2,"a","b");
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- newarr = arr.splice(7,6,"a","b");
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- newarr = arr.splice(10,2,"a","b","c","e","f");
- write(arr);
- write(arr.length);
- write(newarr);
- write(newarr.length);
- write("");
- write("Test case 11");
- Object.defineProperty(Object.prototype, 2, { get: function () { return 10; }, configurable: true, enumerable: true });
- var arr = new Array(5);
- write(arr);
- write(arr.length);
- arr.shift();
- write(arr);
- write(arr.length);
- arr.unshift("10","20");
- arr.shift();
- write(arr);
- arr.shift();
- write(arr);
- arr.unshift(10,40);
- write(arr);
- arr.unshift(50);
- write(arr);
- arr.shift(50);
- write(arr);
- var arr = new Array(5);
- write(arr);
- write(arr.length);
- arr.reverse();
- write(arr);
- write(arr.length);
- var arr = test11arr;
- write(arr);
- write(arr.length);
- arr.reverse();
- write(arr);
- write(arr.length);
- var a = [1, 2, 3];
- var b = [];
- b.length = 3;
- write(a.concat(b));
|