// Copyright 2009 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- info: > Since a function is an object, it might be set to [[Prototype]] property of a new created object through [[Construct]] property, but [[call]] property must fail with TypeError error es5id: 13.2.2_A2 description: Trying to [[call]] this function ---*/ var __PLANT="flower"; var __ROSE="rose"; function __PROTO(){}; try{ __PROTO.type=__PLANT; } catch(e){ $ERROR('#0: __PROTO.type=__PLANT does not lead to throwing exception') } function __FACTORY(){}; __FACTORY.prototype=__PROTO; var __rose = new __FACTORY(); ////////////////////////////////////////////////////////////////////////////// //CHECK#1 try{ __rose(); $ERROR('#1: __rose() lead to throwing exception'); } catch(e){ if (!(e instanceof TypeError)) { $ERROR('#2: Exception Type is TypeError. Actual: exception ==='+e); } } // //////////////////////////////////////////////////////////////////////////////