dongfeng-pay/boss/static/lib/bootstrap-datetimepicker/tests/suites/events.js

81 lines
2.8 KiB
JavaScript
Raw Permalink Normal View History

2021-04-27 15:33:49 +08:00
module('Events', {
setup: function(){
this.input = $('<input type="text" value="31-03-2011">')
.appendTo('#qunit-fixture')
.datetimepicker({format: "dd-mm-yyyy"})
.focus(); // Activate for visibility checks
this.dp = this.input.data('datetimepicker')
this.picker = this.dp.picker;
},
teardown: function(){
this.picker.remove();
}
});
test('Selecting a year from decade view triggers pickYear', function(){
var target,
triggered = 0;
this.input.on('changeYear', function(){
triggered++;
});
equal(this.dp.viewMode, 2);
target = this.picker.find('.datetimepicker-days thead th.switch');
ok(target.is(':visible'), 'View switcher is visible');
target.click();
ok(this.picker.find('.datetimepicker-months').is(':visible'), 'Month picker is visible');
equal(this.dp.viewMode, 3);
// Not modified when switching modes
datesEqual(this.dp.viewDate, UTCDate(2011, 2, 31));
datesEqual(this.dp.date, UTCDate(2011, 2, 31));
target = this.picker.find('.datetimepicker-months thead th.switch');
ok(target.is(':visible'), 'View switcher is visible');
target.click();
ok(this.picker.find('.datetimepicker-years').is(':visible'), 'Year picker is visible');
equal(this.dp.viewMode, 4);
// Not modified when switching modes
datesEqual(this.dp.viewDate, UTCDate(2011, 2, 31));
datesEqual(this.dp.date, UTCDate(2011, 2, 31));
// Change years to test internal state changes
target = this.picker.find('.datetimepicker-years tbody span:contains(2010)');
target.click();
equal(this.dp.viewMode, 3);
// Only viewDate modified
datesEqual(this.dp.viewDate, UTCDate(2010, 2, 1));
datesEqual(this.dp.date, UTCDate(2011, 2, 31));
equal(triggered, 1);
});
test('Selecting a month from year view triggers pickMonth', function(){
var target,
triggered = 0;
this.input.on('changeMonth', function(){
triggered++;
});
equal(this.dp.viewMode, 2);
target = this.picker.find('.datetimepicker-days thead th.switch');
ok(target.is(':visible'), 'View switcher is visible');
target.click();
ok(this.picker.find('.datetimepicker-months').is(':visible'), 'Month picker is visible');
equal(this.dp.viewMode, 3);
// Not modified when switching modes
datesEqual(this.dp.viewDate, UTCDate(2011, 2, 31));
datesEqual(this.dp.date, UTCDate(2011, 2, 31));
target = this.picker.find('.datetimepicker-months tbody span:contains(Apr)');
target.click();
equal(this.dp.viewMode, 2);
// Only viewDate modified
datesEqual(this.dp.viewDate, UTCDate(2011, 3, 1));
datesEqual(this.dp.date, UTCDate(2011, 2, 31));
equal(triggered, 1);
});