mirror of
https://github.com/tc39/test262.git
synced 2025-08-28 13:28:38 +02:00
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
// Copyright 2009 the Sputnik authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/**
|
|
* 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
|
|
*
|
|
* @path ch13/13.2/S13.2.2_A2.js
|
|
* @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(){this.name=__ROSE};
|
|
|
|
__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);
|
|
}
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|