S13.2.2_A6_T2.js (1402B)
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 not Object then return passed as this into [[Call]] object 11 es5id: 13.2.2_A6_T2 12 description: Declaring a function with "function __func (arg)" 13 ---*/ 14 15 var __FOO="fooValue"; 16 var __BAR="barValue"; 17 18 function __func (arg){ 19 this.foo=arg; 20 return true; 21 this.bar=arguments[1]; 22 }; 23 24 var __obj = new __func(__FOO, __BAR); 25 26 ////////////////////////////////////////////////////////////////////////////// 27 //CHECK#1 28 if (__obj.foo!==__FOO) { 29 throw new Test262Error('#1: __obj.foo === __FOO. Actual: __obj.foo==='+__obj.foo); 30 } 31 // 32 ////////////////////////////////////////////////////////////////////////////// 33 34 ////////////////////////////////////////////////////////////////////////////// 35 //CHECK#2 36 if (__obj.bar!==undefined) { 37 throw new Test262Error('#2: __obj.bar === undefined. Actual: __obj.bar==='+__obj.bar); 38 } 39 // 40 ////////////////////////////////////////////////////////////////////////////// 41 42 reportCompare(0, 0);