summaryrefslogtreecommitdiffstats
path: root/js/src/tests/js1_5/extensions/toLocaleFormat-01.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/js1_5/extensions/toLocaleFormat-01.js')
-rw-r--r--js/src/tests/js1_5/extensions/toLocaleFormat-01.js230
1 files changed, 230 insertions, 0 deletions
diff --git a/js/src/tests/js1_5/extensions/toLocaleFormat-01.js b/js/src/tests/js1_5/extensions/toLocaleFormat-01.js
new file mode 100644
index 000000000..02f269125
--- /dev/null
+++ b/js/src/tests/js1_5/extensions/toLocaleFormat-01.js
@@ -0,0 +1,230 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 291494;
+var summary = 'Date.prototype.toLocaleFormat extension';
+var actual = '';
+var expect = '';
+var temp;
+
+/*
+ * SpiderMonkey only.
+ *
+ * When the output of toLocaleFormat exceeds 100 bytes toLocaleFormat
+ * defaults to using toString to produce the result.
+*/
+
+enterFunc ('test');
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+var date = new Date("06/05/2005 00:00:00 GMT-0000");
+
+expect = date.getTimezoneOffset() > 0 ? 'Sat' : 'Sun';
+actual = date.toLocaleFormat('%a');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%a")');
+
+expect = date.getTimezoneOffset() > 0 ? 'Saturday' : 'Sunday';
+actual = date.toLocaleFormat('%A');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%A")');
+
+expect = 'Jun';
+actual = date.toLocaleFormat('%b');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%b")');
+
+expect = 'June';
+actual = date.toLocaleFormat('%B');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%B")');
+
+expect = (date.getTimezoneOffset() > 0) ? '04' : '05';
+actual = date.toLocaleFormat('%d');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%d")');
+
+expect = '0';
+actual = String((Number(date.toLocaleFormat('%H')) +
+ date.getTimezoneOffset()/60) % 24);
+reportCompare(expect, actual, 'Date.toLocaleFormat(%H)');
+
+expect = '12';
+actual = String(Number(date.toLocaleFormat('%I')) +
+ date.getTimezoneOffset()/60);
+reportCompare(expect, actual, 'Date.toLocaleFormat(%I)');
+
+expect = String(155 + ((date.getTimezoneOffset() > 0) ? 0 : 1));
+actual = date.toLocaleFormat('%j');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%j")');
+
+expect = '06';
+actual = date.toLocaleFormat('%m');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%m")');
+
+expect = '00';
+actual = date.toLocaleFormat('%M');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%M")');
+
+expect = true;
+temp = date.toLocaleFormat('%p');
+actual = temp == 'AM' || date.toLocaleFormat('%p') == 'PM';
+reportCompare(expect, actual, 'Date.toLocaleFormat("%p") is AM or PM');
+
+expect = '00';
+actual = date.toLocaleFormat('%S');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%S")');
+
+expect = String(22 + ((date.getTimezoneOffset() > 0) ? 0 : 1));
+actual = date.toLocaleFormat('%U');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%U")');
+
+expect = String((6 + ((date.getTimezoneOffset() > 0) ? 0 : 1))%7);
+actual = date.toLocaleFormat('%w');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%w")');
+
+expect = '22';
+actual = date.toLocaleFormat('%W');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%W")');
+
+expect = '05';
+actual = date.toLocaleFormat('%y');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%y")');
+
+expect = '2005';
+actual = date.toLocaleFormat('%Y');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%Y")');
+
+expect = '%';
+actual = date.toLocaleFormat('%%');
+reportCompare(expect, actual, 'Date.toLocaleFormat("%%")');
+
+
+expect = '1899 99';
+temp='%Y %y';
+actual = new Date(0, 0, 0, 13, 14, 15, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '1899189918991899189918991899189918991899189918991899189918991899189918991899189918991899';
+temp = '%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(0, 0, 0, 13, 14, 15, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = 'xxx189918991899189918991899189918991899189918991899189918991899189918991899189918991899189918991899';
+temp = 'xxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(0, 0, 0, 13, 14, 15, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = new Date(0, 0, 0, 13, 14, 15, 0).toString();
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(0, 0, 0, 13, 14, 15, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = 'xxxx189918991899189918991899189918991899';
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(0, 0, 0, 13, 14, 15, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+
+expect = '-51 49';
+temp = '%Y %y';
+actual = new Date(-51, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51';
+temp = '%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(-51, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = 'xxx-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51-51';
+temp = 'xxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(-51, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = new Date(-51, 0).toString();
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(-51, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+
+expect = '1851 51';
+temp = '%Y %y';
+actual = new Date(1851, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '1851185118511851185118511851185118511851185118511851185118511851185118511851185118511851';
+temp = '%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(1851, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = 'xxx185118511851185118511851185118511851185118511851185118511851185118511851185118511851185118511851';
+temp = 'xxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(1851, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = new Date(1851, 0).toString();
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(1851, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+
+expect = '-1 99';
+temp = '%Y %y';
+actual = new Date(-1, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '-100 00';
+temp = '%Y %y';
+actual = new Date(-100, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '1900 00';
+temp = '%Y %y';
+actual = new Date(0, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '1901 01';
+temp = '%Y %y';
+actual = new Date(1, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '1970 70';
+temp = '%Y %y';
+actual = new Date(1970, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+
+expect = new Date(32767, 0).toString();
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(32767, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = '32767327673276732767327673276732767327673276732767327673276732767327673276732767327673276732767';
+temp = '%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(32767, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = 'xxxx32767327673276732767327673276732767327673276732767327673276732767327673276732767327673276732767';
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(32767, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = new Date(32767, 0).toString();
+temp = 'xxxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(32767, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+
+expect = '-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999';
+temp = '%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(-9999, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = 'xxxx-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999';
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(-9999, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');
+
+expect = new Date(-9999, 0).toString();
+temp = 'xxxx%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y%Y';
+actual = new Date(-9999, 0).toLocaleFormat(temp);
+reportCompare(expect, actual, 'Date.toLocaleFormat("'+temp+'")');