S13.2.2_A7_T2.js (1473B)
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 Object then return this just as obtained object 11 es5id: 13.2.2_A7_T2 12 description: Declaring a "function as function __func (arg)" 13 ---*/ 14 15 var __FRST, __SCND, __func, __obj__; 16 17 __FRST="one"; 18 __SCND="two"; 19 20 __func = function(arg1, arg2){ 21 this.first=arg1; 22 var __obj={second:arg2}; 23 return __obj; 24 25 }; 26 27 __obj__ = new __func(__FRST, __SCND); 28 29 ////////////////////////////////////////////////////////////////////////////// 30 //CHECK#1 31 if (__obj__.first !== undefined) { 32 throw new Test262Error('#1: __obj__.first === undefined. Actual: __obj__.first==='+__obj__.first); 33 } 34 // 35 ////////////////////////////////////////////////////////////////////////////// 36 37 ////////////////////////////////////////////////////////////////////////////// 38 //CHECK#2 39 if (__obj__.second !== __SCND) { 40 throw new Test262Error('#2: __obj__.second === __SCND. Actual: __obj__.second ==='+__obj__.second); 41 } 42 // 43 ////////////////////////////////////////////////////////////////////////////// 44 45 reportCompare(0, 0);