From 8babfbd56b2ecfd3915ad8e5356f46499c340a5b Mon Sep 17 00:00:00 2001 From: Andrew Rowls Date: Sun, 27 May 2012 00:47:31 -0400 Subject: [PATCH] Add tests for today button functionality --- tests/suites/options.js | 82 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/tests/suites/options.js b/tests/suites/options.js index 0347c8c..97faa94 100644 --- a/tests/suites/options.js +++ b/tests/suites/options.js @@ -105,3 +105,85 @@ test('Startview: decade view (string)', function(){ ok(picker.find('.datepicker-months').is(':not(:visible)'), 'Months view hidden'); ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); }); + +test('Today Button: today button not default', function(){ + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':not(:visible)'), 'Today button not visible'); +}); + +test('Today Button: today visibility when enabled', function(){ + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + todayBtn: true + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-days thead th.switch').click(); + ok(picker.find('.datepicker-months').is(':visible'), 'Months view visible'); + ok(picker.find('.datepicker-months tfoot .today').is(':visible'), 'Today button visible'); + + picker.find('.datepicker-months thead th.switch').click(); + ok(picker.find('.datepicker-years').is(':visible'), 'Years view visible'); + ok(picker.find('.datepicker-years tfoot .today').is(':visible'), 'Today button visible'); +}); + +test('Today Button: data-api', function(){ + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd' + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); +}); + +test('Today Button: selects today\'s date', function(){ + var input = $('') + .appendTo('#qunit-fixture') + .val('2012-03-05') + .datepicker({ + format: 'yyyy-mm-dd', + todayBtn: true + }), + dp = input.data('datepicker'), + picker = dp.picker, + target; + + input.focus(); + ok(picker.find('.datepicker-days').is(':visible'), 'Days view visible'); + ok(picker.find('.datepicker-days tfoot .today').is(':visible'), 'Today button visible'); + + target = picker.find('.datepicker-days tfoot .today'); + target.click(); + + var d = new Date(), + today = new Date(d.getFullYear(), d.getMonth(), d.getDate()) + datesEqual(dp.viewDate, today); + datesEqual(dp.date, today); +});