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.2.1.js michael@0: ECMA Section: 15.9.2.1 Date constructor used as a function michael@0: Date( year, month, date, hours, minutes, seconds, ms ) michael@0: Description: The arguments are accepted, but are completely ignored. michael@0: A string is created and returned as if by the michael@0: expression (new Date()).toString(). michael@0: michael@0: Author: christine@netscape.com michael@0: Date: 28 october 1997 michael@0: michael@0: */ michael@0: var VERSION = "ECMA_1"; michael@0: startTest(); michael@0: var SECTION = "15.9.2.1"; michael@0: var TITLE = "Date Constructor used as a function"; michael@0: var TYPEOF = "string"; michael@0: var TOLERANCE = 1000; michael@0: michael@0: writeHeaderToLog("15.9.2.1 The Date Constructor Called as a Function: " + michael@0: "Date( year, month, date, hours, minutes, seconds, ms )" ); michael@0: michael@0: // allow up to 1 second difference due to possibility michael@0: // the date may change by 1 second in between calls to Date michael@0: michael@0: var d1; michael@0: var d2; michael@0: michael@0: // Dates around 1970 michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1970,0,1,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(1970,0,1,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1969,11,31,15,59,59,999)); michael@0: new TestCase(SECTION, "Date(1969,11,31,15,59,59,999)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1969,11,31,16,0,0,0)); michael@0: new TestCase(SECTION, "Date(1969,11,31,16,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1969,11,31,16,0,0,1)); michael@0: new TestCase(SECTION, "Date(1969,11,31,16,0,0,1)", true, d2 - d1 <= 1000); michael@0: michael@0: // Dates around 2000 michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1999,11,15,59,59,999)); michael@0: new TestCase(SECTION, "Date(1999,11,15,59,59,999)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1999,11,16,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(1999,11,16,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1999,11,31,23,59,59,999)); michael@0: new TestCase(SECTION, "Date(1999,11,31,23,59,59,999)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2000,0,0,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(2000,0,1,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2000,0,0,0,0,0,1)); michael@0: new TestCase(SECTION, "Date(2000,0,1,0,0,0,1)", true, d2 - d1 <= 1000); michael@0: michael@0: // Dates around 1900 michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1899,11,31,23,59,59,999)); michael@0: new TestCase(SECTION, "Date(1899,11,31,23,59,59,999)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1900,0,1,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(1900,0,1,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1900,0,1,0,0,0,1)); michael@0: new TestCase(SECTION, "Date(1900,0,1,0,0,0,1)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(1899,11,31,16,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(1899,11,31,16,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: // Dates around feb 29, 2000 michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2000,1,29,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(2000,1,29,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2000,1,28,23,59,59,999)); michael@0: new TestCase(SECTION, "Date(2000,1,28,23,59,59,999)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2000,1,27,16,0,0,0)); michael@0: new TestCase(SECTION, "Date(2000,1,27,16,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: // Dates around jan 1, 2005 michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2004,11,31,23,59,59,999)); michael@0: new TestCase(SECTION, "Date(2004,11,31,23,59,59,999)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2005,0,1,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(2005,0,1,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2005,0,1,0,0,0,1)); michael@0: new TestCase(SECTION, "Date(2005,0,1,0,0,0,1)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2004,11,31,16,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(2004,11,31,16,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: // Dates around jan 1, 2032 michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2031,11,31,23,59,59,999)); michael@0: new TestCase(SECTION, "Date(2031,11,31,23,59,59,999)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2032,0,1,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(2032,0,1,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2032,0,1,0,0,0,1)); michael@0: new TestCase(SECTION, "Date(2032,0,1,0,0,0,1)", true, d2 - d1 <= 1000); michael@0: michael@0: d1 = new Date(); michael@0: d2 = Date.parse(Date(2031,11,31,16,0,0,0,0)); michael@0: new TestCase(SECTION, "Date(2031,11,31,16,0,0,0,0)", true, d2 - d1 <= 1000); michael@0: michael@0: test();