michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: michael@0: /** michael@0: File Name: 15.9.5.2.js michael@0: ECMA Section: 15.9.5.2 Date.prototype.toString michael@0: Description: michael@0: This function returns a string value. The contents of the string are michael@0: implementation dependent, but are intended to represent the Date in a michael@0: convenient, human-readable form in the current time zone. michael@0: michael@0: The toString function is not generic; it generates a runtime error if its michael@0: this value is not a Date object. Therefore it cannot be transferred to michael@0: other kinds of objects for use as a method. michael@0: michael@0: Author: christine@netscape.com michael@0: Date: 12 november 1997 michael@0: */ michael@0: michael@0: var SECTION = "15.9.5.2"; michael@0: var VERSION = "ECMA_1"; michael@0: startTest(); michael@0: var TITLE = "Date.prototype.toString"; michael@0: michael@0: writeHeaderToLog( SECTION + " "+ TITLE); michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.prototype.toString.length", michael@0: 0, michael@0: Date.prototype.toString.length ); michael@0: michael@0: var now = new Date(); michael@0: michael@0: // can't test the content of the string, but can verify that the string is michael@0: // parsable by Date.parse michael@0: michael@0: new TestCase( SECTION, michael@0: "Math.abs(Date.parse(now.toString()) - now.valueOf()) < 1000", michael@0: true, michael@0: Math.abs(Date.parse(now.toString()) - now.valueOf()) < 1000 ); michael@0: michael@0: new TestCase( SECTION, michael@0: "typeof now.toString()", michael@0: "string", michael@0: typeof now.toString() ); michael@0: // 1970 michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date(0)).toString() )", michael@0: 0, michael@0: Date.parse( (new Date(0)).toString() ) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+TZ_ADJUST+")).toString() )", michael@0: TZ_ADJUST, michael@0: Date.parse( (new Date(TZ_ADJUST)).toString() ) ); michael@0: michael@0: // 1900 michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+TIME_1900+")).toString() )", michael@0: TIME_1900, michael@0: Date.parse( (new Date(TIME_1900)).toString() ) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+TIME_1900 -TZ_ADJUST+")).toString() )", michael@0: TIME_1900 -TZ_ADJUST, michael@0: Date.parse( (new Date(TIME_1900 -TZ_ADJUST)).toString() ) ); michael@0: michael@0: // 2000 michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+TIME_2000+")).toString() )", michael@0: TIME_2000, michael@0: Date.parse( (new Date(TIME_2000)).toString() ) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+TIME_2000 -TZ_ADJUST+")).toString() )", michael@0: TIME_2000 -TZ_ADJUST, michael@0: Date.parse( (new Date(TIME_2000 -TZ_ADJUST)).toString() ) ); michael@0: michael@0: // 29 Feb 2000 michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+UTC_FEB_29_2000+")).toString() )", michael@0: UTC_FEB_29_2000, michael@0: Date.parse( (new Date(UTC_FEB_29_2000)).toString() ) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+(UTC_FEB_29_2000-1000)+")).toString() )", michael@0: UTC_FEB_29_2000-1000, michael@0: Date.parse( (new Date(UTC_FEB_29_2000-1000)).toString() ) ); michael@0: michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+(UTC_FEB_29_2000-TZ_ADJUST)+")).toString() )", michael@0: UTC_FEB_29_2000-TZ_ADJUST, michael@0: Date.parse( (new Date(UTC_FEB_29_2000-TZ_ADJUST)).toString() ) ); michael@0: // 2O05 michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+UTC_JAN_1_2005+")).toString() )", michael@0: UTC_JAN_1_2005, michael@0: Date.parse( (new Date(UTC_JAN_1_2005)).toString() ) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+(UTC_JAN_1_2005-1000)+")).toString() )", michael@0: UTC_JAN_1_2005-1000, michael@0: Date.parse( (new Date(UTC_JAN_1_2005-1000)).toString() ) ); michael@0: michael@0: new TestCase( SECTION, michael@0: "Date.parse( (new Date("+(UTC_JAN_1_2005-TZ_ADJUST)+")).toString() )", michael@0: UTC_JAN_1_2005-TZ_ADJUST, michael@0: Date.parse( (new Date(UTC_JAN_1_2005-TZ_ADJUST)).toString() ) ); michael@0: michael@0: test();