| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- //-------------------------------------------------------------------------------------------------------
- // Copyright (C) Microsoft. All rights reserved.
- // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- //-------------------------------------------------------------------------------------------------------
- var Class = {
- create: function() {
- return function bar() {
- this.initialize.apply(this, arguments);
- }
- }
- };
- var object = {};
- object.obj1 = Class.create();
- object.obj1.prototype = {
- r : 0,
- initialize : function(r) {
- this.r = r;
- }
- }
- object.obj2 = Class.create();
- object.obj2.prototype = {
- x : 0,
- y : 0,
- initialize : function(x,y) {
- this.x = x;
- this.y = y;
- }
- }
- object.obj3 = Class.create();
- object.obj3.prototype = {
- prop1 : {},
- initialize : function(a) {
- this.prop1 = new object.obj1(a);
- }
- }
- object.obj4 = Class.create();
- object.obj4.prototype = {
- prop1 : {},
- prop2 : {},
- initialize : function(r,s,t) {
- this.prop1 = new object.obj1(r);
- this.prop2 = new object.obj2(s,t);
- }
- }
- function foo()
- {
- var v00 = new object.obj1();
- var v01 = new object.obj1(1);
- var v02 = new object.obj1(1,2);
- var v03 = new object.obj1(1,2,3);
- WScript.Echo(v03.r);
- var v4 = new object.obj2(1);
- var v5 = new object.obj2(1,2);
- var v6 = new object.obj2(1,2,3);
- WScript.Echo(v6.y);
- var v7 = new object.obj3(1);
- var v8 = new object.obj3(1,2);
- var v9 = new object.obj3(1,2,3);
- WScript.Echo(v9.prop1.r);
- var v10 = new object.obj4(1);
- var v11 = new object.obj4(1,2);
- var v12 = new object.obj4(1,2,3);
- WScript.Echo(v12.prop1.r);
- WScript.Echo(v12.prop2.y);
- }
- foo();
- foo();
- //override apply
- Function.prototype.apply = function(){};
- foo();
- WScript.Echo("Passed");
|