Home | History | Annotate | Download | only in Number
      1 /* The contents of this file are subject to the Netscape Public
      2  * License Version 1.1 (the "License"); you may not use this file
      3  * except in compliance with the License. You may obtain a copy of
      4  * the License at http://www.mozilla.org/NPL/
      5  *
      6  * Software distributed under the License is distributed on an "AS
      7  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
      8  * implied. See the License for the specific language governing
      9  * rights and limitations under the License.
     10  *
     11  * The Original Code is Mozilla Communicator client code, released March
     12  * 31, 1998.
     13  *
     14  * The Initial Developer of the Original Code is Netscape Communications
     15  * Corporation. Portions created by Netscape are
     16  * Copyright (C) 1998 Netscape Communications Corporation. All
     17  * Rights Reserved.
     18  *
     19  * Contributor(s):
     20  *
     21  */
     22 /**
     23     File Name:          15.7.4.3-3.js
     24     ECMA Section:       15.7.4.3.1 Number.prototype.valueOf()
     25     Description:
     26     Returns this number value.
     27 
     28     The valueOf function is not generic; it generates a runtime error if its
     29     this value is not a Number object. Therefore it cannot be transferred to
     30     other kinds of objects for use as a method.
     31 
     32     Author:             christine (at) netscape.com
     33     Date:               16 september 1997
     34 */
     35     var SECTION = "15.7.4.3-3-n";
     36     var VERSION = "ECMA_1";
     37     startTest();
     38     var testcases = getTestCases();
     39 
     40     writeHeaderToLog( SECTION + " Number.prototype.valueOf()");
     41     test();
     42 
     43 
     44 function getTestCases() {
     45     var array = new Array();
     46     var item = 0;
     47 
     48 //    array[item++] = new TestCase("15.7.4.1", "v = Number.prototype.valueOf; num = 3; num.valueOf = v; num.valueOf()", "error",  "v = Number.prototype.valueOf; num = 3; num.valueOf = v; num.valueOf()" );
     49     array[item++] = new TestCase("15.7.4.1", "v = Number.prototype.valueOf; o = new String('Infinity'); o.valueOf = v; o.valueOf()", "error",  "v = Number.prototype.valueOf; o = new String('Infinity'); o.valueOf = v; o.valueOf()" );
     50 //    array[item++] = new TestCase("15.7.4.1", "v = Number.prototype.valueOf; o = new Object(); o.valueOf = v; o.valueOf()", "error",  "v = Number.prototype.valueOf; o = new Object(); o.valueOf = v; o.valueOf()" );
     51 
     52     return ( array );
     53 }
     54 function test() {
     55     for ( tc=0; tc < testcases.length; tc++ ) {
     56         testcases[tc].actual = eval( testcases[tc].actual );
     57         testcases[tc].passed = writeTestCaseResult(
     58                             testcases[tc].expect,
     59                             testcases[tc].actual,
     60                             testcases[tc].description +" = "+ testcases[tc].actual );
     61 
     62         testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";
     63     }
     64     stopTest();
     65     return ( testcases );
     66 }
     67