| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- //-------------------------------------------------------------------------------------------------------
- // 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(v) { WScript.Echo(v); }
- var n = 5;
- function InitObject(obj) {
- for (var i=0; i<n; i++) {
- obj[i] = i * i + 1;
- }
- obj.length = n;
- return obj;
- }
- function TestPush(obj) {
- write(">>> Start push test for object: " + obj);
- var ret;
- ret = Array.prototype.push.call(obj);
- write("Returned:" + ret + " obj.length:" + obj.length);
- ret = Array.prototype.push.call(obj, "");
- write("Returned:" + ret + " obj.length:" + obj.length);
- ret = Array.prototype.push.call(obj, undefined);
- write("Returned:" + ret + " obj.length:" + obj.length);
- ret = Array.prototype.push.call(obj, 100);
- write("Returned:" + ret + " obj.length:" + obj.length);
- ret = Array.prototype.push.call(obj, 1, 2);
- write("Returned:" + ret + " obj.length:" + obj.length);
- ret = Array.prototype.push.call(obj, 1, 2, 3, 4, 5);
- write("Returned:" + ret + " obj.length:" + obj.length);
- write("<<< Stop push test for object: " + obj);
- }
- var testList = new Array(new Array() , new Object());
- for (var i=0;i<testList.length;i++) {
- TestPush(InitObject(testList[i]));
- }
- TestPush({}); // behavior varies by version
- function bar()
- {
- var n = Number();
- Number.prototype.push = Array.prototype.push;
- n.push(1);
- }
- bar();
|