module('Keyboard Navigation (All)', {

setup: function(){
    this.input = $('<input type="text">')
                    .appendTo('#qunit-fixture')
                    .datepicker({format: "dd-mm-yyyy"})
                    .focus(); // Activate for visibility checks
    this.dp = this.input.data('datepicker');
    this.picker = this.dp.picker;
},
teardown: function(){
    this.picker.remove();
}

});

test('TAB hides picker', function(){

var target;

ok(this.picker.is(':visible'), 'Picker is visible');

this.input.trigger({
    type: 'keydown',
    keyCode: 9
});

ok(this.picker.is(':not(:visible)'), 'Picker is hidden');

});

test('by day (right/left arrows) with daysOfWeekDisabled', function(){

var target;

this.input.val('04-03-2013');
this.dp.setDaysOfWeekDisabled('0,6');
this.dp.update();

this.input.focus();

// Navigation: -1 day left arrow key
this.input.trigger({
    type: 'keydown',
    keyCode: 37
});

datesEqual(this.dp.viewDate, UTCDate(2013, 2, 1));

});

test('by day (right/left arrows) with datesDisabled', function(){

var target;

this.input.val('04-03-2013');
this.dp.setDatesDisabled(['05-03-2013']);
this.dp.update();

this.input.focus();

// Navigation: +1 day right arrow key
this.input.trigger({
    type: 'keydown',
    keyCode: 39
});

datesEqual(this.dp.viewDate, UTCDate(2013, 2, 6));

});