// Copyright 2009 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- info: | When the [[Construct]] property for a Function object F is called: A new native ECMAScript object is created. It gets the value of the [[Prototype]] property of the F(Denote it PROTO_VAL). If PROTO_VAL is not an object, sets the [[Prototype]] property of native ECMAScript object just created to the original Object prototype object as described in 15.2.3.1 es5id: 13.2.2_A3_T1 description: Declaring a function with "function __FACTORY()" ---*/ function __FACTORY(){}; __FACTORY.prototype=1; ////////////////////////////////////////////////////////////////////////////// //CHECK#1 if (typeof __FACTORY.prototype !== 'number') { throw new Test262Error('#1: typeof __FACTORY.prototype === \'number\'. Actual: typeof __FACTORY.prototype ==='+(typeof __FACTORY.prototype)); } // ////////////////////////////////////////////////////////////////////////////// var __device = new __FACTORY(); ////////////////////////////////////////////////////////////////////////////// //CHECK#2 if (!(Object.prototype.isPrototypeOf(__device))) { throw new Test262Error('#2: Object.prototype.isPrototypeOf(__device) === true'); } // //////////////////////////////////////////////////////////////////////////////