|
1 // |reftest| fails-if(xulRuntime.OS=="WINNT") skip-if(xulRuntime.OS=="WINNT"&&isDebugBuild) |
|
2 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
3 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
4 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
6 |
|
7 //----------------------------------------------------------------------------- |
|
8 var BUGNUMBER = 291494; |
|
9 var summary = 'Date.prototype.toLocaleFormat extension'; |
|
10 var actual = ''; |
|
11 var expect = ''; |
|
12 var temp; |
|
13 |
|
14 /* |
|
15 * SpiderMonkey only. |
|
16 * |
|
17 * This test uses format strings which are not supported cross |
|
18 * platform and are expected to fail on at least some platforms |
|
19 * however they all currently pass on Linux (Fedora Core 6). They are |
|
20 * included here in order to increase coverage for cases where a crash |
|
21 * may occur. These failures will be tracked in the |
|
22 * mozilla/js/tests/public-failures.txt list. |
|
23 * |
|
24 */ |
|
25 |
|
26 enterFunc ('test'); |
|
27 printBugNumber(BUGNUMBER); |
|
28 printStatus (summary); |
|
29 |
|
30 var date = new Date("06/05/2005 00:00:00 GMT-0000"); |
|
31 |
|
32 expect = '20'; |
|
33 actual = date.toLocaleFormat('%C'); |
|
34 reportCompare(expect, actual, 'Date.toLocaleFormat("%C")'); |
|
35 |
|
36 expect = date.toLocaleFormat('%C%y'); |
|
37 actual = date.toLocaleFormat('%Y'); |
|
38 reportCompare(expect, actual, 'Date.toLocaleFormat("%C%y") == ' + |
|
39 'Date.toLocaleFormat("%Y")'); |
|
40 |
|
41 expect = date.toLocaleFormat('%m/%d/%y'); |
|
42 actual = date.toLocaleFormat('%D'); |
|
43 reportCompare(expect, actual, 'Date.toLocaleFormat("%m/%d/%y") == ' + |
|
44 'Date.toLocaleFormat("%D")'); |
|
45 |
|
46 expect = (date.getTimezoneOffset() > 0) ? ' 4' : ' 5'; |
|
47 actual = date.toLocaleFormat('%e'); |
|
48 reportCompare(expect, actual, 'Date.toLocaleFormat("%e")'); |
|
49 |
|
50 expect = date.toLocaleFormat('%Y-%m-%d'); |
|
51 actual = date.toLocaleFormat('%F'); |
|
52 reportCompare(expect, actual, 'Date.toLocaleFormat("%Y-%m-%d") == ' + |
|
53 'Date.toLocaleFormat("%F")'); |
|
54 |
|
55 expect = '05'; |
|
56 actual = date.toLocaleFormat('%g'); |
|
57 reportCompare(expect, actual, 'Date.toLocaleFormat("%g")'); |
|
58 |
|
59 expect = '2005'; |
|
60 actual = date.toLocaleFormat('%G'); |
|
61 reportCompare(expect, actual, 'Date.toLocaleFormat("%G")'); |
|
62 |
|
63 expect = date.toLocaleFormat('%b'); |
|
64 actual = date.toLocaleFormat('%h'); |
|
65 reportCompare(expect, actual, 'Date.toLocaleFormat("%b") == ' + |
|
66 'Date.toLocaleFormat("%h")'); |
|
67 |
|
68 expect = '\n'; |
|
69 actual = date.toLocaleFormat('%n'); |
|
70 reportCompare(expect, actual, 'Date.toLocaleFormat("%n") == "\\n"'); |
|
71 |
|
72 expect = date.toLocaleFormat('%I:%M:%S %p'); |
|
73 actual = date.toLocaleFormat('%r'); |
|
74 reportCompare(expect, actual, 'Date.toLocaleFormat("%I:%M:%S %p") == ' + |
|
75 'Date.toLocaleFormat("%r")'); |
|
76 |
|
77 expect = date.toLocaleFormat('%H:%M'); |
|
78 actual = date.toLocaleFormat('%R'); |
|
79 reportCompare(expect, actual, 'Date.toLocaleFormat("%H:%M") == ' + |
|
80 'Date.toLocaleFormat("%R")'); |
|
81 |
|
82 expect = '\t'; |
|
83 actual = date.toLocaleFormat('%t'); |
|
84 reportCompare(expect, actual, 'Date.toLocaleFormat("%t") == "\\t"'); |
|
85 |
|
86 expect = date.toLocaleFormat('%H:%M:%S'); |
|
87 actual = date.toLocaleFormat('%T'); |
|
88 reportCompare(expect, actual, 'Date.toLocaleFormat("%H:%M:%S") == ' + |
|
89 'Date.toLocaleFormat("%T")'); |
|
90 |
|
91 expect = String(6 + ((date.getTimezoneOffset() > 0) ? 0 : 1)); |
|
92 actual = date.toLocaleFormat('%u'); |
|
93 reportCompare(expect, actual, 'Date.toLocaleFormat("%u")'); |
|
94 |
|
95 expect = '22'; |
|
96 actual = date.toLocaleFormat('%V'); |
|
97 reportCompare(expect, actual, 'Date.toLocaleFormat("%V")'); |
|
98 |
|
99 print('Note: For Date.toLocaleFormat("%m/%d/%y") == Date.toLocaleFormat("%x") ' + |
|
100 'to pass in Windows, the Regional Setting for the short date must be ' + |
|
101 'set to mm/dd/yyyy'); |
|
102 expect = date.toLocaleFormat('%m/%d/%Y'); |
|
103 actual = date.toLocaleFormat('%x'); |
|
104 reportCompare(expect, actual, 'Date.toLocaleFormat("%m/%d/%Y") == ' + |
|
105 'Date.toLocaleFormat("%x")'); |