Adding mapbox-gl branch
This commit is contained in:
@@ -0,0 +1,258 @@
|
||||
// Copyright 2006 The Closure Library Authors. All Rights Reserved.
|
||||
//
|
||||
// Licensed 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.
|
||||
|
||||
goog.provide('goog.date.DateRangeTest');
|
||||
goog.setTestOnly('goog.date.DateRangeTest');
|
||||
|
||||
goog.require('goog.date.Date');
|
||||
goog.require('goog.date.DateRange');
|
||||
goog.require('goog.date.Interval');
|
||||
goog.require('goog.i18n.DateTimeSymbols');
|
||||
goog.require('goog.testing.jsunit');
|
||||
|
||||
var gd = goog.date.Date;
|
||||
var gdr = goog.date.DateRange;
|
||||
var gdi = goog.date.Interval;
|
||||
|
||||
function testDateRange() {
|
||||
var date1 = new gd(2000, 0, 1);
|
||||
var date2 = new gd(2000, 1, 1);
|
||||
|
||||
var range = new gdr(date1, date2);
|
||||
assertTrue('startDate matches', date1.equals(range.getStartDate()));
|
||||
assertTrue('endDate matches', date2.equals(range.getEndDate()));
|
||||
}
|
||||
|
||||
function testDateRangeEquals() {
|
||||
var date1 = new gd(2000, 0, 1);
|
||||
var date2 = new gd(2000, 1, 1);
|
||||
|
||||
var range1 = new gdr(date1, date2);
|
||||
var range2 = new gdr(date1, date2);
|
||||
assertTrue('equals', gdr.equals(range1, range2));
|
||||
}
|
||||
|
||||
function testDateRangeNotEquals() {
|
||||
var date1 = new gd(2000, 0, 1);
|
||||
var date2 = new gd(2000, 1, 1);
|
||||
|
||||
var range1 = new gdr(date1, date2);
|
||||
var range2 = new gdr(date2, date1);
|
||||
assertFalse('not equals', gdr.equals(range1, range2));
|
||||
}
|
||||
|
||||
function testOffsetInDays() {
|
||||
var d = new gd(2000, 0, 1);
|
||||
var f = gdr.offsetInDays_;
|
||||
|
||||
assertTrue('same day', d.equals(f(d, 0)));
|
||||
assertTrue('next day', new gd(2000, 0, 2).equals(f(d, 1)));
|
||||
assertTrue('last day', new gd(1999, 11, 31).equals(f(d, -1)));
|
||||
}
|
||||
|
||||
function testCurrentOrLastMonday() {
|
||||
var mon = new gd(2008, 9, 13);
|
||||
var tue = new gd(2008, 9, 14);
|
||||
var wed = new gd(2008, 9, 15);
|
||||
var thu = new gd(2008, 9, 16);
|
||||
var fri = new gd(2008, 9, 17);
|
||||
var sat = new gd(2008, 9, 18);
|
||||
var sun = new gd(2008, 9, 19);
|
||||
var f = gdr.currentOrLastMonday_;
|
||||
|
||||
assertTrue('mon', mon.equals(f(mon)));
|
||||
assertTrue('tue', mon.equals(f(tue)));
|
||||
assertTrue('wed', mon.equals(f(wed)));
|
||||
assertTrue('thu', mon.equals(f(thu)));
|
||||
assertTrue('fri', mon.equals(f(fri)));
|
||||
assertTrue('sat', mon.equals(f(sat)));
|
||||
assertTrue('sun', mon.equals(f(sun)));
|
||||
}
|
||||
|
||||
function testOffsetInMonths() {
|
||||
var d = new gd(2008, 9, 13);
|
||||
var f = gdr.offsetInMonths_;
|
||||
|
||||
assertTrue('this month', new gd(2008, 9, 1).equals(f(d, 0)));
|
||||
assertTrue('last month', new gd(2008, 8, 1).equals(f(d, -1)));
|
||||
assertTrue('next month', new gd(2008, 10, 1).equals(f(d, 1)));
|
||||
assertTrue('next year', new gd(2009, 9, 1).equals(f(d, 12)));
|
||||
assertTrue('last year', new gd(2007, 9, 1).equals(f(d, -12)));
|
||||
}
|
||||
|
||||
function testYesterday() {
|
||||
var d = new gd(2008, 9, 13);
|
||||
var s = new gd(2008, 9, 12);
|
||||
var e = new gd(2008, 9, 12);
|
||||
assertStartEnd('yesterday', s, e, gdr.yesterday(d));
|
||||
}
|
||||
|
||||
function testToday() {
|
||||
var d = new gd(2008, 9, 13);
|
||||
assertStartEnd('today', d, d, gdr.today(d));
|
||||
}
|
||||
|
||||
function testLast7Days() {
|
||||
var d = new gd(2008, 9, 13);
|
||||
var s = new gd(2008, 9, 6);
|
||||
var e = new gd(2008, 9, 12);
|
||||
assertStartEnd('last7Days', s, e, gdr.last7Days(d));
|
||||
assertStartEnd('last7Days by key', s, e,
|
||||
gdr.standardDateRange(gdr.StandardDateRangeKeys.LAST_7_DAYS, d));
|
||||
}
|
||||
|
||||
function testThisMonth() {
|
||||
var d = new gd(2008, 9, 13);
|
||||
var s = new gd(2008, 9, 1);
|
||||
var e = new gd(2008, 9, 31);
|
||||
assertStartEnd('thisMonth', s, e, gdr.thisMonth(d));
|
||||
assertStartEnd('thisMonth by key', s, e,
|
||||
gdr.standardDateRange(gdr.StandardDateRangeKeys.THIS_MONTH, d));
|
||||
}
|
||||
|
||||
function testLastMonth() {
|
||||
var d = new gd(2008, 9, 13);
|
||||
var s = new gd(2008, 8, 1);
|
||||
var e = new gd(2008, 8, 30);
|
||||
assertStartEnd('lastMonth', s, e, gdr.lastMonth(d));
|
||||
assertStartEnd('lastMonth by key', s, e,
|
||||
gdr.standardDateRange(gdr.StandardDateRangeKeys.LAST_MONTH, d));
|
||||
}
|
||||
|
||||
function testThisWeek() {
|
||||
var startDates = [
|
||||
new gd(2011, 2, 28),
|
||||
new gd(2011, 2, 29),
|
||||
new gd(2011, 2, 30),
|
||||
new gd(2011, 2, 31),
|
||||
new gd(2011, 3, 1),
|
||||
new gd(2011, 2, 26),
|
||||
new gd(2011, 2, 27)
|
||||
];
|
||||
|
||||
var endDates = [
|
||||
new gd(2011, 3, 3),
|
||||
new gd(2011, 3, 4),
|
||||
new gd(2011, 3, 5),
|
||||
new gd(2011, 3, 6),
|
||||
new gd(2011, 3, 7),
|
||||
new gd(2011, 3, 1),
|
||||
new gd(2011, 3, 2)
|
||||
];
|
||||
|
||||
// 0 - is Monday, 6 is Sunday.
|
||||
for (var i = 0; i < 7; i++) {
|
||||
var date = new gd(2011, 3, 1);
|
||||
date.setFirstDayOfWeek(i);
|
||||
assertStartEnd('thisWeek, ' + i, startDates[i], endDates[i],
|
||||
gdr.thisWeek(date));
|
||||
}
|
||||
|
||||
assertStartEnd('thisWeek by key ',
|
||||
startDates[goog.i18n.DateTimeSymbols.FIRSTDAYOFWEEK],
|
||||
endDates[goog.i18n.DateTimeSymbols.FIRSTDAYOFWEEK],
|
||||
gdr.standardDateRange(gdr.StandardDateRangeKeys.THIS_WEEK,
|
||||
new gd(2011, 3, 1)));
|
||||
}
|
||||
|
||||
function testLastWeek() {
|
||||
var startDates = [
|
||||
new gd(2011, 2, 21),
|
||||
new gd(2011, 2, 22),
|
||||
new gd(2011, 2, 23),
|
||||
new gd(2011, 2, 24),
|
||||
new gd(2011, 2, 25),
|
||||
new gd(2011, 2, 19),
|
||||
new gd(2011, 2, 20)
|
||||
];
|
||||
|
||||
var endDates = [
|
||||
new gd(2011, 2, 27),
|
||||
new gd(2011, 2, 28),
|
||||
new gd(2011, 2, 29),
|
||||
new gd(2011, 2, 30),
|
||||
new gd(2011, 2, 31),
|
||||
new gd(2011, 2, 25),
|
||||
new gd(2011, 2, 26)
|
||||
];
|
||||
|
||||
// 0 - is Monday, 6 is Sunday.
|
||||
for (var i = 0; i < 7; i++) {
|
||||
var date = new gd(2011, 3, 1);
|
||||
date.setFirstDayOfWeek(i);
|
||||
assertStartEnd('lastWeek, ' + i, startDates[i], endDates[i],
|
||||
gdr.lastWeek(date));
|
||||
}
|
||||
|
||||
assertStartEnd('lastWeek by key',
|
||||
startDates[goog.i18n.DateTimeSymbols.FIRSTDAYOFWEEK],
|
||||
endDates[goog.i18n.DateTimeSymbols.FIRSTDAYOFWEEK],
|
||||
gdr.standardDateRange(gdr.StandardDateRangeKeys.LAST_WEEK,
|
||||
new gd(2011, 3, 1)));
|
||||
}
|
||||
|
||||
function testLastBusinessWeek() {
|
||||
var d = new gd(2008, 9, 13);
|
||||
var s = new gd(2008, 9, 6);
|
||||
var e = new gd(2008, 9, 10);
|
||||
assertStartEnd('lastBusinessWeek', s, e, gdr.lastBusinessWeek(d));
|
||||
assertStartEnd('lastBusinessWeek by key', s, e,
|
||||
gdr.standardDateRange(gdr.StandardDateRangeKeys.LAST_BUSINESS_WEEK, d));
|
||||
}
|
||||
|
||||
function testAllTime() {
|
||||
var s = new gd(0000, 0, 1);
|
||||
var e = new gd(9999, 11, 31);
|
||||
assertStartEnd('allTime', s, e, gdr.allTime());
|
||||
assertStartEnd('allTime by key', s, e,
|
||||
gdr.standardDateRange(gdr.StandardDateRangeKeys.ALL_TIME));
|
||||
}
|
||||
|
||||
function testIterator() {
|
||||
var s = new gd(2008, 9, 1);
|
||||
var e = new gd(2008, 9, 10);
|
||||
var i = new gdr(s, e).iterator();
|
||||
assertTrue('day 0', new gd(2008, 9, 1).equals(i.next()));
|
||||
assertTrue('day 1', new gd(2008, 9, 2).equals(i.next()));
|
||||
assertTrue('day 2', new gd(2008, 9, 3).equals(i.next()));
|
||||
assertTrue('day 3', new gd(2008, 9, 4).equals(i.next()));
|
||||
assertTrue('day 4', new gd(2008, 9, 5).equals(i.next()));
|
||||
assertTrue('day 5', new gd(2008, 9, 6).equals(i.next()));
|
||||
assertTrue('day 6', new gd(2008, 9, 7).equals(i.next()));
|
||||
assertTrue('day 7', new gd(2008, 9, 8).equals(i.next()));
|
||||
assertTrue('day 8', new gd(2008, 9, 9).equals(i.next()));
|
||||
assertTrue('day 9', new gd(2008, 9, 10).equals(i.next()));
|
||||
assertThrows('day 10', goog.bind(i.next, i));
|
||||
}
|
||||
|
||||
function testContains() {
|
||||
var r = new gdr(new gd(2008, 9, 10), new gd(2008, 9, 12));
|
||||
assertFalse('min date', r.contains(goog.date.DateRange.MINIMUM_DATE));
|
||||
assertFalse('9/10/2007', r.contains(new gd(2007, 9, 10)));
|
||||
assertFalse('9/9/2008', r.contains(new gd(2008, 9, 9)));
|
||||
assertTrue('9/10/2008', r.contains(new gd(2008, 9, 10)));
|
||||
assertTrue('9/11/2008', r.contains(new gd(2008, 9, 11)));
|
||||
assertTrue('9/12/2008', r.contains(new gd(2008, 9, 12)));
|
||||
assertFalse('9/13/2008', r.contains(new gd(2008, 9, 13)));
|
||||
assertFalse('max date', r.contains(goog.date.DateRange.MAXIMUM_DATE));
|
||||
}
|
||||
|
||||
function assertStartEnd(name, start, end, actual) {
|
||||
assertTrue(
|
||||
name + ' start should be ' + start + ' but was ' + actual.getStartDate(),
|
||||
start.equals(actual.getStartDate()));
|
||||
assertTrue(
|
||||
name + ' end should be ' + end + ' but was ' + actual.getEndDate(),
|
||||
end.equals(actual.getEndDate()));
|
||||
}
|
||||
Reference in New Issue
Block a user