diff --git a/src/main/js/Widgets/DateTimePicker.js b/src/main/js/Widgets/DateTimePicker.js
index 8e5a84e..0ba85a9 100644
--- a/src/main/js/Widgets/DateTimePicker.js
+++ b/src/main/js/Widgets/DateTimePicker.js
@@ -254,9 +254,9 @@ class DateTimePicker {
// Setup year dropdown
html = '
';
- const startYear = this.date.getFullYear() - 10;
- const endYear = this.date.getFullYear() + 10;
- for (let i = startYear; i < endYear; i++) {
+ const startYear = this.date.getFullYear() - 100;
+ const endYear = this.date.getFullYear();
+ for (let i = startYear; i <= endYear; i++) {
html += `
${i}
`;
}
html += '
';
diff --git a/src/test/js/Widgets.DateTimePickerTest.js b/src/test/js/Widgets.DateTimePickerTest.js
index cb1541c..84a0219 100644
--- a/src/test/js/Widgets.DateTimePickerTest.js
+++ b/src/test/js/Widgets.DateTimePickerTest.js
@@ -67,4 +67,17 @@ describe('DateTimePicker class tests', function() {
assert.equal(this.dateWidget.previousMonth().monthDisplay.getDataAttribute('month'), 3); // April
assert.equal(this.dateWidget.previousMonth().monthDisplay.getDataAttribute('month'), 2); // March
});
+
+ it('year-range', function() {
+ // check that the list starts from a 100 years before the current year and make
+ // sure it contains each year after that. Total 100 entries should be present.
+ var newDate = new Date();
+ newDate.setYear(2000);
+ this.dateWidget.setDate(newDate);
+ var startYear = new Date().getFullYear() - 100;
+ this.dateWidget.years.getChildren().each(function (year) {
+ assert.equal(year.getDataAttribute('year'), startYear++)
+ });
+ assert(this.dateWidget.years.getChildren().length, 100);
+ });
});