18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/** 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project File Name: date-001.js 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Corresponds To: 15.9.5.2-2.js 48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project ECMA Section: 15.9.5.2 Date.prototype.toString 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Description: 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project This function returns a string value. The contents of the string are 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project implementation dependent, but are intended to represent the Date in a 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project convenient, human-readable form in the current time zone. 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project The toString function is not generic; it generates a runtime error if its 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project this value is not a Date object. Therefore it cannot be transferred to 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project other kinds of objects for use as a method. 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project This verifies that calling toString on an object that is not a string 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project generates a runtime error. 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Author: christine@netscape.com 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project Date: 12 november 1997 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/ 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var SECTION = "date-001"; 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var VERSION = "JS1_4"; 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var TITLE = "Date.prototype.toString"; 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project startTest(); 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project writeHeaderToLog( SECTION + " "+ TITLE); 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var tc = 0; 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var testcases = new Array(); 308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var result = "Failed"; 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var exception = "No exception thrown"; 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var expect = "Passed"; 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project try { 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project var OBJ = new MyObject( new Date(0) ); 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result = OBJ.toString(); 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } catch ( e ) { 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result = expect; 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project exception = e.toString(); 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project } 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project testcases[tc++] = new TestCase( 448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project SECTION, 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project "OBJECT = new MyObject( new Date(0)) ; result = OBJ.toString()" + 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project " (threw " + exception +")", 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project expect, 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project result ); 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project test(); 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfunction MyObject( value ) { 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project this.value = value; 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project this.valueOf = new Function( "return this.value" ); 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project this.toString = Date.prototype.toString; 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project return this; 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} 58