]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/mozilla/ecma/Date/15.9.5.3-2.js
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/
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.
11 * The Original Code is Mozilla Communicator client code, released March
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
23 File Name: 15.9.5.3-2.js
24 ECMA Section: 15.9.5.3-2 Date.prototype.valueOf
27 The valueOf function returns a number, which is this time value.
29 The valueOf function is not generic; it generates a runtime error if
30 its this value is not a Date object. Therefore it cannot be transferred
31 to other kinds of objects for use as a method.
33 Author: christine@netscape.com
34 Date: 12 november 1997
37 var SECTION
= "15.9.5.3-2";
38 var VERSION
= "ECMA_1";
40 var TITLE
= "Date.prototype.valueOf";
42 writeHeaderToLog( SECTION
+ " "+ TITLE
);
44 var testcases
= new Array();
47 var TZ_ADJUST
= TZ_DIFF
* msPerHour
;
48 var now
= (new Date()).valueOf();
49 var UTC_29_FEB_2000
= TIME_2000
+ 31*msPerDay
+ 28*msPerDay
;
50 var UTC_1_JAN_2005
= TIME_2000
+ TimeInYear(2000) + TimeInYear(2001)+
51 TimeInYear(2002)+TimeInYear(2003)+TimeInYear(2004);
54 addTestCase( TIME_1970
);
55 addTestCase( TIME_1900
);
56 addTestCase( TIME_2000
);
57 addTestCase( UTC_29_FEB_2000
);
58 addTestCase( UTC_1_JAN_2005
);
62 function addTestCase( t
) {
63 testcases
[tc
++] = new TestCase( SECTION
,
64 "(new Date("+t
+").valueOf()",
66 (new Date(t
)).valueOf() );
68 testcases
[tc
++] = new TestCase( SECTION
,
69 "(new Date("+(t
+1)+").valueOf()",
71 (new Date(t
+1)).valueOf() );
73 testcases
[tc
++] = new TestCase( SECTION
,
74 "(new Date("+(t
-1)+").valueOf()",
76 (new Date(t
-1)).valueOf() );
78 testcases
[tc
++] = new TestCase( SECTION
,
79 "(new Date("+(t
-TZ_ADJUST
)+").valueOf()",
81 (new Date(t
-TZ_ADJUST
)).valueOf() );
83 testcases
[tc
++] = new TestCase( SECTION
,
84 "(new Date("+(t
+TZ_ADJUST
)+").valueOf()",
86 (new Date(t
+TZ_ADJUST
)).valueOf() );
89 function MyObject( value
) {
91 this.valueOf
= Date
.prototype.valueOf
;
92 this.toString
= new Function( "return this+\"\";");
96 for ( tc
=0; tc
< testcases
.length
; tc
++ ) {
97 testcases
[tc
].passed
= writeTestCaseResult(
100 testcases
[tc
].description
+" = "+
101 testcases
[tc
].actual
);
103 testcases
[tc
].reason
+= ( testcases
[tc
].passed
) ? "" : "wrong value ";
106 return ( testcases
);