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.js 24 ECMA Section: 15.5.4.2 String.prototype.toString 25 26 Description: 27 Author: christine@netscape.com 28 Date: 28 october 1997 29 30*/ 31 var SECTION = "15.5.4.2"; 32 var VERSION = "ECMA_1"; 33 startTest(); 34 var TITLE = "String.prototype.tostring"; 35 36 writeHeaderToLog( SECTION + " "+ TITLE); 37 38 var testcases = getTestCases(); 39 test(); 40 41function getTestCases() { 42 var array = new Array(); 43 var item = 0; 44 45 array[item++] = new TestCase( SECTION, "String.prototype.toString.__proto__", Function.prototype, String.prototype.toString.__proto__ ); 46 array[item++] = new TestCase( SECTION, 47 "String.prototype.toString() == String.prototype.valueOf()", 48 true, 49 String.prototype.toString() == String.prototype.valueOf() ); 50 51 array[item++] = new TestCase( SECTION, "String.prototype.toString()", "", String.prototype.toString() ); 52 array[item++] = new TestCase( SECTION, "String.prototype.toString.length", 0, String.prototype.toString.length ); 53 54 55 array[item++] = new TestCase( SECTION, 56 "TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()", 57 true, 58 eval("TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()") ); 59 array[item++] = new TestCase( SECTION, 60 "TESTSTRING = new String(true);TESTSTRING.valueOf() == TESTSTRING.toString()", 61 true, 62 eval("TESTSTRING = new String(true);TESTSTRING.valueOf() == TESTSTRING.toString()") ); 63 array[item++] = new TestCase( SECTION, 64 "TESTSTRING = new String(false);TESTSTRING.valueOf() == TESTSTRING.toString()", 65 true, 66 eval("TESTSTRING = new String(false);TESTSTRING.valueOf() == TESTSTRING.toString()") ); 67 array[item++] = new TestCase( SECTION, 68 "TESTSTRING = new String(Math.PI);TESTSTRING.valueOf() == TESTSTRING.toString()", 69 true, 70 eval("TESTSTRING = new String(Math.PI);TESTSTRING.valueOf() == TESTSTRING.toString()") ); 71 array[item++] = new TestCase( SECTION, 72 "TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()", 73 true, 74 eval("TESTSTRING = new String();TESTSTRING.valueOf() == TESTSTRING.toString()") ); 75 76 return ( array ); 77} 78function test( array ) { 79 for ( ; tc < testcases.length; tc++ ) { 80 testcases[tc].passed = writeTestCaseResult( 81 testcases[tc].expect, 82 testcases[tc].actual, 83 testcases[tc].description +" = "+ testcases[tc].actual ); 84 85 testcases[tc].reason += ( testcases[tc].passed ) ? "" : "wrong value "; 86 } 87 88 stopTest(); 89 90 // all tests must return an array of TestCase objects 91 return ( testcases ); 92} 93