Wed, 31 Dec 2014 13:27:57 +0100
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 //////////////////////////////////////////////////////////////////////////////