S13.2.2_A8_T2.js (1897B)
1 // Copyright 2009 the Sputnik authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 info: | 6 When the [[Construct]] property for a Function object F is called: 7 A new native ECMAScript object is created. 8 Invoke the [[Call]] property of F, providing just created native ECMAScript object as the this value and providing the argument 9 list passed into [[Construct]] as the argument values. 10 If Type( [[Call]] returned) is an Function then return this just as obtained function 11 es5id: 13.2.2_A8_T2 12 description: > 13 Creating a function whose prototype contains declaration of 14 another function declared as a variable 15 ---*/ 16 17 var __FRST="one"; 18 var __SCND="two"; 19 20 var __func = function(arg1, arg2){ 21 this.first=arg1; 22 var __gunc = function(arg){return arg+="BA"}; 23 __gunc.prop=arg2; 24 return __gunc; 25 26 }; 27 28 var __instance = new __func(__FRST, __SCND); 29 30 ////////////////////////////////////////////////////////////////////////////// 31 //CHECK#1 32 if (__instance.first !== undefined) { 33 throw new Test262Error('#1: __instance.first === undefined. Actual: __instance.first ==='+__instance.first); 34 } 35 // 36 ////////////////////////////////////////////////////////////////////////////// 37 38 ////////////////////////////////////////////////////////////////////////////// 39 //CHECK#2 40 if (__instance.prop!==__SCND) { 41 throw new Test262Error('#2: __instance.prop === __SCND. Actual: __instance.prop ==='+__instance.prop); 42 } 43 // 44 ////////////////////////////////////////////////////////////////////////////// 45 46 ////////////////////////////////////////////////////////////////////////////// 47 //CHECK#3 48 if (__instance("SAM")!== "SAMBA") { 49 throw new Test262Error('#2: __instance("SAM") === "SAMBA". Actual: __instance("SAM") ==='+__instance("SAM")); 50 } 51 // 52 ////////////////////////////////////////////////////////////////////////////// 53 54 reportCompare(0, 0);