features.i18n.datetimeparsetest.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of shindig-features Show documentation
Show all versions of shindig-features Show documentation
Packages all the features that shindig provides into a single jar file to allow
loading from the classpath
The newest version!
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
/**
* @fileoverview Unit Tests - gadgets.i18n.DateTimeFormat.
*/
function DateTimeParseTest(name) {
TestCase.call(this, name);
}
DateTimeParseTest.inherits(TestCase);
var DateTimeConstants_en = {
ERAS:["BC", "AD"],
ERANAMES:["Before Christ", "Anno Domini"],
NARROWMONTHS:["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
MONTHS:["January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"],
SHORTMONTHS:["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep",
"Oct", "Nov", "Dec"],
WEEKDAYS:["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday",
"Saturday"],
SHORTWEEKDAYS:["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
NARROWWEEKDAYS:["S", "M", "T", "W", "T", "F", "S"],
SHORTQUARTERS:["Q1", "Q2", "Q3", "Q4"],
QUARTERS:["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"],
AMPMS:["AM", "PM"],
DATEFORMATS:["EEEE, MMMM d, yyyy", "MMMM d, yyyy", "MMM d, yyyy", "M/d/yy"],
TIMEFORMATS:["h:mm:ss a v", "h:mm:ss a z", "h:mm:ss a", "h:mm a"],
ZONESTRINGS:null
};
DateTimeConstants_en.STANDALONENARROWMONTHS =
DateTimeConstants_en.NARROWMONTHS;
DateTimeConstants_en.STANDALONEMONTHS = DateTimeConstants_en.MONTHS;
DateTimeConstants_en.STANDALONESHORTMONTHS = DateTimeConstants_en.SHORTMONTHS;
DateTimeConstants_en.STANDALONEWEEKDAYS = DateTimeConstants_en.WEEKDAYS;
DateTimeConstants_en.STANDALONESHORTWEEKDAYS =
DateTimeConstants_en.SHORTWEEKDAYS;
DateTimeConstants_en.STANDALONENARROWWEEKDAYS =
DateTimeConstants_en.NARROWWEEKDAYS;
DateTimeParseTest.prototype.setUp = function() {
gadgets.i18n.dtParser_
= new gadgets.i18n.DateTimeParse(DateTimeConstants_en);
};
DateTimeParseTest.prototype.testNegativeYear = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd, yyyy", "11/22, 1999",
0, date) > 0);
this.assertEquals(1999, date.getFullYear());
this.assertEquals(11 - 1, date.getMonth());
this.assertEquals(22, date.getDate());
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd, yyyy", "11/22, -1999",
0, date) > 0);
this.assertEquals(-1999, date.getFullYear());
this.assertEquals(11 - 1, date.getMonth());
this.assertEquals(22, date.getDate());
};
DateTimeParseTest.prototype.testEra = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd, yyyyG", "11/22, 1999BC",
0, date) > 0);
this.assertEquals(-1998, date.getFullYear());
this.assertEquals(11 - 1, date.getMonth());
this.assertEquals(22, date.getDate());
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd, yyyyG", "11/22, 1BC",
0, date) > 0);
this.assertEquals(0, date.getFullYear());
this.assertEquals(11 - 1, date.getMonth());
this.assertEquals(22, date.getDate());
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd, yyyyG", "11/22, 1999AD",
0, date) > 0);
this.assertEquals(1999, date.getFullYear());
this.assertEquals(11 - 1, date.getMonth());
this.assertEquals(22, date.getDate());
};
DateTimeParseTest.prototype.testFractionalSeconds = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("hh:mm:ss.SSS", "11:12:13.956",
0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(12, date.getMinutes());
this.assertEquals(13, date.getSeconds());
this.assertEquals(956, date.getTime() % 1000);
this.assertTrue(gadgets.i18n.parseDateTime("hh:mm:ss.SSS", "11:12:13.95",
0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(12, date.getMinutes());
this.assertEquals(13, date.getSeconds());
this.assertEquals(950, date.getTime() % 1000);
this.assertTrue(gadgets.i18n.parseDateTime("hh:mm:ss.SSS", "11:12:13.9",
0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(12, date.getMinutes());
this.assertEquals(13, date.getSeconds());
this.assertEquals(900, date.getTime() % 1000);
};
DateTimeParseTest.prototype.testAmbiguousYear = function() {
var date = new Date();
// assume this year is 2006, year 27 to 99 will be interpret as 1927 to 1999
// year 00 to 25 will be 2000 to 2025. Year 26 can be either 1926 or 2026
// depend on the exact time.
var org_date = new Date();
org_date.setFullYear(org_date.getFullYear() + 20);
// following 2 lines only works in 2006. Keep them here as they explained
// our intention better.
//assertTrue(DateTimeParse.parse("01/01/26", 0, "MM/dd/yy", date) > 0);
//assertTrue(date.getYear() == 2026 - 1900);
// rewrite so that it works in any year.
org_date.setMonth(0);
org_date.setDate(1);
org_date.setHours(0);
org_date.setMinutes(0);
org_date.setSeconds(0);
org_date.setMilliseconds(1);
var str = '01/01/' + (org_date.getFullYear() % 100);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yy", str, 0, date) > 0);
this.assertEquals(org_date.getFullYear(), date.getFullYear());
// following 2 lines only works in 2006. Keep them here as they explained
// our intention better.
//assertTrue(DateTimeParse.parse("MM/dd/yy", "12/30/26", 0, date) > 0);
//assertTrue(date.getYear() == 1926 - 1900);
// rewrite so that it works in any year.
org_date.setMonth(11);
org_date.setDate(31);
org_date.setHours(23);
org_date.setMinutes(59);
org_date.setSeconds(59);
org_date.setMilliseconds(999);
str = '12/31/' + (org_date.getFullYear() % 100);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yy", str, 0, date) > 0);
this.assertEquals(org_date.getFullYear(), date.getFullYear() + 100);
this.assertTrue(
gadgets.i18n.parseDateTime("yy,MM,dd", "2097,07,21", 0, date) > 0);
this.assertEquals(2097, date.getFullYear());
// Test the ability to move the disambiguation century
gadgets.i18n.DateTimeParse.ambiguousYearCenturyStart = 60;
org_date.setMonth(0);
org_date.setDate(1);
org_date.setHours(0);
org_date.setMinutes(0);
org_date.setSeconds(0);
org_date.setMilliseconds(1);
str = '01/01/' + (org_date.getFullYear() % 100);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yy", str, 0, date) > 0);
this.assertEquals(org_date.getFullYear(), date.getFullYear());
// Increment org_date 20 more years
org_date.setFullYear(date.getFullYear() + 20);
str = '01/01/' + (org_date.getFullYear() % 100);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yy", str, 0, date) > 0);
this.assertEquals(org_date.getFullYear(), date.getFullYear());
org_date.setFullYear(date.getFullYear() + 21);
str = '01/01/' + (org_date.getFullYear() % 100);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yy", str, 0, date) > 0);
this.assertEquals(org_date.getFullYear(), date.getFullYear() + 100);
// Reset parameter for other test cases
gadgets.i18n.DateTimeParse.ambiguousYearCenturyStart = 80;
};
DateTimeParseTest.prototype.testLeapYear = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("MMdd, yyyy", "0229, 2001",
0, date) > 0);
this.assertEquals(3 - 1, date.getMonth());
this.assertEquals(1, date.getDate());
this.assertTrue(gadgets.i18n.parseDateTime("MMdd, yyyy", "0229, 2000",
0, date) > 0);
this.assertEquals(2 - 1, date.getMonth());
this.assertEquals(29, date.getDate());
};
DateTimeParseTest.prototype.testAbutField = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("hhmm", "1122", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmm", "122", 0, date) > 0);
this.assertEquals(1, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(
gadgets.i18n.parseDateTime("hhmmss", "112233", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertEquals(33, date.getSeconds());
this.assertTrue(
gadgets.i18n.parseDateTime("hhmmss", "12233", 0, date) > 0);
this.assertEquals(1, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertEquals(33, date.getSeconds());
this.assertTrue(
gadgets.i18n.parseDateTime("yyyyMMdd", "19991202", 0, date) > 0);
this.assertEquals(1999, date.getFullYear());
this.assertEquals(12 - 1, date.getMonth());
this.assertEquals(02, date.getDate());
this.assertTrue(
gadgets.i18n.parseDateTime("yyyyMMdd", "9991202", 0, date) > 0);
this.assertTrue(date.getFullYear() == 999);
this.assertEquals(12 - 1, date.getMonth());
this.assertEquals(02, date.getDate());
this.assertTrue(
gadgets.i18n.parseDateTime("yyyyMMdd", "991202", 0, date) > 0);
this.assertEquals(99, date.getFullYear());
this.assertEquals(12 - 1, date.getMonth());
this.assertEquals(02, date.getDate());
this.assertTrue(
gadgets.i18n.parseDateTime("yyyyMMdd", "91202", 0, date) > 0);
this.assertEquals(9, date.getFullYear());
this.assertEquals(12 - 1, date.getMonth());
this.assertEquals(02, date.getDate());
};
DateTimeParseTest.prototype.testYearParsing = function() {
var date = new Date();
this.assertTrue(
gadgets.i18n.parseDateTime("yyMMdd", "991202", 0, date) > 0);
this.assertEquals(1999, date.getFullYear());
this.assertEquals(12 - 1, date.getMonth());
this.assertEquals(02, date.getDate());
this.assertTrue(
gadgets.i18n.parseDateTime("yyyyMMdd", "20051202", 0, date) > 0);
this.assertEquals(2005, date.getFullYear());
this.assertEquals(12 - 1, date.getMonth());
this.assertEquals(02, date.getDate());
};
DateTimeParseTest.prototype.testHourParsing_hh = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("hhmm", "0022", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmm", "1122", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmm", "1222", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmm", "2322", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmm", "2422", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "0022am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "1122am", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "1222am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "2322am", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "2422am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "0022pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "1122pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "1222pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "2322pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("hhmma", "2422pm", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
};
DateTimeParseTest.prototype.testHourParsing_KK = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("KKmm", "0022", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmm", "1122", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmm", "1222", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmm", "2322", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmm", "2422", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "0022am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "1122am", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "1222am", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "2322am", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "2422am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "0022pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "1122pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "1222pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "2322pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("KKmma", "2422pm", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
};
DateTimeParseTest.prototype.testHourParsing_kk = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("kkmm", "0022", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmm", "1122", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmm", "1222", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmm", "2322", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmm", "2422", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "0022am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "1122am", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "1222am", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "2322am", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "2422am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "0022pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "1122pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "1222pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "2322pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("kkmma", "2422pm", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
};
DateTimeParseTest.prototype.testHourParsing_HH = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("HHmm", "0022", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmm", "1122", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmm", "1222", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmm", "2322", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmm", "2422", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "0022am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "1122am", 0, date) > 0);
this.assertEquals(11, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "1222am", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "2322am", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "2422am", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "0022pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "1122pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "1222pm", 0, date) > 0);
this.assertEquals(12, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "2322pm", 0, date) > 0);
this.assertEquals(23, date.getHours());
this.assertEquals(22, date.getMinutes());
this.assertTrue(gadgets.i18n.parseDateTime("HHmma", "2422pm", 0, date) > 0);
this.assertEquals(00, date.getHours());
this.assertEquals(22, date.getMinutes());
};
DateTimeParseTest.prototype.testEnglishDate = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("yyyy MMM dd hh:mm",
"2006 Jul 10 15:44", 0, date) > 0);
this.assertEquals(2006, date.getFullYear());
this.assertEquals(7 - 1, date.getMonth());
this.assertEquals(10, date.getDate());
this.assertEquals(15, date.getHours());
this.assertEquals(44, date.getMinutes());
};
DateTimeParseTest.prototype.testTimeZone = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yyyy, hh:mm:ss zzz",
"07/21/2003, 11:22:33 GMT-0700", 0,
date) > 0);
var hour_GmtMinus07 = date.getHours();
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yyyy, hh:mm:ss zzz",
"07/21/2003, 11:22:33 GMT-0600", 0,
date) > 0);
var hour_GmtMinus06 = date.getHours();
this.assertEquals(1, (hour_GmtMinus07 + 24 - hour_GmtMinus06) % 24);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yyyy, hh:mm:ss zzz",
"07/21/2003, 11:22:33 GMT-0800", 0,
date) > 0);
var hour_GmtMinus08 = date.getHours();
this.assertEquals(1, (hour_GmtMinus08 + 24 - hour_GmtMinus07) % 24);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yyyy, HH:mm:ss zzz",
"07/21/2003, 23:22:33 GMT-0800", 0,
date) > 0);
this.assertEquals((date.getHours() + 24 - hour_GmtMinus07) % 24, 13);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yyyy, HH:mm:ss zzz",
"07/21/2003, 11:22:33 GMT+0800", 0,
date) > 0);
var hour_Gmt08 = date.getHours();
this.assertEquals(16, (hour_GmtMinus08 + 24 - hour_Gmt08) % 24);
this.assertTrue(gadgets.i18n.parseDateTime("MM/dd/yyyy, HH:mm:ss zzz",
"07/21/2003, 11:22:33 GMT0800", 0,
date) > 0);
this.assertEquals(hour_Gmt08, date.getHours());
};
DateTimeParseTest.prototype.testWeekDay = function() {
var date = new Date();
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/dd/yyyy",
"Wednesday, 08/16/2006", 0, date) > 0);
this.assertEquals(2006, date.getFullYear());
this.assertEquals(8 - 1, date.getMonth());
this.assertEquals(16, date.getDate());
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/dd/yyyy",
"Tuesday, 08/16/2006", 0, date) == 0);
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/dd/yyyy",
"Thursday, 08/16/2006", 0, date) == 0);
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/dd/yyyy",
"Wed, 08/16/2006", 0, date) > 0);
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/dd/yyyy",
"Wasdfed, 08/16/2006", 0, date) == 0);
date.setDate(25);
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/yyyy",
"Wed, 09/2006", 0, date) > 0);
this.assertEquals(27, date.getDate());
date.setDate(30);
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/yyyy",
"Wed, 09/2006", 0, date) > 0);
this.assertEquals(27, date.getDate());
date.setDate(30);
this.assertTrue(gadgets.i18n.parseDateTime("EEEE, MM/yyyy",
"Mon, 09/2006", 0, date) > 0);
this.assertEquals(25, date.getDate());
};
© 2015 - 2024 Weber Informatics LLC | Privacy Policy