123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396 |
- module('Options', {
- setup: function(){},
- teardown: function(){
- return
- $('#qunit-fixture *').each(function(){
- var t = $(this);
- if ('datetimepicker' in t.data())
- t.data('datetimepicker').picker.remove();
- });
- }
- });
- test('Autoclose', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- autoclose: true,
- minView: 2,
- viewSelect: 2
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.is(':visible'), 'Picker is visible');
- target = picker.find('.datetimepicker-days tbody td:nth(7)');
- equal(target.text(), '4'); // Mar 4
- target.click();
- ok(picker.is(':not(:visible)'), 'Picker is hidden');
- datesEqual(dp.date, UTCDate(2012, 2, 4));
- datesEqual(dp.viewDate, UTCDate(2012, 2, 4));
- });
- test('Startview: year view (integer)', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 3,
- viewSelect: 2
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':not(:visible)'), 'Days view hidden');
- ok(picker.find('.datetimepicker-months').is(':visible'), 'Months view visible');
- ok(picker.find('.datetimepicker-years').is(':not(:visible)'), 'Years view hidden');
- });
- test('Startview: year view (string)', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 'year',
- viewSelect: 2
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':not(:visible)'), 'Days view hidden');
- ok(picker.find('.datetimepicker-months').is(':visible'), 'Months view visible');
- ok(picker.find('.datetimepicker-years').is(':not(:visible)'), 'Years view hidden');
- });
- test('Startview: decade view (integer)', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 4
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':not(:visible)'), 'Days view hidden');
- ok(picker.find('.datetimepicker-months').is(':not(:visible)'), 'Months view hidden');
- ok(picker.find('.datetimepicker-years').is(':visible'), 'Years view visible');
- });
- test('Startview: decade view (string)', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 'decade'
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':not(:visible)'), 'Days view hidden');
- ok(picker.find('.datetimepicker-months').is(':not(:visible)'), 'Months view hidden');
- ok(picker.find('.datetimepicker-years').is(':visible'), 'Years view visible');
- });
- test('Today Button: today button not default', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd'
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':visible'), 'Days view visible');
- ok(picker.find('.datetimepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible');
- });
- test('Today Button: today visibility when enabled', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- todayBtn: true
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':visible'), 'Days view visible');
- ok(picker.find('.datetimepicker-days tfoot .today').is(':visible'), 'Today button visible');
- picker.find('.datetimepicker-days thead th.switch').click();
- ok(picker.find('.datetimepicker-months').is(':visible'), 'Months view visible');
- ok(picker.find('.datetimepicker-months tfoot .today').is(':visible'), 'Today button visible');
- picker.find('.datetimepicker-months thead th.switch').click();
- ok(picker.find('.datetimepicker-years').is(':visible'), 'Years view visible');
- ok(picker.find('.datetimepicker-years tfoot .today').is(':visible'), 'Today button visible');
- });
- test('Today Button: data-api', function(){
- var input = $('<input data-date-today-btn="true" />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd'
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':visible'), 'Days view visible');
- ok(picker.find('.datetimepicker-days tfoot .today').is(':visible'), 'Today button visible');
- });
- test('Today Button: moves to today\'s date', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- todayBtn: true
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':visible'), 'Days view visible');
- ok(picker.find('.datetimepicker-days tfoot .today').is(':visible'), 'Today button visible');
- target = picker.find('.datetimepicker-days tfoot .today');
- target.click();
- var d = new Date(),
- today = UTCDate(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds());
- datesEqual(dp.viewDate, today);
- //datesEqual(dp.date, UTCDate(2012, 2, 5));
- });
- test('Today Button: "linked" selects today\'s date', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- todayBtn: "linked"
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':visible'), 'Days view visible');
- ok(picker.find('.datetimepicker-days tfoot .today').is(':visible'), 'Today button visible');
- target = picker.find('.datetimepicker-days tfoot .today');
- target.click();
- var d = new Date(),
- today = UTCDate(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds());
- datesEqual(dp.viewDate, today);
- datesEqual(dp.date, today);
- });
- test('Today Highlight: today\'s date is not highlighted by default', patch_date(function(Date){
- Date.now = UTCDate(2012, 2, 15);
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd'
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':visible'), 'Days view visible');
- equal(picker.find('.datetimepicker-days thead .switch').text(), 'March 2012', 'Title is "March 2012"');
- target = picker.find('.datetimepicker-days tbody td:contains(15)');
- ok(!target.hasClass('today'), 'Today is not marked with "today" class');
- target = picker.find('.datetimepicker-days tbody td:contains(14)');
- ok(!target.hasClass('today'), 'Yesterday is not marked with "today" class');
- target = picker.find('.datetimepicker-days tbody td:contains(16)');
- ok(!target.hasClass('today'), 'Tomorrow is not marked with "today" class');
- }));
- test('Today Highlight: today\'s date is highlighted when not active', patch_date(function(Date){
- Date.now = new Date(2012, 2, 15);
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-03-05')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- todayHighlight: true
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days').is(':visible'), 'Days view visible');
- equal(picker.find('.datetimepicker-days thead .switch').text(), 'March 2012', 'Title is "March 2012"');
- target = picker.find('.datetimepicker-days tbody td:contains(15)');
- ok(target.hasClass('today'), 'Today is marked with "today" class');
- target = picker.find('.datetimepicker-days tbody td:contains(14)');
- ok(!target.hasClass('today'), 'Yesterday is not marked with "today" class');
- target = picker.find('.datetimepicker-days tbody td:contains(16)');
- ok(!target.hasClass('today'), 'Tomorrow is not marked with "today" class');
- }));
- test('DaysOfWeekDisabled', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2012-10-26')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- daysOfWeekDisabled: '1,5'
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- target = picker.find('.datetimepicker-days tbody td:nth(22)');
- ok(target.hasClass('disabled'), 'Day of week is disabled');
- target = picker.find('.datetimepicker-days tbody td:nth(24)');
- ok(!target.hasClass('disabled'), 'Day of week is enabled');
- target = picker.find('.datetimepicker-days tbody td:nth(26)');
- ok(target.hasClass('disabled'), 'Day of week is disabled');
- });
- test('startDate: Custom value', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2013-01-25')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 2,
- startDate: "2013-01-24 15:30",
- viewSelect: 2
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days tbody tr:nth(3) td:nth(2)').hasClass('disabled'), 'The previous day is disabled');
- target = picker.find('.datetimepicker-days tbody tr:nth(3) td:nth(4)')
- ok(!target.hasClass('disabled'), 'The starting day is enabled');
- target.click()
- ok(picker.find('.datetimepicker-hours tbody span:nth(14)').hasClass('disabled'), 'The previous hour is disabled');
- target = picker.find('.datetimepicker-hours tbody span:nth(15)')
- ok(!target.hasClass('disabled'), 'The starting hour is enabled');
- target.click()
- ok(picker.find('.datetimepicker-minutes tbody span:nth(5)').hasClass('disabled'), 'The previous minute is disabled');
- ok(!picker.find('.datetimepicker-minutes tbody span:nth(6)').hasClass('disabled'), 'The starting minute is enabled');
- });
- test('startDate: Custom value', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2013-01-25')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 2,
- startDate: "2013-01-24 15:30",
- viewSelect: 2
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days tbody tr:nth(3) td:nth(3)').hasClass('disabled'), 'The previous day is disabled');
- target = picker.find('.datetimepicker-days tbody tr:nth(3) td:nth(4)')
- ok(!target.hasClass('disabled'), 'The starting day is enabled');
- target.click()
- ok(picker.find('.datetimepicker-hours tbody span:nth(14)').hasClass('disabled'), 'The previous hour is disabled');
- target = picker.find('.datetimepicker-hours tbody span:nth(15)')
- ok(!target.hasClass('disabled'), 'The starting hour is enabled');
- target.click()
- ok(picker.find('.datetimepicker-minutes tbody span:nth(5)').hasClass('disabled'), 'The previous minute is disabled');
- ok(!picker.find('.datetimepicker-minutes tbody span:nth(6)').hasClass('disabled'), 'The starting minute is enabled');
- });
- test('endDate: Custom value', function(){
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2013-01-25')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 2,
- endDate: "2013-01-24 15:30",
- viewSelect: 2
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker,
- target;
- input.focus();
- ok(picker.find('.datetimepicker-days tbody tr:nth(3) td:nth(5)').hasClass('disabled'), 'The next day is disabled');
- target = picker.find('.datetimepicker-days tbody tr:nth(3) td:nth(4)')
- ok(!target.hasClass('disabled'), 'The last day is enabled');
- target.click()
- ok(picker.find('.datetimepicker-hours tbody span:nth(16)').hasClass('disabled'), 'The next hour is disabled');
- target = picker.find('.datetimepicker-hours tbody span:nth(15)')
- ok(!target.hasClass('disabled'), 'The last hour is enabled');
- target.click()
- ok(picker.find('.datetimepicker-minutes tbody span:nth(7)').hasClass('disabled'), 'The next minute is disabled');
- ok(!picker.find('.datetimepicker-minutes tbody span:nth(6)').hasClass('disabled'), 'The last minute is enabled');
- });
- test('zIndex: set in options', function(){
- var zIndex = 77;
- var input = $('<input />')
- .appendTo('#qunit-fixture')
- .val('2013-01-25')
- .datetimepicker({
- format: 'yyyy-mm-dd',
- startView: 2,
- endDate: "2013-01-24 15:30",
- viewSelect: 2,
- zIndex: zIndex
- }),
- dp = input.data('datetimepicker'),
- picker = dp.picker;
- ok(parseInt(picker.css('z-index'), 10) == zIndex, 'has a value defined in the options');
- });
|