js/src/tests/test262/ch13/13.2/S13.2_A4_T1.js

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

     1 // Copyright 2009 the Sputnik authors.  All rights reserved.
     2 // This code is governed by the BSD license found in the LICENSE file.
     4 /**
     5  * When Function object(F) is constructed the following steps from 9 to 11 take place
     6  * 9.Create a new object as would be constructed by the expression new Object().
     7  * 10. Set the constructor property of Result(9) to F. This property is given attributes { DontEnum }.
     8  * 11. Set the "prototype" property of F to Result(9).
     9  *
    10  * @path ch13/13.2/S13.2_A4_T1.js
    11  * @description Checking prototype, prototype.constructor properties and {DontEnum} property of a constructor.
    12  * Using "function __func(){}" as a FunctionDeclaration
    13  */
    15 function __func(){};
    17 //////////////////////////////////////////////////////////////////////////////
    18 //CHECK#1
    19 if (typeof __func.prototype !== 'object') {
    20 	$ERROR('#1: typeof __func.prototype === \'object\'. Actual: typeof __gunc.prototype ==='+typeof __gunc.prototype);
    21 }
    22 //
    23 //////////////////////////////////////////////////////////////////////////////
    25 //////////////////////////////////////////////////////////////////////////////
    26 //CHECK#2
    27 if (__func.prototype.constructor !== __func) {
    28 	$ERROR('#2: __func.prototype.constructor === __func. Actual: __gunc.prototype.constructor ==='+__gunc.prototype.constructor);
    29 }
    30 //
    31 //////////////////////////////////////////////////////////////////////////////
    33 var __constructor_was__enumed;
    35 for (__prop in __func.prototype){
    36     if (__prop === 'constructor')
    37         __constructor_was__enumed = true;
    38 }
    40 //////////////////////////////////////////////////////////////////////////////
    41 //CHECK#3
    42 if (__constructor_was__enumed) {
    43 	$ERROR('#3: __constructor_was__enumed === false. Actual: __constructor_was__enumed ==='+__constructor_was__enumed);
    44 }
    45 //
    46 //////////////////////////////////////////////////////////////////////////////

mercurial