Home | History | Annotate | Download | only in String
      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.5.4.2-3.js
     24     ECMA Section:       15.5.4.2 String.prototype.toString()
     25 
     26     Description:        Returns this string value.  Note that, for a String
     27                         object, the toString() method happens to return the same
     28                         thing as the valueOf() method.
     29 
     30                         The toString function is not generic; it generates a
     31                         runtime error if its this value is not a String object.
     32                         Therefore it connot be transferred to the other kinds of
     33                         objects for use as a method.
     34 
     35     Author:             christine (at) netscape.com
     36     Date:               1 october 1997
     37 */
     38 
     39 
     40     var SECTION = "15.5.4.2-3";
     41     var VERSION = "ECMA_1";
     42     startTest();
     43     var TITLE   = "String.prototype.toString";
     44 
     45     writeHeaderToLog( SECTION + " "+ TITLE);
     46 
     47     var testcases = getTestCases();
     48     test();
     49 
     50 function test() {
     51     for ( tc=0; tc < testcases.length; tc++ ) {
     52 
     53         testcases[tc].actual = eval( testcases[tc].actual );
     54         testcases[tc].passed = writeTestCaseResult(
     55                             testcases[tc].expect,
     56                             testcases[tc].actual,
     57                             testcases[tc].description +" = "+
     58                             testcases[tc].actual );
     59 
     60         testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value ";
     61     }
     62     stopTest();
     63     return ( testcases );
     64 }
     65 function getTestCases() {
     66     var array = new Array();
     67     var item = 0;
     68 
     69     array[item++] = new TestCase( SECTION,
     70                                   "var tostr=String.prototype.toString; astring=new String(); astring.toString = tostr; astring.toString()",
     71                                  "",
     72                                   "var tostr=String.prototype.toString; astring=new String(); astring.toString = tostr; astring.toString()" );
     73     array[item++] = new TestCase( SECTION,
     74                                   "var tostr=String.prototype.toString; astring=new String(0); astring.toString = tostr; astring.toString()",
     75                                   "0",
     76                                   "var tostr=String.prototype.toString; astring=new String(0); astring.toString = tostr; astring.toString()" );
     77     array[item++] = new TestCase( SECTION,
     78                                   "var tostr=String.prototype.toString; astring=new String('hello'); astring.toString = tostr; astring.toString()",
     79                                   "hello",
     80                                   "var tostr=String.prototype.toString; astring=new String('hello'); astring.toString = tostr; astring.toString()" );
     81     array[item++] = new TestCase( SECTION,
     82                                   "var tostr=String.prototype.toString; astring=new String(''); astring.toString = tostr; astring.toString()",
     83                                   "",
     84                                   "var tostr=String.prototype.toString; astring=new String(''); astring.toString = tostr; astring.toString()" );
     85 
     86     return ( array );
     87 }
     88